Hello,

Just though I'd report my attempts so far. Most of it is following the Visor USB HOWTO:

http://www.linuxpda.com/visor/howto/current/
Below I have included a rather detailed report. But in the end it boils down to the following:
It looks like usbserial.c has problems recognizing my m500. Sometimes it recognizes it correctly as a Palm 4.0, sometimes as a Sony Clié 3.5, and sometimes it doesn't recognize it at all... However, the sync-ing software (Coldsync) seems to work both when my m500 is recognized correctly and when it is recognized as a Sony, but not when it is not recognized at all.
For the record:
RedHat 7.1
Kernel 2.4.16 (downloaded and compiled separately)
Palm m500
Old i586
Sitecom USB<->PCI interface through USB-card with 2 ports. The box claims it is PCI v2.1 compatible, Intel UHCI V 1.1 compatible, and fully Plug&Play
My m500 cradle is the only USB device
Found out which USB controller I have with lspci:
00:14.0 USB Controller: OPTi Inc. 82C861 (rev 10)
I configured my kernel as specified by http://www.linuxpda.com/visor/howto/current/x71.html#MAKEKERNEL (all options compiled in, not as modules), but chose OHCI instead of UHCI (what's on the box) because that's how kudzu recognized the card and because UHCI does not seem to work:

Added the following line to /etc/fstab to make usb-data visible:

none  /proc/bus/usb  usbdevfs  defaults  0  0
Rebooted. Here's the log:
kernel: usb.c: registered new driver usbdevfs
kernel: usb.c: registered new driver hub
kernel: PCI: Found IRQ 12 for device 00:14.0
kernel: usb-ohci.c: USB OHCI at membase 0xc4808000, IRQ 12
kernel: usb-ohci.c: usb-00:14.0, OPTi Inc. 82C861
kernel: usb.c: new USB bus registered, assigned bus number 1
kernel: hub.c: USB hub found
kernel: hub.c: 2 ports detected
kernel: usb.c: registered new driver serial
kernel: usbserial.c: USB Serial Driver core v1.4
kernel: usbserial.c: USB Serial support registered for Handspring Visor
kernel: usbserial.c: USB Serial support registered for Palm 4.0
kernel: usbserial.c: USB Serial support registered for Sony Clié 3.5
kernel: usbserial.c: USB Serial support registered for Sony Clié 4.0
kernel: visor.c: USB HandSpring Visor, Palm m50x, Sony Clié driver v1.5
Checked to see if USB stuff was available in /proc/devices, /proc/bus/usb/devices and /proc/bus/usb/drivers.

Pressed the hotsync button:

kernel: hub.c: USB new device connect on bus1/1, assigned device number 2
kernel: usbserial.c: Palm 4.0 converter detected
kernel: visor.c: Palm 4.0: Number of ports: 2
kernel: visor.c: Palm 4.0: port 1, is for Generic use and is bound to ttyUSB0
kernel: visor.c: Palm 4.0: port 2, is for HotSync use and is bound to ttyUSB1
kernel: usbserial.c: Palm 4.0 converter now attached to ttyUSB0 (or usb/tts/0 for devfs)
kernel: usbserial.c: Palm 4.0 converter now attached to ttyUSB1 (or usb/tts/1 for devfs)
Looking good :)

Then follows (end of sync):

kernel: usb.c: USB disconnect on device 2
kernel: usbserial.c: Palm 4.0 converter now disconnected from ttyUSB0
kernel: usbserial.c: Palm 4.0 converter now disconnected from ttyUSB1
Pressed the Hotsync button again. Here I get into trouble:
kernel: hub.c: USB new device connect on bus1/1, assigned device number 3
kernel: usb.c: USB device 3 (vend/prod 0x830/0x1) is not claimed by any active driver.
The device number has gone up (is that normal?), and the device is no longer claimed by the Palm 4.0 converter. Still, the vend/prod identification 0x830/0x1 seems to match with the definitions in visor.h...
 

Rebooted and tried again :)

Pressed HotSync button: no problem. Pressed HotSync button again:

kernel: hub.c: USB new device connect on bus1/1, assigned device number 5
kernel: usbserial.c: Sony Clié 4.0 converter detected
visor.c: Sony Clié 4.0: Number of ports: 2
kernel: visor.c: Sony Clié 4.0: port 1, is for Generic use and is bound to ttyUSB0
kernel: visor.c: Sony Clié 4.0: port 2, is for HotSync use and is bound to ttyUSB1
kernel: usbserial.c: Sony Clié 4.0 converter now attached to ttyUSB0 (or usb/tts/0 for devfs)
kernel: usbserial.c: Sony Clié 4.0 converter now attached to ttyUSB1 (or usb/tts/1 for devfs)
Suddenly my Palm turned into a Sony <g>.
 

Rebooted again. Pressed HotSync button:

kernel: hub.c: USB new device connect on bus1/1, assigned device number 2
kernel: usbserial.c: Sony Clié 3.5 converter detected
kernel: usbserial.c: Sony Clié 3.5 converter now attached to ttyUSB0 (or usb/tts/0 for devfs)
Now it's recognized as a Sony (this time version 3.5) at the first connection. Moreover, it is only connected to ttyUSB0 and not to ttyUSB1.

I have rebooted a couple of times and the behaviour seems rather random.
 

It looks like usbserial.c has problems recognizing my m500. Sometimes it recognizes it correctly as a Palm 4.0, sometimes as a Sony Clié 3.5, and sometimes it doesn't recognize it at all... However, the sync-ing software (Coldsync) seems to work both when my m500 is recognized correctly and when it is recognized as a Sony, but not when it is not recognized at all.

I turned on USB debugging in my kernel and got some extra data. I can't say I know what it all means but added the logs as an attachment anyway (note that I mangled my serial ID).

I hope this is useful to someone :)

--
René Steetskamp
Webmaster Vaderschap.org
 
 
 
 
 
 
 
 
 
 

A good connection:

kernel: hub.c: port 1 connection change
kernel: hub.c: port 1, portstatus 101, change 1, 12 Mb/s
kernel: hub.c: port 1, portstatus 103, change 10, 12 Mb/s
kernel: hub.c: USB new device connect on bus1/1, assigned device number 2
kernel: usb.c: kmalloc IF c3533780, numif 1
kernel: usb.c: new device strings: Mfr=1, Product=2, SerialNumber=5
kernel: usb.c: USB device number 2 default language ID 0x409
kernel: Manufacturer: Palm, Inc.
kernel: Product: Palm Handheld
kernel: SerialNumber: [serial ID mangled]
kernel: usbserial.c: Palm 4.0 converter detected
kernel: visor.c: Palm 4.0: Number of ports: 2
kernel: visor.c: Palm 4.0: port 1, is for Generic use and is bound to ttyUSB0
kernel: visor.c: Palm 4.0: port 2, is for HotSync use and is bound to ttyUSB1
kernel: usbserial.c: Palm 4.0 converter now attached to ttyUSB0 (or usb/tts/0 for 
devfs)
kernel: usbserial.c: Palm 4.0 converter now attached to ttyUSB1 (or usb/tts/1 for 
devfs)
kernel: usb.c: serial driver claimed interface c3533780



m500 recognized as Sony:

kernel: hub.c: port 1 connection change
kernel: hub.c: port 1, portstatus 101, change 1, 12 Mb/s
kernel: hub.c: port 1, portstatus 103, change 10, 12 Mb/s
kernel: hub.c: USB new device connect on bus1/1, assigned device number 10
kernel: usb.c: kmalloc IF c3659200, numif 1
kernel: usb.c: new device strings: Mfr=1, Product=2, SerialNumber=5
kernel: usb.c: USB device number 10 default language ID 0x409
kernel: Manufacturer: Palm, Inc.
kernel: Product: Palm Handheld
kernel: SerialNumber: [serial ID mangled]
kernel: usbserial.c: Sony Cli� 4.0 converter detected
kernel: visor.c: Sony Cli� 4.0: Number of ports: 2
kernel: visor.c: Sony Cli� 4.0: port 1, is for Generic use and is bound to ttyUSB0
kernel: visor.c: Sony Cli� 4.0: port 2, is for HotSync use and is bound to ttyUSB1
kernel: usbserial.c: Sony Cli� 4.0 converter now attached to ttyUSB0 (or usb/tts/0 for 
devfs)
kernel: usbserial.c: Sony Cli� 4.0 converter now attached to ttyUSB1 (or usb/tts/1 for 
devfs)
kernel: usb.c: serial driver claimed interface c3659200
[..... half a minute later ......]
kernel: hub.c: port 1 connection change
kernel: hub.c: port 1, portstatus 100, change 3, 12 Mb/s
kernel: usb.c: USB disconnect on device 10
kernel: usbserial.c: Sony Cli� 4.0 converter now disconnected from ttyUSB0
kernel: usbserial.c: Sony Cli� 4.0 converter now disconnected from ttyUSB1
Nov 29 14:47:57 nono kernel: hub.c: port 1 enable change, status 100



Not recognized at all:

kernel: hub.c: USB new device connect on bus1/1, assigned device number 4
kernel: Manufacturer: Palm, Inc.
kernel: Product: Palm Handheld
kernel: SerialNumber: [serial ID mangled]
kernel: usb.c: USB device 4 (vend/prod 0x830/0x1) is not claimed by any active driver.
kernel:   Length              = 18
kernel:   DescriptorType      = 01
kernel:   USB version         = 1.00
kernel:   Vendor:Product      = 0830:0001
kernel:   MaxPacketSize0      = 16
kernel:   NumConfigurations   = 1
kernel:   Device version      = 1.00
kernel:   Device Class:SubClass:Protocol = 00:00:00
kernel:     Per-interface classes
kernel: Configuration:
kernel:   bLength             =    9
kernel:   bDescriptorType     =   02
kernel:   wTotalLength        = 002e
kernel:   bNumInterfaces      =   01
kernel:   bConfigurationValue =   01
kernel:   iConfiguration      =   00
kernel:   bmAttributes        =   c0
kernel:   MaxPower            =    2mA
kernel: 
kernel:   Interface: 0
kernel:   Alternate Setting:  0
kernel:     bLength             =    9
kernel:     bDescriptorType     =   04
kernel:     bInterfaceNumber    =   00
kernel:     bAlternateSetting   =   00
kernel:     bNumEndpoints       =   04
kernel:     bInterface Class:SubClass:Protocol =   ff:00:00
kernel:     iInterface          =   00
kernel:     Endpoint:
kernel:       bLength             =    7
kernel:       bDescriptorType     =   05
kernel:       bEndpointAddress    =   81 (in)
kernel:       bmAttributes        =   02 (Bulk)
kernel:       wMaxPacketSize      = 0010
kernel:       bInterval           =   00
kernel:     Endpoint:
kernel:       bLength             =    7
kernel:       bDescriptorType     =   05
kernel:       bEndpointAddress    =   01 (out)
kernel:       bmAttributes        =   02 (Bulk)
kernel:       wMaxPacketSize      = 0010
kernel:       bInterval           =   00
kernel:     Endpoint:
kernel:       bLength             =    7
kernel:       bDescriptorType     =   05
kernel:       bEndpointAddress    =   82 (in)
kernel:       bmAttributes        =   02 (Bulk)
kernel:       wMaxPacketSize      = 0040
kernel:       bInterval           =   00
kernel:     Endpoint:
kernel:       bLength             =    7
kernel:       bDescriptorType     =   05
kernel:       bEndpointAddress    =   02 (out)
kernel:       bmAttributes        =   02 (Bulk)
kernel:       wMaxPacketSize      = 0040
kernel:       bInterval           =   00
 


Reply via email to