Subject: kern/32493: ehci0: wrong number of companions
To: None <firstname.lastname@example.org, email@example.com,>
From: None <firstname.lastname@example.org>
Date: 01/10/2006 19:00:00
>Synopsis: ehci0: wrong number of companions
>Arrival-Date: Tue Jan 10 19:00:00 +0000 2006
>Release: NetBSD 2.0.2_STABLE
System: NetBSD 2.0.2_STABLE (ORTHANC) #6: Tue Sep 20 12:37:27 PDT 2005 email@example.com:/var/obj/ORTHANC
the ehci driver disables itself if there are holes in the companion uhci
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.
enable the ehci driver for motherboards which have disjoint uhci numberings.
add code to have ehci deal with holes in the companion uhci list.