[vox-tech] usb woes

Peter Jay Salzman vox-tech@lists.lugod.org
Fri, 15 Feb 2002 10:00:17 -0800


hello all,

i have *never* played with usb at all.  last night was my first attempt,
(just bought a handspring visor prism) and i'm afraid it failed.
here's what i did:


1. compiled 2.5.1 with the following options:

   CONFIG_USB (Support for USB)
   CONFIG_USB_DEBUG (USB verbose debug messages)
   CONFIG_USB_UHCI (UHCI: Intel, PIIX4, VIA, ...)
   CONFIG_USB_SERIAL_VISOR (USB Handspring Visor / Palm m50x)

   this is on an dual celeron 550, so i believe UHCI is correct.


2. created the appropriate device files:

   crw-rw-rw-   root   root   188,   0 Feb 14 23:41 /dev/ttyUSB0
   crw-rw-rw-   root   root   188,   1 Feb 14 23:41 /dev/ttyUSB1
   crw-rw-rw-   root   root   188,   2 Feb 14 23:43 /dev/ttyUSB2
   crw-rw-rw-   root   root   188,   3 Feb 14 23:43 /dev/ttyUSB3
   lrwxrwxrwx   root   root   12 Feb 14 23:43 /dev/pilot -> /dev/ttyUSB1
   lrwxrwxrwx   root   root   12 Feb 14 23:52 /dev/visor -> /dev/ttyUSB1


3. after rebooting, here were the assigned IRQ's:

       CPU0       CPU1
       0:      12128       0      XT-PIC  timer
       1:         81       0      XT-PIC  keyboard
       2:          0       0      XT-PIC  cascade
       5:          4       0      XT-PIC  soundblaster
       8:          2       0      XT-PIC  rtc
       10:          0      0      XT-PIC  usb-uhci
       11:         33      0      XT-PIC  eth0
       12:         10      0      XT-PIC  PS/2 Mouse
       14:      29553      0      XT-PIC  ide0
       15:       6227      0      XT-PIC  ide1


4.  here's dmsg output:

   usb.c: registered new driver hub
   usb-uhci.c: $Revision: 1.268 $ time 17:52:42 Feb 14 2002
   usb-uhci.c: High bandwidth mode enabled
   PCI: Assigned IRQ 11 for device 00:07.2
   usb-uhci.c: USB UHCI at I/O 0xd000, IRQ 11
   usb-uhci.c: Detected 2 ports
   usb.c: new USB bus registered, assigned bus number 1
   usb.c: kmalloc IF cddbcb00, numif 1
   usb.c: new device strings: Mfr=0, Product=2, SerialNumber=1
   usb.c: USB device number 1 default language ID 0x0
   Product: USB UHCI Root Hub
   SerialNumber: d000
   hub.c: USB hub found
   hub.c: 2 ports detected
   hub.c: standalone hub
   hub.c: ganged power switching
   hub.c: global over-current protection
   hub.c: Port indicators are not supported
   hub.c: power on to power good time: 2ms
   hub.c: hub controller current requirement: 0mA
   hub.c: port removable status: RR
   hub.c: local power source is good
   hub.c: no over-current condition exists
   hub.c: enabling power on all ports
   usb.c: hub driver claimed interface cddbcb00
   usb-uhci.c: v1.268:USB Universal Host Controller Interface driver
   usb.c: registered new driver serial
   usbserial.c: USB Serial Driver core v1.4
   usbserial.c: USB Serial support registered for Handspring Visor/Palm 4.0
   usbserial.c: USB Serial support registered for Sony Clié 3.5
   visor.c: USB HandSpring Visor, Palm m50x, Sony Clié driver v1.7


so this all looks great, doesn't it?  looks perfect.   how here is where
the problems begin.


1.  it's my understanding that there should be a file /proc/bus/usb.
    this file is missing.  i _thought_ it should be created upon
    successful initialization of usb.c.  but it's simply not there.

2. when I settle the visor into the cradle:

    hub.c: Cannot enable port 2 of hub 1, disabling port.
    hub.c: Maybe the USB cable is bad?

   of course, it's _possible_ that the cable is bad, but i seriously
   doubt it.  i'm trying to set the visor up on rhonda's windows machine
   right now, but i'm nearly certain it will work.

3. ever since compiling usb into my kernel, the system hangs when i
   reboot or halt.  during the reboot/halt sequence, when "sending TERM
   to all processes" the system just hangs.  hitting return puts a
   newline onto the console, so i assume the kernel is just fine and
   dandy.  it's probably waiting for something to happen.  perhaps if i
   waited long enough, something would time out.  but i haven't waited
   more than than 3 minutes (too impatient).  in any event, it shouldn't
   be doing this.

4. hotsyncing, of course, doesn't work.  the visor reports that it can't
   connect to the computer (with coldsync.  i assume the same thing will
   happen using pilot-link.  these problems are kernel problems, not
   application problems).  at the same time, the kernel prints alot of
   debugging info and finally says it's disabling the usb port.

i'd like to concentrate on problem 1; it seems more fundamental than the
other problems, but at this point, i'm stuck other than to try this on
another system.  ANY advice, thoughts or streams of consciousness would
be appreciated.

thanks,
pete