USB and Palm connection problem

Joel Hammer Joel
Mon May 17 11:46:24 PDT 2004


I went out and got a new palm, the cheapest they have, the Zire. No
backlight so that was a mistake.

ANYWAY, my old palm worked great with the cradle on the serial port. Progress
now makes me use the usb port to sync this thing. There's the rub. I cannot
connect to my Palm. (Each such progressive change usually means 5 to 8 hours
of aggravation, but I digress.)

Here is what I have done:

Plugged the Zire into my usb0 and usb1 (I hope that is the right numbering
system for these ports. I have two and tried both.) Here is what
proc/bus/usb/devices shows after I press the sync button:

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 18 Spd=12  MxCh= 0
D:  Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=16 #Cfgs=  1
P:  Vendor=0830 ProdID=0070 Rev= 1.00
S:  Manufacturer=Palm, Inc.
S:  Product=Palm Handheld
S:  SerialNumber=PalmSN12345678
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  2mA
I:  If#= 0 Alt= 0 #EPs= 4 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
E:  Ad=81(I) Atr=02(Bulk) MxPS=  16 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS=  16 Ivl=0ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms


So, the palm is detected nicely. I suspect that the problem is in line I:
There is no driver detected.  I found a usb guide that says the following:

     This serial driver supports a wide range of USB to serial
     adapters. It also allows communication with the Handspring
     Visor. You need to turn on USB Serial Converter support,
     and then select whichever of the various particular drivers
     you need. The Generic Serial Driver can be used with a wide
     range of converters, by specifying the vendor and product
     ID codes when you load the USB serial converter module:
     insmod usb-serial.o vendor=0xVVVV product-0xPPPP, where
     you need to change the VVVV and PPPP to match your device.


So, I found a module usbserial.o, and loaded it with the appropriate
options, like so:
insmod /lib/modules/2.4.19/kernel/drivers/usb/serial/usbserial.o
vendor=0x0830 product-0x0070
This loaded nicely, but I still get the same Driver=(none) in
/proc/bus/usb/devices.

I must say this seems odd to me. Does this mean you have to add a
usbserial module for each usb serial device you want to use? If so, how
does the driver know which usb port to service? This makes no sense to me.

I also did a mknod for two usb devices:
mknod /dev/usb/ttyUSB0 c 188 0
mknod /dev/usb/ttyUSB1 c 188 1

and I linked /dev/pilot to ttyUSB0 and ttyUSB1 in sequential tries. 

I still get an error when trying to connect to /dev/pilot.

Any insight appreciated.

Thanks,
Joel



More information about the Linux-users mailing list