Synchronizing PalmOS devices with Linux
Smart handheld devices or personal digital assistants (PDA) extend our access to the information on our desktops, from addresses to telephone numbers. Unfortunately, when it comes to vendor support for synchronizing this information with a *nix operating system, the options are limited. In this article, we'll review the various GPL-based suites available for synchronizing PalmOS-based devices with Linux.
Various open source projects offer handheld synchronization. GNOME Pilot for GNOME users, KPilot aims to please the KDE crowd and ColdSync is for non-GUI enthusiasts. Among the earliest such software are J-Pilot and PilotManager.
Your first step in trying to use any of the aforementioned packages is to assure that your desktop system can detect the PDA hardware. You may need to load a few a kernel modules or even recompile your kernel to make it work, but chances are that won't be necessary; virtually all modern distros come with a preconfigured kernel capable of detecting most USB hardware and PalmOS devices.
To start, execute the following queries from the command line:
dmesg | egrep usb and
lspci -v. The output should tell you about the hardware your system recognizes. If you see any errors or warnings, then you need to follow the typical drill for hardware detection on Linux, which is to search for the appropriate drivers and modify your kernel either through recompilation or through module loading.
Once you know your system is aware of its USB hardware, the second step involves checking and loading the kernel modules necessary for the syncing process. These modules are standard in most recent kernels, so the process should be straightforward unless you have an old or non-standard kernel. Execute
modprobe usbserial to load the USB Serial Driver, then check your system log using
tail -f /var/log/messages. You should see a line like
kernel: usbserial.c: USB Serial support registered for Generic.
Next you need to load the
visor module, which is at the heart of the syncing process.Execute
modprobe visor. You should see a message like the following in your logs:
kernel: usb-serial.c: USB Serial support registered for Handspring Visor / Palm OS. As a final check, invoke the
lsmod command to see the loaded kernel modules. You should see both the
visor modules in the output.
Once you know that your USB port and handheld hardware are being detected, your next step should be installing pilot-link. This package contains what it dubs conduits, which play a critical role in enabling any of the aforementioned packages for syncing handhelds. Conduits are small daemon-like applications that allow you to move information from your handheld to your workstation.
You can install pilot-link either through a binary package or through the classical source code build process (
./configure;make;make all). After installation, verify that pilot-link's library path is included in the ld.so.conf file, and execute
ldconfig to appropriatly link the package libraries, a process that will avoid a reboot. Linking pilot-link's libraries is necessary before installing any software syncing suite, given their dependencies on this package.
We will now address a particular syncing suite : J-Pilot. J-Pilot is available in RPM, Debian, or Slackware binaries or through source code. After installing it you can start it up with the command
J-Pilot's interface has calendar, address, to-do, and memo sections, and offers editing, sorting, and syncing options. But before you can copy your Palm information onto your Linux workstation, you need to take one more step. J-Pilot by default is configured to search for your handheld at /dev/pilot, while your Linux distribution will surely assign your hardware to the typical USB address of /dev/usb/ttyUSB0 or /dev/usb/ttyUSB1.
You can create a soft link between the two with the command
ln -s /dev/usb/ttyUSB0 /dev/pilot, assuming your handheld was assigned to /dev/usb/ttyUSB0. Finally, by selecting the Sync option in J-Pilot, you will be prompted to press the sync button on your handheld cradle, at which time your information will be downloaded to your Linux workstation.
J-Pilot is a helpful application for sharing important data between Linux and PalmOS-based devices. It and the other software suites in the same realm can help you unlock the information residing on your handheld devices for Linux, and vice versa.