Easy Palm Device Setup

Most other instructions on how to setup and sync Palm devices on Linux with USB cradles involve Hotsync Button voodoo. This document will give instructions for two methods (the newer libusb and the older custom UDEV rule / visor module method) to setup Palm device without having to even think about /dev/ttyUSB1. Behold the power of UDEV...

Method #1: libusb (newer)

For Jaunty Jackalope and newer systems using USB cradle/cable syncing this is the preferred method and should "just work". While settings are for gnome-pilot / evolution they are similar in J-Pilot (and probably others like kpilot):

Setup Gnome-Pilot / Evolution to use libusb

  1. Starts the "gnome-pilot Settings" program by either:
    • 1a. Go to System -> Preferences -> PalmOS Devices

      • -OR-
      1b. Open a terminal window and type
            gpilotd-control-applet
  2. Under Devices Tab -> (select your device) -> Edit -> Device: usb:

    • gnome-pilotDeviceSettings1.png

  3. Complete settings in "gnome-pilot Settings" and close it.

Method #1 Notes

Gnome-Pilot / Evolution Syncing

Note: these syncing instructions should work with either the libusb or visor module method.

  1. Either
    • 1a. Press your Palm Pilot's hotsync button and it may sync as is
      • -OR- to monitor gnome-pilot's progress...
      1b. In a terminal window and type
            gpilotd
      • 1b1. Press your Palm device's hotsync button and watch gnome-pilot's progress in the terminal window 1b2. After sync completion stop gpilotd by typing in the same terminal window you started gpilotd from:
                ctrl-c
  2. In a terminal window type
    •       killall gpilotd

      When testing in Lucid Lynx and gpilotd 2.0.17-ubuntu5 with a Treo 700p the original author of this method (nUboon2Age June 23, 2010), found this step avoided problems caused by the gpilotd daemon.

J-Pilot Syncing

  1. Push Palm hotsync button
  2. Start J-Pilot sync

General notes applying to both methods


Method #2 Custom UDEV Rules / visor Module (older)

This second method comes originated from the Unofficial Ubuntu Guide and the document "Writing UDEV rules".

Note: It appears this method was working for gnome-pilot and definitely for J-Pilot on Ubuntu Breezy Badger through Karmic Koala.

Write a custom UDEV rule

  1. Create/Edit the file /etc/udev/rules.d/010-custom.rules. One way is by
    • Open a terminal window by going to Applications -> System Tools -> Terminal

    • Type the following line (including for Jaunty 9.04): (enter your password when asked)
      gksudo gedit /etc/udev/rules.d/010-custom.rules
      -OR- for Kubuntu (Triple left click it. Then right click for copy and paste.)
      sudo kate /etc/udev/rules.d/010-custom.rules
  2. Insert the following line into the file:
    • BUS="usb", SYSFS{product}="Palm Handheld*", KERNEL="ttyUSB*", NAME{ignore_remove}="pilot", MODE="666"
    • For older Ubuntu 5.10 (Breezy Badger) you may need to use "==" instead of "=" for some options. For example:
      BUS=="usb", SYSFS{product}=="Palm Handheld*", KERNEL=="ttyUSB[13579]", NAME="pilot", GROUP="uucp", MODE="0660"
  3. Save the file, close the editor application, and close the terminal window.

Note: the file name could be anything since any .rules files in that directory can work. However this name was chosen to be descriptive and to make sure it would load first since they are processed in lexical order (ie. Ubuntu 5.10 (Breezy Badger) reportedly has a 020_permissions.rules file).

Add the visor module to the kernel

For Ubuntu 7.04 (Feisty Fawn), 7.10 (Gutsy Gibbon), 8.04 ( Hardy Heron) and 9.04 (Jaunty Jackalope) if after trying the writing a custom UDEV rule its still not working:

Conclusion

There you go. These custom UDEV rules redirect Gnome-pilot and other sync applications away from their default /dev/pilot to now look for the device at /dev/USB* (or wherever you instruct it). This simple fix allows your Palm device to finally be plug-and-play.

Method #2 Notes

Method #2 Notes From Other Reporters

* If your sync doesn't work, before immediately creating a new UDEV rule, check if you don't already have a similar rule or line related to a Palm device. In Ubuntu 5.10. Reporter had 2 custom rules (created before, in previous attempts) plus a basic one in the udev.rules file. To make it work, reporter had to delete all rules or lines related to Palm in my udev tree. Then create a brand new one as explained. Then test the results by pressing the hotsync button and doing a ls -l /dev/ttyUSB* or ls -l /dev/pilo*. Something must show up if the rule is working. Then gnomepilot/jpilot/kpilot or whatever should work.

Method #2 Notes by Specific Devices and Ubuntu Version

Treo 650

Important for all Treo 650 users trying to sync with Evolution: before doing anything, you should make sure that you add the lines <!-- Treo 650 --> and <device vendor_id="0830" product_id="0061" /> to your /usr/share/gnome-pilot/devices.xml file. Without this line, your Treo will behave erratically when syncing and may crash Gnome Pilot (especially if you are trying to sync tasks).

Treo 650 on Ubuntu 5.10 - Breezy Badger

Treo 650 on Ubuntu 6.10 - Edgy Eft

Created a file named "/etc/udev/rules.d/010-custom.rules" containing

Then did "/etc/init.d/udev restart". Synchronization didn't work until J-Pilot was set to 57600. Now it syncs every time.

Handspring Visor Prism(color) on Ubuntu 9.04 - Jaunty Jackalope

Works and requires the visor module method to load on boot.

Treo 680 on Ubuntu 7.04 - Feisty Fawn

Reporter found that Feisty comes with all the right settings; notably no changes are needed to the rules files. However, the rules are set up such that the link /dev/pilot is created dynamically when the OS recognizes the palm device, at the time the hotsync button is pressed. This has complications for the sync software such as kpilot.

The sync software (notably the daemon that's opening the device node) must be started _after_ the hotsync button is pressed. Otherwise the OS might reassign the device node and the daemon will be looking at a stale device node.

This can be avoided by having the sync software talk to /dev/ttyUSB0 directly, rather than via the /dev/pilot, but if you use multiple serial devices, then they might confuse each other, as the OS will pick the next free device node, e.g. ttyUSB1, ...

Treo 755p on Ubuntu 8.04 - Hardy Heron

Treo isn't detected after hitting the sync button on the USB cable until a "lsusb" command is issued in the terminal. Then, it syncs properly via gnome-pilot. Note: Reporter had to load the "visor" module but didn't have to alter any udev config files.

Palm Centro

Palm Centro on Ubuntu 8.10 - Hardy Heron (amd64)

Evolution syncing with Palm Centro worked well after following the instructions above.

Palm Centro on Ubuntu 9.04 - Jaunty Jackalope (amd64)

Just use usb: (libusb) instead of /dev/pilot (visor module) and it will work fine for usb cradle synchronization.

Palm TX on Ubuntu 9.04 - Jaunty Jackalope

in /etc/udev/rules.d/10-custom.rules, add the line (all on one line):

The Palm TX identifies itself as "Handspring Visor", not with a string starting with "Palm"

Palm T5 on Ubuntu 9.10 - Karmic Koala

With this combination, following the visor module method above, any attempt at syncing panics the Palm.

The workaround is File|Preferences|Conduits then disable all conduits except memo. This should permit you to sync successfully. Then enable one more conduit at a time until you find the culprit or you have all the conduits working that you require.

Categories Problem

With the above combination, sync removes all categories. This leaves all memo entries set to 'unfiled'.


CategoryPDA

PalmDeviceSetup (last edited 2010-08-24 17:13:43 by pool-71-97-184-190)