Bug 60217

Summary: EHCI controller halts when USB 2.0 device attached.
Product: Base System Reporter: David Gilbert <dgilbert>
Component: kernAssignee: freebsd-usb (Nobody) <usb>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 5.2-CURRENT   
Hardware: Any   
OS: Any   

Description David Gilbert 2003-12-13 23:50:20 UTC
EHCI code seems to halt whenever a USB-2.0 device is attached.  In this
case, the device is a iomega hard drive enclosure.  The drive enclosure
attached properly if EHCI is not in the kernel.

Here are the USB portions of the boot:

uhci0: <Intel 82801DB (ICH4) USB controller USB-A> port 0xbf80-0xbf9f irq 11 at device 29.0 on pci0
usb0: <Intel 82801DB (ICH4) USB controller USB-A> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <Intel 82801DB (ICH4) USB controller USB-B> port 0xbf40-0xbf5f irq 11 at device 29.1 on pci0
usb1: <Intel 82801DB (ICH4) USB controller USB-B> on uhci1
usb1: USB revision 1.0
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
ums0: Logitech USB Receiver, rev 1.10/16.00, addr 2, iclass 3/1
ums0: 7 buttons and Z dir.
uhci2: <Intel 82801DB (ICH4) USB controller USB-C> port 0xbf20-0xbf3f irq 11 at device 29.2 on pci0
usb2: <Intel 82801DB (ICH4) USB controller USB-C> on uhci2
usb2: USB revision 1.0
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xf4fffc00-0xf4ffffff irq 11 at device 29.7 on pci0
ehci_pci_attach: companion usb0
ehci_pci_attach: companion usb1
ehci_pci_attach: companion usb2
usb3: EHCI version 1.0
usb3: companion controllers, 2 ports each: usb0 usb1 usb2
usb3: <EHCI (generic) USB 2.0 controller> on ehci0
usb3: USB revision 2.0
uhub3: (0x8086) EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub3: 6 ports with 6 removable, self powered

Here's what it says when I connect the device:

usb3: unrecoverable error, controller halted
usb3: blocking intrs 0x10
usb3: port reset timeout

If the drive is connected at boot, the boot hangs (although I only
waited a couple of minutes).

Fix: 

I don't have anything yet.
How-To-Repeat: My laptop is available for testing.  The ICH4 chipset can't be that
rare, tho.
Comment 1 Ernst de Haan freebsd_committer freebsd_triage 2004-01-05 10:47:13 UTC
Responsible Changed
From-To: freebsd-bugs->joe

Over to USB maintainer.
Comment 2 David Johnson 2004-06-13 21:12:13 UTC
I am seeing the same problem on my system. I am trying to use a Memorex 
256MB USB 2.0 drive, and a Lexar 256MB USB 2.0 drive.

uname -a is:

FreeBSD scatha.home 5.2.1-RELEASE FreeBSD 5.2.1-RELEASE #0: Sun Mar 14 
14:05:06 PST 2004     david@scatha.home:/usr/obj/usr/src/sys/SCATHA  
i386

Relevant portions of dmesg are:

uhci0: <Intel 82801EB (ICH5) USB controller USB-A> port 0xcc00-0xcc1f 
irq 16 at
device 29.0 on pci0
usb0: <Intel 82801EB (ICH5) USB controller USB-A> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <Intel 82801EB (ICH5) USB controller USB-B> port 0xd000-0xd01f 
irq 19 at
device 29.1 on pci0
usb1: <Intel 82801EB (ICH5) USB controller USB-B> on uhci1
usb1: USB revision 1.0
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2: <Intel 82801EB (ICH5) USB controller USB-C> port 0xd400-0xd41f 
irq 18 at
device 29.2 on pci0
usb2: <Intel 82801EB (ICH5) USB controller USB-C> on uhci2
usb2: USB revision 1.0
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3: <Intel 82801EB (ICH5) USB controller USB-D> port 0xd800-0xd81f 
irq 16 at
device 29.3 on pci0
usb3: <Intel 82801EB (ICH5) USB controller USB-D> on uhci3
usb3: USB revision 1.0
uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xffaffc00-0xffafffff irq 
23 at d
evice 29.7 on pci0
ehci_pci_attach: companion usb0
ehci_pci_attach: companion usb1
ehci_pci_attach: companion usb2
ehci_pci_attach: companion usb3
usb4: EHCI version 1.0
usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3
usb4: <EHCI (generic) USB 2.0 controller> on ehci0
usb4: USB revision 2.0
uhub4: (0x8086) EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered

Upon plugging in the drive:

usb4: unrecoverable error, controller halted
usb4: blocking intrs 0x10
usb4: port reset timeout

-- 
David Johnson
Comment 3 le freebsd_committer freebsd_triage 2004-07-31 19:58:07 UTC
State Changed
From-To: open->feedback

Does this still happen with newer versions of -current?
Comment 4 joe freebsd_committer freebsd_triage 2004-11-10 11:02:01 UTC
Responsible Changed
From-To: joe->freebsd-usb

Hand this over to the usb mailling list.
Comment 5 Julian Elischer freebsd_committer freebsd_triage 2005-01-10 00:07:01 UTC
State Changed
From-To: feedback->closed

Submitters not having the problem any more.