# Warning! ehci_hcd should always be loaded before uhci_hcd a

## TechwoIf

I get this in dmesg: " Warning! ehci_hcd should always be loaded before uhci_hcd and ohci_hcd, not after"

Google searching and these forums did not revel the answer.

Gentoo did have a bug report of this error and it was fixed in module-init-tools, however, they are not used anymore as it was moved to KMOD now.

How to fix this using kmod?

----------

## eccerr0r

Odd, I haven't seen this in ages.  Did you perhaps compile uhci_hcd into the kernel and ehci_hcd as a module?

All your module tools up to date (including config files?)

----------

## elxa

me, too

 *Quote:*   

> Oct 19 00:50:28 thinkgentoo kernel: Warning! ehci_hcd should always be loaded before uhci_hcd and ohci_hcd, not after

 

using sys-kernel/vanilla-sources:3.6.2 with this .config http://bpaste.net/show/52107/

----------

## eccerr0r

 *elxa wrote:*   

> me, too
> 
>  *Quote:*   Oct 19 00:50:28 thinkgentoo kernel: Warning! ehci_hcd should always be loaded before uhci_hcd and ohci_hcd, not after 
> 
> using sys-kernel/vanilla-sources:3.6.2 with this .config http://bpaste.net/show/52107/

 

Yes this shows the problem that I was warning about.  If you have UHCI compiled into the kernel (in which it is:

```
CONFIG_USB_XHCI_HCD=m

CONFIG_USB_EHCI_HCD=m

CONFIG_USB_EHCI_ROOT_HUB_TT=y

CONFIG_USB_EHCI_TT_NEWSCHED=y

CONFIG_USB_OHCI_HCD=m

CONFIG_USB_OHCI_LITTLE_ENDIAN=y

CONFIG_USB_UHCI_HCD=y

```

) once you load the EHCI module the warning will be emitted.  Either build UHCI as a module or build EHCI into the kernel, I suspect you want the latter for newer machine else the USB keyboard won't work.

----------

## DaggyStyle

 *eccerr0r wrote:*   

>  *elxa wrote:*   me, too
> 
>  *Quote:*   Oct 19 00:50:28 thinkgentoo kernel: Warning! ehci_hcd should always be loaded before uhci_hcd and ohci_hcd, not after 
> 
> using sys-kernel/vanilla-sources:3.6.2 with this .config http://bpaste.net/show/52107/ 
> ...

 that most probably will not work, EHCI and UHCI will continue fight on who is control the device, compiling them as modules should fix it.

----------

## eccerr0r

 *DaggyStyle wrote:*   

> that most probably will not work, EHCI and UHCI will continue fight on who is control the device, compiling them as modules should fix it.

 

My XHCI machine works just fine this way, I have all three compiled statically and it will negotiate the correct speed for all.

The kernel developers already understand this situation and enumerate the host interfaces in the proper order to allow the fastest speeds.

----------

## DaggyStyle

 *eccerr0r wrote:*   

>  *DaggyStyle wrote:*   that most probably will not work, EHCI and UHCI will continue fight on who is control the device, compiling them as modules should fix it. 
> 
> My XHCI machine works just fine this way, I have all three compiled statically and it will negotiate the correct speed for all.
> 
> The kernel developers already understand this situation and enumerate the host interfaces in the proper order to allow the fastest speeds.

 

XHCI is not EHCI/UHCI, no do long ago, when they were compile into the kernel on my machine, none of the usb worked and I could see them fight over it in dmesg.

----------

## SamuliSuominen

I've forwarded the modprobe.d file from module-init-tools to kmod as per:

https://bugs.gentoo.org/show_bug.cgi?id=260139

http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-apps/kmod/kmod-9999.ebuild?r1=1.33&r2=1.34

And also in >=sys-apps/kmod-10-r1

I suppose this was just oversight.

----------

