Palm Z22 How-To

Note from the author

This guide is out of date and probably will not be updated (at least not by me). I have not had a need for, and thus have not used my Z22 since before the 7.10 release came out and thus have no idea if these instructions still work for the latest releases or not.


I struggled to get the Palm Z22 to work in Linux for quite some time. Since there was really no full reliable documentation that I could find anywhere, I decided to write this How To for anyone else out there who needs this information.

Setup for various versions of Ubuntu

Setup for 7.04 Feisty Fawn

1. The Z22 is only accessible through the visor module, so we must load it first

sudo modprobe visor

To make this load automatically at boot, add "visor" to your /etc/modules file

2. Open a terminal window and type the following

tail -f /var/log/messages

3. Plug your Z22 in via USB, you should see something similar to the following in your terminal window

Jul 30 00:58:12 lappy486 kernel: [ 1055.204000] usb 1-1: Handspring Visor / Palm OS converter now attached to ttyUSB0
Jul 30 00:58:12 lappy486 kernel: [ 1055.204000] usb 1-1: Handspring Visor / Palm OS converter now attached to ttyUSB1

If you do not see this message, skip below to the Setting up udev section

4. Go to System/Preferences/PalmOS Devices

5. Under the Devices tab, click add. Name this connection whatever you want, set the Type to USB, the timeout to 2, device to /dev/pilot and speed to 115200. Click OK

6. Go to the PDAs tab, make sure that your Z22 is connected and turned on. Click Add then Get From PDA. Then tap the HotSync icon on your PDA. It should grab the owner information from your PDA.

7. Go to the conduits tab and configure your conduits how you want them.

8. You should now be able to connect your Z22, hit hotsync and it should sync nice and smooth. I like to add the gnome-pilot applet to the panel for easy access.

Setup for 7.10 Gutsy Gibbon

1. Install the nautilus-gksu package in synaptic.

2. Go to /etc/ in the file manager , right click on the folder "modprobe.d" and select "open as administrator".

3. Open the file libpisock9 in a file editor and remove the line:

blacklist visor

3a. save the file

4. Now it will work next time you restart the computer. If you want it to work now, issue the following command in a terminal

sudo modprobe visor

...and type your user account password which you used to log in.

Setting up udev

1. Open your symlink rules for editing

sudo gedit /etc/udev/rules.d/60-symlinks.rules

2. Add the following to your 60-symlinks.rules file

# Create /dev/pilot symlink for Palm Pilots
KERNEL=="ttyUSB*", ATTRS{product}=="Palm Handheld*|Handspring *|palmOne Handheld", SYMLINK+="pilot"

Make sure that this is all on one line.

3. Save and close the file.

4. Restart udev subsystem, just to make sure the rule is loaded

sudo /etc/init.d/udev restart


1. The biggest problem I had was when I would connect my Z22 and hit hotsync, most of the time the gpilotd process would consume 100% of my processor and nothing would get done. The solution for this was changing the timeout to 2. The Z22, when you hot hotsync, actually disconnects and reconnects before attempting the sync, any other timeout values, I found, would cause gpilotd to lock the original port that the pilot was connected to then the pilot would open a new connection and try to sync on it meanwhile gpilotd was listening on the old connection. I have yet to have this race condition happen with the timeout set to "2".

2. You can find that even when "tail -f /var/log/messages" shows you the handheld attached to ttyUSB0 and ttyUSB1, the Gnome-pilot do not sync. The problem could be that Zire 22 is not described in /usr/share/gnome-pilot/devices.xml, so simply adding <!– Palm Z22 –> <device vendor_id="0830" product_id="0061" /> to that file would solve the problem.

community/PalmZ22HowTo (last edited 2008-12-02 19:49:56 by rfdeshon)