Linux-限制USB设备带宽

Linux-限制USB设备带宽,linux,usb,bandwidth,Linux,Usb,Bandwidth,我正在尝试将多个(10-20)USB Wi-Fi加密狗连接到一个USB端口(使用外部电源USB集线器),但是我无法同时连接5-6个以上的设备 似乎每个加密狗都在从总可用的5000 Mbps(1x USB3端口)中分配“500-800”Mbps,这毫无意义 然而,我的问题是,是否有某种方法让USB端口/集线器发挥“最大努力”的作用,忽略分配的带宽,或者只是能够将每个设备的带宽限制在较低的带宽,例如20-50 Mbps。我不需要它们全速运行。我认为这是不可能的,原因如下 在讨论原因之前,让我们先讨论

我正在尝试将多个(10-20)USB Wi-Fi加密狗连接到一个USB端口(使用外部电源USB集线器),但是我无法同时连接5-6个以上的设备

似乎每个加密狗都在从总可用的5000 Mbps(1x USB3端口)中分配“500-800”Mbps,这毫无意义


然而,我的问题是,是否有某种方法让USB端口/集线器发挥“最大努力”的作用,忽略分配的带宽,或者只是能够将每个设备的带宽限制在较低的带宽,例如20-50 Mbps。我不需要它们全速运行。

我认为这是不可能的,原因如下

在讨论原因之前,让我们先讨论一下“总线实例”

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

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

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

所以基本上,我不认为我们可以通过软件来实现。XHCI规范没有任何更改带宽的命令。我们只有获得带宽的命令。此外,我们没有任何用于集线器端口带宽管理的集线器请求