How-To: Synchronizing PalmOS devices with Ubuntu, using the J-Pilot application (including workarounds for two bugs introduced by Karmic)
Brock Riedell, Vancouver LoCo, 12 December 2009 (Thanks to Rex Alemi for discovering the key bug report that made this possible!)
I have been syncing my trusty old Palm Treo 650 to Ubuntu (using the excellent J-Pilot application) since v7.10. There are some quirks, but I've had little problem getting it working with each successive version - until Karmic. Karmic apparently 'broke' most syncing of PalmOS devices (in the experience of myself and others, resetting the Palm device every time you press the hotsync button). This is a confirmed bug; see Launchpad #421673. Apparently whenever you start a HotSync, Ubuntu's modemmanager application probes the ports and crashes the device. The workaround is to uninstall modemmanager, which you probably won't need unless you are running a plug-in wireless card.
There are numerous Palm-syncing solutions on various Ubuntu forums, but IMHO this is the simplest way to set up a modern USB-connected PalmOS device such as most Treos. These instructions assume that you are already syncing your device to another OS, and that your HotSync name is 'Bertie Wooster'.
Before you start
- Get your safety net in order. If you are syncing with another OS, make a full backup copy of your Palm user files so you can restore them to your device if anything goes wrong. In Windows, they are probably in C:\Program Files\Palm\WoosteB\, C:\Program Files\palmOne\WoosteB\, or C:\My Documents\Palm OS Desktop\WoosteB\. Also, make sure you know your Palm OS version; you will need this to configure J-Pilot correctly. You can get it off your device using the application menu's Info option; tap the [Version] button.
- Edit /etc/modules (run sudo gedit /etc/modules in a Terminal session). Just add a final line that reads simply "visor", without quotes. (This module links /dev/pilot/ with your USB port).
- Uninstall the modemmanager application completely using Synaptic Package Manager.
- Reboot (Ubuntu needs to clean out modemmanager and recognize the 'visor' module before you continue).
On Ubuntu Desktop
Set up Gnome Pilot Settings (in System > Preferences > Palm OS Devices). Write these settings down, because you'll need to set J-Pilot up the same way, and as discussed in the note below you won't be able to backtrack.
Click [Add]; Owner: Your HotSync name; in this case Bertie Wooster; PDA ID: Connect the device, click on 'Get from PDA', then press the device hotsync button, to retrieve the ID from the device. (If this hotsync still crashes your device, try temporarily stopping network-manager). Name of PDA: use default, or fine-tune if you wish; Local Folder: use default, or fine-tune; Charset of PDA: use default.
Devices tab (These settings work for my Treo 650; you may need to experiment here to get your particular model working):
Click [Add]; Name: Cradle; Type: USB; Timeout: 2; Device: /dev/pilot; Speed: 57600 (Set to the same rate as on your device, which you can look up under Preferences > Connection > Cradle/Cable > Edit > Details).
- Conduits tab: These are intended to set up syncing with Evolution. I disable all except Backup, since I want to sync with J-Pilot and not Evolution.
IMPORTANT! Do not run Gnome Pilot Settings at any time after this last step; it seems to 'break' J-Pilot's syncing. Suggestions - uncheck its menu entry on the Preferences > Main Menu list, and do not add the Gnome Pilot Applet to any panel. These steps make it unlikely that you would run it by accident.
Install J-Pilot from the Ubuntu Software Centre. (It will create an icon in the Applications > Office menu).
Run J-Pilot and set its preferences (File > Preferences): Normally it will only be necessary to change a few settings:
Settings tab - set to match the Gnome Pilot connection settings:
Serial port: select Other from the drop-down box; type /dev/pilot in the box on the right; Serial rate: 57600.
- Address and Memo tabs: You may need to change, depending on the version of Palm OS you are using.
- Conduits tab: Uncheck unneeded entries. (Most users should select just datebook, address, todo and memo).
From the J-Pilot File menu, select Install User, and enter your HotSync name (Bertie Wooster).
IMPORTANT! The current version of J-Pilot seems to have a bug that I had not encountered before. If you have set up custom categories in the standard apps on the device, and these don't exist in J-Pilot, the first sync will delete them from the Palm device. All your entries will still be there but they'll be in the Unfiled category (definitely not good!). The workaround is to set up exactly the same categories in the J-Pilot DateBook, Address Book, ToDo and Memo pages BEFORE you first sync J-Pilot with your device.
You should now be ready to start syncing. In J-Pilot (unlike Palm Desktop), you need to initiate the sync BOTH on the device and then in J-Pilot. Timing is tricky, but with practice you'll get the hang of it. For me, I push the device's HotSync button and then (about 2-3 seconds later), click the HotSync icon on the left side of the J-Pilot screen. If it's working, you'll see confirmation messages ('Starting a slow sync...' or 'Starting a fast sync...') in the status screen at the bottom of the J-Pilot window. If you receive any other message (for instance, "Push the HotSync botton now"), you'll need to start again. Cancel syncing on the device, then CLOSE down the J-Pilot application and re-open. I've never been able to get it syncing once it has failed to sync the first time, unless I close and re-open J-Pilot.
IMPORTANT! After the first device-J-Pilot sync, check (on the device and/or in J-Pilot) that the Address Book, ToDo and Memo records are properly categorized. If a number of entries are now Unfiled, you can still recover by going back to your other OS and syncing the Desktop records onto the Handheld. (Now aren't you happy that you made that backup in step 1??)
Suggestion: Once you have J-Pilot syncing to your device successfully, save a backup of your hidden /home/<user>/.jpilot directory somewhere safe. This can help you recover quickly if anything goes wrong (such as running Gnome Pilot Settings again!)
I hope this guide was of use to you, since this is how it worked for me. It is provided as is without any warranty of any kind, in the hopes that it will save some time for other people having the same problem, but you need to use it at your own risk. Please share comments and ideas on http://www.meetup.com/ubuntuvancouver