Udev Rules
Since you're using usb:, the actual permission gate isn't the ttyUSB* node (the uucp group there is irrelevant to this mode) — it's the raw USB device node under /dev/bus/usb/, which libusb opens directly. That one is typically owned root:root with no group-write bit by default, which is why sudo works but your normal user doesn't.
Fix it with a udev rule keyed to the T|X's vendor/product ID.
1. Find the IDs. With the Palm connected and mid-HotSync (since it only shows up during that window):
Look for something like Bus 001 Device 004: ID 0830:0061 Palm Inc. — the 0830 is Palm's vendor ID; note the exact vendor:product pair.
2. Create a udev rule:
sudo tee /etc/udev/rules.d/70-palm.rules > /dev/null <<'EOF'
SUBSYSTEM=="usb", ATTR{idVendor}=="0830", MODE="0666", GROUP="uucp"
EOF
Adjust idVendor if lsusb showed something different. Using just idVendor (not idProduct) is safer here since some Palm devices switch product IDs between their two enumeration states.
3. Reload udev rules:
4. Test. Since the raw device only exists transiently during HotSync, unplug/replug or just trigger another HotSync attempt with pilot-xfer -p usb: -l as your normal user (no sudo) running, and press the button. Check permissions live with:
while you press HotSync, to confirm the node comes up 666/group uucp rather than root-only.
If it still refuses without sudo after that, double check your shell session actually picked up the uucp group membership — groups should list it; if you added yourself to the group after your last login, you'll need to log out and back in (or newgrp uucp for a quick test) since group membership is read at login time, not live.