OK everyone, don't buy another i300 serial cable. You can sync with the i500 cradle, yep. I just did it after two straight days and nights of trying different things. Here are the basics (I run Gentoo, so I am not sure exactly how this works on the more popular distros like Redhat, but if there is enough interest, I will install and figure it out if the following guidelines don't work).
First I used kernel-2.6.0-test9-mm5. Where you see my kernel version, you should substitute your kernel version. I think any kernel > 2.4.21 will do because it has the critical visor module which makes this work. So if you don't know whether or not you have this module, look in /lib/modules/2.6.0-test9-mm5/ for:
2.6.x
kernel/drivers/usb/serial/usbserial.ko
kernel/drivers/usb/serial/visor.ko
2.4.x kernel series
kernel/drivers/usb/serial/usbserial.o
kernel/drivers/usb/serial/visor.o
If you have these you should be good to go. The one thing that got me was that I didn't have Serial Generic selected when I compiled my kernel. Execution of the following command:
grep USB \ /usr/src/linux-2.6.0-test9-mm5/.config | \
grep -v "not set"
should show at least the following:
# USB Serial Converter support
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_VISOR=m
If not then you will have to role (correction - should be roll) your own kernel to add this support. Redhat rpm kernels usually have everything compiled, so there shouldn't be a need to role your own kernel for Redhat. If you need help though check google. If you still can't get it, post a reply and I will try to help you. By the way, if you recompile the kernel, remember that you will have to reboot, one of the only reasons I ever reboot Linux.
Second here are my program versions.
jpilot-0.99.5
pilot-link-0.11.8
I emerged (compiled from source for Gentoo) the above programs. Now execute:
modprobe visor
lsmod
This should show many modules to include:
Module Size Used by
visor 17004 0
usbserial 30188 1 visor
...
usbcore 122548 5 visor,usbserial,uhci_hcd
If your system is set up similar to mine then you can do the following after you sit the phone in the cradle:
more /proc/bus/usb/devices
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 2.06
S: Manufacturer=Linux 2.6.0-test9-mm5 uhci_hcd
S: Product=UHCI Host Controller
S: SerialNumber=0000:00:12.2
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 6 Spd=12 MxCh= 0
D: Ver= 1.01 Cls=02(comm.) Sub=00 Prot=00 MxPS=16 #Cfgs= 1
P: Vendor=04e8 ProdID=6601 Rev= 0.00
S: Manufacturer=SAMSUNG Electronics Co.,Ltd.
S: Product=SAMSUNG CDMA Technologies
S: SerialNumber=
C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=(none)
E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=32ms
I: If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=(none)
E: Ad=8a(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=0b(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
Notice the Samsung CDMA as the product.
Now hit the sync button on the cradle, and look at the following nodes:
If you are NOT running usbdevfs:
/dev/ttyUSB0
/dev/ttyUSB1
If you ARE running usbdevfs (a wise choice.):
/dev/usb/tts/0
/dev/usb/tts/1
Now make a link for your
Palm pilot depending on the which of the above you see. This will show up red if you are using colorized ls because the target may not exist. If you are using devfs:
cd /dev
ln -s usb/tts/1 pilot
If not then:
cd /dev
ln -s ttyUSB1 pilot
Here is what mine looks like after I hit the hotsync button:
ls -al /dev/pilot
lr-xr-xr-x 1 root root 9 Nov 24 23:36 /dev/pilot -> usb/tts/1
ls -al /dev/usb/tts/
total 0
drwxr-xr-x 1 root root 0 Dec 31 1969 .
drwxr-xr-x 1 root root 0 Dec 31 1969 ..
crw-rw---- 1 root usb 188, 0 Dec 31 1969 0
crwxrwxrwx 1 root usb 188, 1 Dec 31 1969 1
You may have to hit sync a couple of times to check for all the devices and files. Also when the sync is active you can rerun the following command to see the device is now a
Palm:
more /proc/bus/usb/devices
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 2.06
S: Manufacturer=Linux 2.6.0-test9-mm5 uhci_hcd
S: Product=UHCI Host Controller
S: SerialNumber=0000:00:12.2
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 7 Spd=12 MxCh= 0
D: Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0830 ProdID=0001 Rev= 1.00
S: Manufacturer=
Palm, Inc.
S: Product=
Palm Handheld
S: SerialNumber=SPHX3FF26779
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 2mA
I: If#= 0 Alt= 0 #EPs= 4 Cls=ff(vend.) Sub=00 Prot=00 Driver=usbserial
E: Ad=01(O) Atr=02(Bulk) MxPS= 16 Ivl=0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 16 Ivl=0ms
E: Ad=03(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=84(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
If you do not see the nodes, or you do not see the nodes appear on their own:
mknod /dev/ttyUSB0 c 188 0
mknod /dev/ttyUSB1 c 188 1
or
mkdir /dev/usb/tts
mknod /dev/usb/tts/0 c 188 0
mknod /dev/usb/tts/1 c 188 1
Now in the pilot app, in File > Preferences > Settings, set serial port to /dev/pilot. This should pretty much do it.
Now press sync in jpilot, then sync on the
Palm. It should work, but the setup can be so different between Linux versions that I cannot guarantee it will work. Like I said above I got it to run under Gentoo Linux with the app and kernel versions listed above. Hope this leads you in the right direction and keeps you from spending extra money.