Subject: usb devices (uhub and ulpt) not showing up
To: None <tech-kern@netbsd.org>
From: John Darrow <John.P.Darrow@wheaton.edu>
List: tech-kern
Date: 08/18/2002 19:12:07
[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

-- 
John Darrow - Senior Technical Specialist               Office: 630/752-5201
Computing Services, Wheaton College, Wheaton, IL 60187  Fax:    630/752-5968
Pager via email: 6303160707@alphapage.airtouch.com      Pager:  630/316-0707
Email: John.P.Darrow@wheaton.edu (plain text please, no HTML or proprietary)