Reputation: 953
I have 12 USB 2.0 devices plugged into an Intel NUC D54250WYK running Ubuntu 14.04.
Running lshw -short
shows two different USB buses and two host controllers (xHCI and eHCI).
All of the USB devices appear on the same bus and use xHCI regardless of the ports they are plugged into. As a result I'm seeing the following errors in dmsg:
Not enough host controller resources for new device state.
Not enough bandwidth for altsetting 0.
Is there a way to force devices to a specific bus?
I've also read that Linux can have problems with xHCI. Is there a way to force eHCI without recompiling the kernal? Intel does not provide that option in BIOS.
Upvotes: 1
Views: 4888
Reputation: 1
Beware of platforms that have XHCI ONLY (Apollolake, Denverton). You will brick your HW if you disable XHCI there.
Upvotes: 0
Reputation: 953
Good news for anyone else facing this issue. Intel released a new bios (v40) that adds back the option to disables xHCI. In my case I updated the bios, disabled xHCI, and everything works as expected.
Upvotes: 0
Reputation: 19331
Last I checked on this, you're in a bit of a bind. It seems xHCI
is compiled into the kernel, not as a module, and if you compile in eHCI
/aHCI
/oHCI
and not xHCI
, USB as a whole breaks, possibly due to some built-in support for on-board USB controlled BlueTooth and WIFI devices on certain mobos. DO NOT UPDATE YOUR BIOS yet... see if the option to disable xHCI
still exists on yours.
At this time, it seems your best option is to disable xHCI
in your BIOS. This will likely disable all USB3 controllers, but allow USB2 controllers to work without this issue impeding you.
With respect to the Intel device you described, I don't see many USB ports on it, so I assume you're using hubs. From the tech specs for your device, it looks like you'll have to get access to the internal header to get at the USB2 ports.
Upvotes: 1