Here is the cheap - and probably dirty - trick I used to sync (via USB) my Palm Zire to my Linux box (actually a SuSE 7.3, with a 2.4.10-SuSE kernel). This device is naturally supported from kernel 2.4.20, but if - as I did - you don't want to change your whole kernel (too slow a connection) or wait for the next release of your favorite distro (too long), here is what you can do. I assume your kernel is 2.4.10 or newer, and therefore naturally includes the visor driver with support for USB-connected Palm devices and PalmOS 4.0 hack. Maybe you can do it with earlier 2.4 kernel, but not sure... (let me know if it works)
Disclaimer: I'm no way close to be a kernel hacker. The trick worked for me, no garantee it will work for you!
Following the Palm ZIRE drivers/usb/serial/visor patch from David Garcia, I directly hacked the original driver sources visor.c and visor.h, maintained by Greg Kroah-Hartman. As for me, it was version 1.4 (08/30/2001). So, here are the steps:
#define PALM_ZIRE_ID 0x0070
static __devinitdata struct usb_device_id palm_zire_id_table [] = {
{ USB_DEVICE(PALM_VENDOR_ID, PALM_ZIRE_ID) },
{ } /* Terminating entry */ };
make modules SUBDIRS=drivers/usb/serial make modules_install SUBDIRS=drivers/usb/serialI did not test the previous commands, and as for me, I used to compile this single module (as root), with a command such as
gcc -D__KERNEL__
-I/usr/src/linux-2.4.10.SuSE/include -Wall -Wstrict-prototypes
-Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing
-fno-common -pipe -mpreferred-stack-boundary=2 -march=i586
-DMODULE -c -o visor.o visor.c
and to replace the initial module visor.o (most probably
somewhere like /lib/modules/2.4.10/drivers/usb/serial/ by
the brand new module.
You should be all set: you can now hotplug your Zire, and sync it e.g., with J-Pilot. Note that you probably need a recent version of Pilot-link (mine was v0.11.7, but any 0.11.x version should do it). Let me know if it works with you!
By the way, the Palm Zire looks like is a
cheap and nice little machine!
Antonio Giungato applied the previous trick to add support for the Palm Zire71 to his 2.4.20 kernel, by defining the following device in visor.h:
#define PALM_ZIRE71_ID 0x0060and adding the corresponding lines to visor.c.
Most probably the trick would work equally well for other similar devices, once the vendor/product ID (e.g. 0830/0x070 for Palm Zire) is known. Have a look in e.g., /var/log/syslog after having plugged your device to know the vendor/product IDs.
For the latest developments regarding these matters (driver model updates and prod/vendor ID strings), have a look at the Device matrix and Visor structures of the pilot-link.org WIKI (thanks to David A. Desrosiers, maintainer of pilot-link)
This page was last modified on Mon Aug 25 10:44:44 CEST 2003