This is a read-only archive. Find the latest Linux articles, documentation, and answers at the new!


Synchronizing PalmOS devices with Linux

By Daniel Rubio on March 17, 2005 (8:00:00 AM)

Share    Print    Comments   

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 aims at GNOME users, KPilot fits 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 usbserial and 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 file, and execute ldconfig to link the package libraries, a process that will avoid a reboot. You must link pilot-link's libraries before installing any software syncing suite, given their dependencies on this package.

As an example of a syncing suite, let's look at 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 jpilot.

JPilot thumbnail
Click to enlarge

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.

Daniel Rubio is the principal consultant at Osmosis Latina, a firm specializing in enterprise software development, training, and consulting, based in Mexico.

Share    Print    Comments   


on Synchronizing PalmOS devices with Linux

Note: Comments are owned by the poster. We are not responsible for their content.

Gnone Pilot permission issue

Posted by: Anonymous Coward on March 17, 2005 11:15 PM
Those who are planning to use Gnone Pilot may want to look at <A HREF="" title="">this posting</a> about the permission issue for non-root users.



other uses for JPilot

Posted by: Anonymous Coward on March 17, 2005 11:19 PM
Although it isn't really intended as such, I use JPilot without a PDA - as a calendar/appointment book along the lines the calendar feature of Outlook or Evolution. I don't have either GNOME or KDE libraries installed on my system (so no Evolution), nor do I run Windows, and JPilot allows me to keep things that way.


os5 support is seriously lacking

Posted by: Anonymous Coward on March 18, 2005 12:33 AM
make sure your palm is supported with usb is not difficult.

what is difficult is when complete support for os5.0 is not built into the software. none of the linux palm synching software fully support the os5 address book, memo and todo etc.

so it is more or less, a waste.

since palm have its formats as closed source there is little that can be done to change this<nobr> <wbr></nobr>:(


buggy support

Posted by: WarPengi on March 18, 2005 01:02 AM
I have found Linux support for my Palm pilot to be buggy and unreliable over the years. My 1st device was a Visor Prism and I slaved away with Mandrake 8.2 to get things working with Evolution. Eventually it did but due more to updates than to the work I did I suspect. I replaced the Visor with a Palm m515 and again things did not work until I installed a newer version of Mandrake when suddenly everything worked. Now I have a Palm Tungsten/W and I am running SuSE 9.2 x86_64. I was not able to get the device to sync with Evolution (odd since Novell now owns both Evolution and SuSE) so I switched to Kontact for email, addressbook and organiser and it works but not reliably.

Using this article I discovered that it is the visor module that is not loaded. When the Palm device is placed in the cradle and the hot sync button is pressed I need to manually open kpilot for the system to load the visor module. The system does a hotsync connection but doesn't actually sync any files. That requires a 2nd hot-sync and you have to click the hot-sync button on kpilot before pressing the hot sync button on the cradle. This level of bugginess is not good, to say the least. Especially from a vendor like SuSE.


Palm Tungsten T5

Posted by: Anonymous Coward on March 18, 2005 12:28 PM
Support is also very poor for Palm's latest offering - trying to update KDE KNotes can lockup the Palm for up to five minutes.

Very disappointed with Palm, their inability to play nice with F/OSS just demonstrates their lack of vision.


Boycott Palm finish

Posted by: Anonymous Coward on March 22, 2005 02:02 AM
They are bunch of uncaring idiots.
Stuff them.
I wonder if there is an effective way of bringing their whole enterprise down.
Interconnectivity and compatibility should be the way forward.
I am seriously mad at them.
Waste of time, energy and money.


Thanks for the info

Posted by: Anonymous Coward on April 05, 2005 07:02 AM
I had recently played with Suse 9.2 Pro, but until your article didn't realize I was missing some much needed modules. I can now successfully sync my Treo650 with USB or Bluetooth. As a thanks, enjoy this:

<a href="" title=""></a>


This story has been archived. Comments can no longer be posted.

Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya