Date: Thu, 18 Nov 2004 16:22:38 +0000 From: Brian Candler <b.candler@pobox.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: kern/74088: ohci ehci uhub: port disabled on connecting USB memory card reader Message-ID: <E1CUp3O-0000CT-8U@billdog.local.linnet.org> Resent-Message-ID: <200411181630.iAIGUXDr044976@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 74088 >Category: kern >Synopsis: ohci ehci uhub: port disabled on connecting USB memory card reader >Confidential: no >Severity: critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Nov 18 16:30:32 GMT 2004 >Closed-Date: >Last-Modified: >Originator: Brian Candler >Release: FreeBSD 5.3-STABLE i386 >Organization: >Environment: System: FreeBSD billdog.local.linnet.org 5.3-STABLE FreeBSD 5.3-STABLE #3: Thu Nov 18 15:49:59 GMT 2004 root@billdog.local.linnet.org:/usr/src/sys/i386/compile/BILLDOG i386 >Description: On connecting a Mitsumi 7-in-1 internal floppy+card reader, the USB port becomes disabled. (The floppy drive works and appears as /dev/fd0; there are separate IDC and power cables for that) Compiling with 'options USB_DEBUG' and cranking up hw.usb.*.debug=1, here's what I get when I connect the device: Nov 18 16:07:57 billdog kernel: ehci_pcd: change=0x08 Nov 18 16:07:57 billdog kernel: uhub_explore: status change hub=1 port=3 Nov 18 16:07:58 billdog kernel: ehci after reset, status=0x00001001 Nov 18 16:07:58 billdog kernel: ehci_disown: index=3 lowspeed=0 Nov 18 16:07:58 billdog kernel: ohci_rhsc: sc=0xc1de7000 xfer=0xc1deb200 hstatus=0x00000000 Nov 18 16:07:58 billdog kernel: ohci_rhsc: change=0x02 Nov 18 16:07:58 billdog kernel: uhub_explore: status change hub=1 port=1 Nov 18 16:07:58 billdog kernel: ohci_rhsc: sc=0xc1de7000 xfer=0xc1deb200 hstatus=0x00000000 Nov 18 16:07:58 billdog kernel: ohci_rhsc: change=0x02 Nov 18 16:07:58 billdog kernel: ehci_pcd: change=0x08 Nov 18 16:07:58 billdog kernel: uhub_explore: status change hub=1 port=3 Nov 18 16:07:58 billdog kernel: usbd_new_device bus=0xc1de7000 port=1 depth=1 speed=2 Nov 18 16:07:58 billdog kernel: usbd_new_device: adding unit addr=3, rev=110, class=0, subclass=0, protocol=0, maxpacket=8, len=18, speed=2 Nov 18 16:07:58 billdog kernel: usbd_new_device: new dev (addr 3), dev=0xc2650880, parent=0xc1dd9880 Nov 18 16:07:58 billdog kernel: usbd_probe_and_attach: trying device specific drivers Nov 18 16:07:58 billdog kernel: usbd_probe_and_attach: no device specific driver found Nov 18 16:07:58 billdog kernel: usbd_probe_and_attach: looping over 1 configurations Nov 18 16:07:58 billdog kernel: uhub1: port 1, set config at addr 3 failed, error=IOERROR Nov 18 16:07:58 billdog kernel: usbd_remove_device: 0xc2650880 Nov 18 16:07:58 billdog kernel: ohci_device_ctrl_close: pipe=0xc2100800 Nov 18 16:07:58 billdog kernel: uhub_explore: usb_new_device failed, error=IOERROR Nov 18 16:07:58 billdog kernel: uhub1: device problem, disabling port 1 With FreeBSD 5.2.1, I was able to get the memory sockets recognised after a fashion (they were da0 and da1 for the compact flash and smartmedia sockets respectively), although it wasn't reliable and I was hoping 5.3 would fix that. Instead, I can't find the device at all... >How-To-Repeat: My system is a Soltek (EQ3702A?) small form factor PC with nVidia chipset, relevant dmesg output: ohci0: <OHCI (generic) USB controller> mem 0xee084000-0xee084fff irq 22 at device 2.0 on pci0 ohci0: [GIANT-LOCKED] usb0: OHCI version 1.0, legacy support usb0: SMM does not respond, resetting usb0: <OHCI (generic) USB controller> on ohci0 usb0: USB revision 1.0 uhub0: nVidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 ulpt0: EPSON USB Printer, rev 1.10/1.00, addr 2, iclass 7/1 ohci1: <OHCI (generic) USB controller> mem 0xee085000-0xee085fff irq 21 at device 2.1 on pci0 ohci1: [GIANT-LOCKED] usb1: OHCI version 1.0, legacy support usb1: SMM does not respond, resetting usb1: <OHCI (generic) USB controller> on ohci1 usb1: USB revision 1.0 uhub1: nVidia OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 ums0: Cypress Sem Cypress USB Mouse, rev 1.00/4.9c, addr 2, iclass 3/1 ehci0: <EHCI (generic) USB 2.0 controller> mem 0xee086000-0xee0860ff irq 20 at device 2.2 on pci0 ehci0: [GIANT-LOCKED] ehci_pci_attach: companion usb0 ehci_pci_attach: companion usb1 usb2: EHCI version 1.0 usb2: companion controllers, 4 ports each: usb0 usb1 usb2: <EHCI (generic) USB 2.0 controller> on ehci0 usb2: USB revision 2.0 uhub2: nVidia EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 It works with a USB printer and mouse. However, I presume those are USB1.1, and the card reader may be USB2.0; it didn't come with any documentation. Compiling a kernel without 'ehci' doesn't work; the ohci interface is detected, but plugging in a printer or mouse does nothing. >Fix: Sorry, I don't know anything about USB internals :-( But I'm happy to add extra debugging in if someone will suggest where it should go. >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1CUp3O-0000CT-8U>