Linux - 限制USB设备带宽

时间:2017-04-25 16:08:31

标签: linux usb bandwidth

我正在尝试将多个(10-20)USB Wi-Fi Dongles连接到一个USB端口(使用外部供电USB HUB),但是我无法连接多个5-6个设备时间。

似乎每个加密狗正在分配" 500-800"总可用5000 Mbps(1x USB3端口)的Mbps,这是有意义的。

我的问题是,如果有一些方法让USB端口/集线器表现为"尽力而为"并忽略分配的带宽,或者只是能够将每个设备限制在较低的带宽,例如20-50 Mbps。我不需要它们全速运转。

提前致谢。

1 个答案:

答案 0 :(得分:2)

我认为不可能,原因如下。

在说明理由之前,让我们讨论一下" Bus Instance"。

根据XHCI规范,"每个总线实例(BI)代表BI支持的速度的“单位”带宽"

因此,集线器中的每个USB 3.0端口都有两个总线实例。速度超快,速度快。

带宽取决于所连接的设备。如果它是USB 2.0设备,它将获得最多480 Mbps带宽,而SS设备最多可获得5 Gbps。如果连接了多个设备,那么它将完全依赖于USB控制器硬件来划分总线实例之间的带宽。

基本上,我认为我们不能通过软件来做到这一点。 XHCI规范没有任何改变带宽的命令。我们只能获得带宽。此外,我们没有集线器端口带宽管理的集线器请求。