使用端口复制器可以将多少个USB硬盘驱动器插入笔记本电脑?


10

我有一台带有2个USB 2.0和1个USB 3.0端口的笔记本电脑,我想知道我可以插入多少个USB硬盘驱动器。Linux内核有硬性限制吗?

在性能方面,插入端口的驱动器之间共享的速度是多少?


1
我父亲喜欢他新颖的USB设备。我会为他的生日再给他一些礼物,让他知道他何时达到极限:D
Greg

Answers:


13

从理论上讲,您最多可以将127台设备连接到一台主机PC,但是实际的功率和数据带宽限制会阻止这种情况。这127个设备可以布置在最多七个级别的集线器的分层网络中,将PC主机计为1级,将最远的设备计为7级。PC向集线器提供5个电源。每个单位为100 mA,每个端口至少需要1个单位。集线器本身消耗1个,剩下4个单元最多4个端口。因此,您永远找不到具有四个以上端口的总线供电集线器。

总线供电的集线器还有其他限制。由于每个端口只有一个电源单元,因此它们只能在下游连接到单个设备。您无法将它们连接到另一个集线器以进行扩展,因为该集线器需要另外5个单元。并非所有设备都能在一个单元上运行。像鼠标这样的低功率设备可以工作,但高功率设备最多可以使用5个单位。高功率USB设备仅在直接插入PC主机或可为该端口提供5个设备的自供电集线器时才能工作。

连接设备时,PC会向设备查询其功能和要求。因此,例如,PC知道它已连接到4端口总线供电的集线器,这意味着每个端口只能驱动一个单元。如果尝试将高功率设备插入该集线器,则操作系统将抛出错误消息并拒绝启用该设备。

由于这些限制,总线供电的集线器通常不是一个好主意,并且主要用于移动设备,而不是台式机。

另一方面,如果插入端口的设备本身是自供电的,则它们可能不需要集线器中的一个以上的设备。例如,外部磁盘驱动器具有自己的电源,因此应该可以在总线供电的集线器上正常工作。

自供电的集线器将能够为每个端口提供5个单元,从而允许使用大功率设备和更高级别的集线器。因此,您可以插入一个7端口自供电集线器,然后再插入7个7端口集线器,从而在第四层仅提供49个可用端口。

一些自供电的集线器将允许您在总线供电的模式下使用它们,但是如果尝试插入太多设备,则操作系统将向您显示错误消息。

大多数集线器控制器芯片具有4个端口,因此您通常会看到4端口集线器。当他们想建立一个更大的集线器时,他们只使用两个4端口芯片。但是它们必须以菊花链的方式将它们与连接到主机的第一个芯片和连接到第一个芯片的下游端口之一的第二个芯片进行菊花链连接。这样仅剩下七个端口供用户使用,第一个芯片上留有三个端口,第二个芯片上留有四个端口,因此是通用的7端口集线器。

USB是即插即用的,从某种意义上说,当您连接东西时,您不必了解这些东西。操作系统会跟踪每个集线器和设备的电源预算,并会告诉您连接是否无法正常工作,以及您是否需要使用自供电端口。

编辑:USB数据包如下所示:

代币:
封包ID:8位
地址:7位
端点:4位
CRC:5位

帧开始:
封包ID:8位
帧号:11位
CRC:5位

数据包:
封包ID:8位
数据:0-1023字节
CRC:16位

握手:
封包ID:8位

由于地址只有7位,因此整个总线上只能有128个设备(每个7位可以打开和关闭,总共只能有128个不同的位组合)。这包括您的计算机,因此您可以附加127项其他内容。


2
127的限制来自哪里?就是想。
crazy2be 2011年

@ crazy2be:您问,我编辑:)
Rinzwind 2011年

1
@ crazy2be请记住,虽然每个控制器允许使用127个设备,但您的​​PC不太可能提供足够的电流来为127个硬驱供电。如果每个驱动器都有自己的电源,那应该没问题,但不要指望笔记本电脑提供这么多的电源。
crasic 2011年

可能有127个USB记忆棒。128硬盘?不要这么认为:D
Rinzwind'6

数据传输如何?如果我在X GBps上有1个硬盘驱动器,那么是否将8端口复制器传输到每个硬盘驱动器的X / 8?和X / 127的最大配置?
719016 2011年

0

因此,您会发现,由于USB3芯片组的硬设备限制为32个(实际上是96个端点限制),因此使用USB3芯片组实际上将达到30个左右的限制。

我也处理这个问题,花了我一段时间才找到真正的问题和解决方案。这是一个很长的页面,所以您可以去那里阅读它http://marc.merlins.org/perso/linux/post_2018-12-20_Getting-Around-USB3-xhci-32-Device-Limit- Max-number-of- devices-this-xHCI-host-supports-is-32 .html

基本上,归结为以下几点:
1)USB3有96个端点限制(仅转换为32个设备)
2)由于集线器,您失去了更多端点,使用USB2电缆连接到USB3集线器可以为您提供一些插槽
3)通常,如果没有USB3,则应该禁用USB3(删除USB3内核驱动程序,或者,如果可以的话,更容易地,在BIOS中禁用USB3)。在USB2模式下使用USB3芯片无济于事,您必须禁用USB3,以便主板将端口重新路由到没有该端点限制的USB2控制器。4)如果无法禁用USB3,请获得仅USB2的PCIe卡这样一来,您就能真正获得120台左右的设备。

其他资源:https : //www.spinics.net/lists/linux-usb/msg175224.html
https://forums.intel.com/s/question/0D50P00004905stSAA/hardware-limitations-on-usb-endpoints-xhci?语言= zh_CN


-2

根据个人经验,我的网络摄像头仅在直接连接到PC的USB端口时才能工作。它无法连接到有源集线器。对我而言,这意味着您将先遇到带宽限制,然后再遇到许多设备限制。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.