USB带宽/主机控制器问题 - Linux

时间:2015-09-14 22:31:03

标签: linux-kernel linux-device-driver

我有12个USB 2.0设备插入运行Ubuntu 14.04的Intel NUC D54250WYK。

运行lshw -short显示两个不同的USB总线和两个主机控制器(xHCI和eHCI)。

所有USB设备都显示在同一总线上,无论插入哪个端口,都使用xHCI。因此,我在dmsg中看到以下错误:

Not enough host controller resources for new device state.
Not enough bandwidth for altsetting 0. 

有没有办法强制设备到特定的总线?

我还读到Linux可能存在xHCI问题。有没有办法强制eHCI而不重新编译核心?英特尔不在BIOS中提供该选项。

3 个答案:

答案 0 :(得分:1)

最后我检查了这个,你有点像一个绑定。似乎xHCI被编译到内核中,而不是作为模块编译,如果您在eHCI / aHCI / oHCI而不是xHCI进行编译,则USB为整个中断,可能是由于某些主板上的板载USB控制蓝牙和WIFI设备的内置支持。 DO NOT UPDATE YOUR BIOS yet... see if the option to disable xHCI still exists on yours.

此时,您最好选择在BIOS中禁用xHCI。这可能会禁用所有USB3控制器,但允许USB2控制器工作,而不会妨碍您。

对于您描述的英特尔设备,我上面没有看到很多USB端口,因此我假设您正在使用集线器。从the tech specs for your device开始,您似乎必须访问内部标头才能访问USB2端口。

答案 1 :(得分:0)

面对这个问题的其他人的好消息。英特尔发布了一个新的BIOS(v40),它添加了禁用xHCI的选项。在我的情况下,我更新了BIOS,禁用了xHCI,一切都按预期工作。

答案 2 :(得分:0)

当心仅具有XHCI的平台(Apollolake,Denverton)。 如果在此禁用XHCI,则将使硬件变砖。