Subject: Re: usb devices (uhub and ulpt) not showing up
To: John Darrow <John.P.Darrow@wheaton.edu>
From: Lennart Augustsson <lennart@augustsson.net>
List: tech-kern
Date: 08/19/2002 08:50:16
The kernel times out getting the hub descriptor, it seems.
One reason for this could be that the interrupt for the usb
controller isn't working.  Maybe you should try the PCIBIOS
stuff.

    -- Lennart


John Darrow wrote:

>[Sorry about the truncated message before - missed a keystroke, thus
>ended up with y='send' instead of 'quit' with the y in response to
>"postpone this message?"]
>
>I've got an emachines T1440 with four usb ports (two on the front, two
>on the back).  However, the usb probing runs into problems.  On a
>regular boot (with no u*debug variables set), the resulting dmesg is:
>[...]
>rtk0 at pci1 dev 6 function 0: RealTek 8139 10/100BaseTX
>rtk0: interrupting at irq 11
>rtk0: Ethernet address 00:40:2b:3d:3d:36
>ukphy0 at rtk0 phy 7: Generic IEEE 802.3u media interface
>ukphy0: OUI 0x000000, model 0x0000, rev. 0
>ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
>[...]
>uhci0 at pci0 dev 31 function 2: Intel 82801AA USB Controller (rev. 0x02)
>uhci0: interrupting at irq 11
>usb0 at uhci0: USB revision 1.0
>uhub0 at usb0
>uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
>uhub0: 2 ports with 2 removable, self powered
>Intel 82801AA SMBus Controller (SMBus serial bus, revision 0x02) at pci0 dev 31 function 3 not configured
>[...]
>uhub1 at uhub0 port 2
>uhub1: vendor 0x109f product 0x7148, class 9/0, rev 1.10/0.00, addr 2
>boot device: wd0
>[...]
>
>A dmesg with usbdebug, uhubdebug, and ulptdebug set to 255, and
>uhcidebug set to 19 (to avoid the every-second 'uhci_poll_hub' that
>comes at >20), ends with the following (long after the above uhub1
>lines):
>[...]
>uhci_idone: actlen=2, status=0x0
>usb_transfer_complete: pipe=0xc0bbdc00 xfer=0xc0b74a00 status=0 actlen=2
>usb_freemem: frag=0xdbb19f40
>usb_transfer_complete: repeat=0 new head=0x0
>uhci_remove_hs_ctrl: sqh=0xdbb17f60
>uhci_find_prev_qh: pqh=0xdbb16fa0 sqh=0xdbb17f60
>uhci_ctrl_done: length=2
>usbd_start_next: pipe=0xc0bbdc00, xfer=0x0
>uhci_idone: ii=0xc0b74a6c done
>usbd_do_request: status = 0x0000
>usbd_free_xfer: 0xc0b74a00
>uhub1: getting hub descriptor failed, error=STALLED
>usb_discover
>boot device: wd0
>
>The end result is that I don't get any response when I plug in my 
>Lexmark z45.  On another machine, the printer probes as follows:
>[...]
>uhci0: interrupting at irq 11
>usb0 at uhci0: USB revision 1.0
>uhub0 at usb0
>uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
>uhub0: 2 ports with 2 removable, self powered
>[...]
>ulpt0 at uhub0 port 2 configuration 1 interface 0
>ulpt0: Lexmark Lexmark Z45, rev 2.00/1.00, addr 2, iclass 7/1
>ulpt0: using bi-directional mode
>
>I've tried all four USB ports, no difference.  I've also tried
>disabling rtk0 in the BIOS setup (in case of some sort of irq
>conflict), and while that causes rtk0 to no longer probe, usb still
>doesn't work.  I don't have any other usb devices to try.  This BIOS
>also doesn't have anywhere to set IRQ mappings.
>
>If someone wants to look at them, ftp.netbsd.org:~jdarrow/usb contains
>the following files:
>  dmesg.jdarrowcel: dmesg without the u*debug options set
>  dmesg.usbdebug: dmesg with the u*debug options set
>  JDARROW.usbdebug: kernel configuration file.
>
>I haven't yet tried a PNPBIOS kernel - might this make a difference?
>Otherwise, I'm open to suggestions.
>
>jdarrow
>
>  
>