Subject: kern/32493: ehci0: wrong number of companions
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <agrier@poofygoof.com>
List: netbsd-bugs
Date: 01/10/2006 19:00:00
>Number: 32493
>Category: kern
>Synopsis: ehci0: wrong number of companions
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Jan 10 19:00:00 +0000 2006
>Originator: agrier@poofygoof.com
>Release: NetBSD 2.0.2_STABLE
>Organization:
>Environment:
System: NetBSD 2.0.2_STABLE (ORTHANC) #6: Tue Sep 20 12:37:27 PDT 2005 aaron@orthanc.unix.fryenet:/var/obj/ORTHANC
Architecture: i386
Machine: i386
>Description:
the ehci driver disables itself if there are holes in the companion uhci
list:
uhci0 at pci0 dev 29 function 0: Intel 82801EB/ER USB UHCI Controller #0 (rev. 0x02)
uhci0: interrupting at ioapic0 pin 16 (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
uhci1 at pci0 dev 29 function 1: Intel 82801EB/ER USB UHCI Controller #1 (rev. 0x02)
uhci1: interrupting at ioapic0 pin 19 (irq 10)
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2 at pci0 dev 29 function 3: Intel 82801EB/ER USB UHCI Controller #3 (rev. 0x02)
uhci2: interrupting at ioapic0 pin 16 (irq 11)
usb2 at uhci2: USB revision 1.0
uhub2 at usb2
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
ehci0 at pci0 dev 29 function 7: Intel 82801EB/ER USB EHCI Controller (rev. 0x02)
ehci0: interrupting at ioapic0 pin 23 (irq 9)
ehci0: EHCI version 1.0
ehci0: wrong number of companions (4 != 3)
ehci0: init failed, error=13
there are three uhci controllers numbered 0, 1, 3. ehci apparently
can't deal with the "missing" #2 controller.
I have two different systems which exhibit this problem: one VIA; one
intel (shown above). there appears to be no way to get the uhci
controllers to number themselves sequentially.
USB 1.1 on uhci works well enough (barring "umass0: no buffer memory"
messages, but that's a separate PR) but at 1MB/s is a little tedious for
moving large files around and USB 2.0 support would be much preferred.
>How-To-Repeat:
enable the ehci driver for motherboards which have disjoint uhci numberings.
>Fix:
add code to have ehci deal with holes in the companion uhci list.