英特尔 USB 3.0 可扩展主机控制器 - 超出支持的设备数量?

英特尔 USB 3.0 可扩展主机控制器 - 超出支持的设备数量?

我正在开展一个项目,该项目利用 18 台高端 DSLR 相机,通过 USB 连接到 PC。

在开发期间,系统运行 USB2 没有任何问题,但是当我们转移到运行 USB3.0 的系统时,我们开始收到以下错误,导致只有 11 个摄像头被识别。

在此处输入图片描述

配置是将摄像机连接到有源 USB3 集线器(类似这样的),允许连接 7 个设备。系统有三个这样的设备 - 全部有电源,但仅支持大约 11 个连接的设备(两个多位集线器)。我们确信这是一个电源问题,但所有集线器都已通电,并且摄像头也位于电源适配器上。

目前我们不得不回退到 USB2,但传输速率意味着照片捕捉过程的速度显著增加 - 每个图像文件大约 23MB,下载所有文件大约需要 20 秒左右。

我希望有一种方法可以解决英特尔硬件的这个限制——另一个驱动程序或完全不同的控制器。

提前致谢

答案1

大多数 Intel XHCI 控制器的硬件限制为 96 个端点。如果每个摄像头使用 8 个端点,我也不会感到惊讶,这对于复杂的现代设备来说是一个非常典型的数字。集线器也占用端点。您可以使用以下命令确认这一点USB查看器。这是控制器硬件限制,没有办法解决。

答案2

首先:我不知道您的 USB 主机控制器上是否存在错误/功能限制,或者规格限制(在设备、行中集线器的情况下)USB2 与 USB3 之间的变化(Davids 的回答似乎显示了英特尔控制器的限制)

从技术上讲,我的答案是我提供的 USB2.0 信息,但它可能会帮助您了解一些应该查看的地方。

确保主机和集线器之间的电缆不要太长,低成本的电缆即使只有 3 米长也给我们带来了很多问题,而 USB2.0 规格允许使用 5 米长的电缆,直到您需要“集线器”为止。测量 USB 电缆的功率输出。大多数情况下,您会得到 7 端口集线器,但机箱行内实际上有 2 个集线器。因此,您应该检查集线器上的哪个端口连接到“主”和“次”集线器。

此外,您不能连续放置超过 5 个集线器(包括根集线器 + 在您到达 USB 插头之前主板上可能已经有另一个集线器)

在我们的设置中,每个端口最多只能添加 3 个集线器。但是,即使集线器上有可用的电源并且电缆连接良好,如果我们在每个物理主板 USB 端口添加超过 1 个 7er 集线器(=7 个设备),我们也会遇到问题。

我们的解决方案是将 5 个 PCI 4x USB 卡连接到服务器,这样每个服务器就可以堆叠 110 个设备。

答案3

我们通过安装内部自供电 USB 3.0 4 端口 PCI-Express 附加卡解决了同样的问题。但前提是您的计算机有 PCIe 扩展槽。这会添加额外的主机控制器,因为英特尔的控制器已达到极限。

相关内容