当 USB 集线器与根端口相距超过 5 个集线器时,它将无法工作

ahs*_*ele 66 usb kvm-switch usb-hub microsoft-surface

我正在尝试利用我的显示器通过 USB 集线器切换视频输入和 USB 源(很像 KVM 切换器)的能力。以前,我将所有设备直接插入显示器上的 USB 端口。我可以通过其底座或桌面(两台机器都运行 Windows 10)将显示器上的视频输入切换到 Surface,并且 USB 与视频一起切换。

自从引入 USB 集线器后,Surface 扩展坞不再支持 USB,但台式机可以。如果我绕过扩展坞并将 USB 电缆直接插入 Surface,它也可以工作。通过 Surface 扩展坞连接时,我收到错误消息:

连接在一起的 USB 集线器过多。当 USB 集线器与根端口相距超过 5 个集线器时,它将无法工作。

台式机是通用 PC,但由于 Surface 存在问题,我在配置中的设备列表中特别指出了它:

如果我明确阅读错误,我只能计算 4 个 USB 集线器:Surface Book、Surface Dock、显示器和 USB 集线器。为了解释我是如何把事情联系起来的,我把这张图放在一起:

配置图

在此错误之前,我一直认为有源 USB 允许以菊花链方式连接 127 个设备。这种印象不正确还是我的配置有问题?

基于响应的附加信息

通过 Surface Dock 连接到 Surface Book 时,使用USB Tree Viewer 查看的USB Hub 链:

Surface Dock 集线器连接的 USB Tree Viewer 屏幕截图

从这里我肯定看到从根端口到最后的设备有 5 个以上的集线器。最后的“单层”集线器似乎可以解决这个问题。根据Ali Chen 的评论, “在营销文件中找到这些信息”是不太可能的。

Ste*_*ven 75

您的 10 端口 USB 集线器(和其他设备)实际上可能在内部包含多个串联的 USB 集线器。

USB 集线器 - 维基百科

USB 集线器通常内置于计算机、键盘、显示器或打印机等设备中。当这样的设备有许多 USB 端口时,它们通常都来自一个或两个内部 USB 集线器,而不是每个端口都有独立的 USB 电路。


如前所述,USB 规范允许通过单个端口连接 127 个设备。但是,USB 规范只允许集线器深度为 5 级,如果同时包含终端设备和根设备(板载控制器本身),则为 7 级。

USB 2.0 技术介绍 - USB.org (PDF)

新连接的集线器将被分配其唯一地址,并且集线器可以级联至五层深。

USB Type C 互操作性测试 - USB.org (PDF)

“包含 5 层嵌套集线器后面的设备——允许的最大值”

  • 史蒂文,您将“层”(连接)的数量与集线器的数量混淆了。由于对 ACK/NAK/任何事物的周转施加的时序约束,集线器的数量是有限的。它在 USB 2.0 规范的第 4.1.1 节中有说明。在半双工网络拓扑中,响应时间必须受到限制。有关此限制背后的原因的解释,请参阅 https://superuser.com/a/1105099/620011 (9认同)
  • @JamEngulfer,是的,USB 不是网络范例的最佳实现。但它不应该覆盖广泛的设备,它意味着便宜。因此成本限制促使该解决方案成为半双工。因此,协议响应不能被推迟,超时限制很短,决定了总周转时间的限制,集线器中继器占用了大部分时间。所以极限来了。 (3认同)

Ale*_*ski 54

在计算集线器时,您假设每个单独的盒子/设备只有一个集线器。这个假设很可能是不真实的。

首先,10 端口“亚马逊集线器”肯定至少有两个链中集线器,因为单个集线器不是用 10 端口制造的,最大 7 端口[请参阅此解释]

然后戴尔显示器也有一些特殊的设计——它有两个上行端口。它的内部架构是什么,谁知道呢。

“Surface Dock”也是链中拥有多个 USB 集线器的嫌疑人。而且我不知道“表面”是否出于某种原因使用了额外的内部集线器。

要实际了解链中有多少个集线器以及所有事物的连接方式/方式,在 Surface 端使用USBTreeView.exe。我确信 Surface 的链条是正确的,而且链条中确实有 5 个以上的轮毂。

补充:USB 标准允许每个根控制器有 127 个设备,这并不意味着它们是“菊花链”的,总共 127 个。 事实上,如果我们将集线器视为功能性 USB 设备,那么有用设备的总数就来了减少到 102,因为您需要 17 个 7 端口集线器来容纳设备,在三层配置中,每个集线器将从可用空间中占用一个地址。

  • 我猜想 10 端口“亚马逊集线器”在级联 1->2 中有三个 4 端口芯片。第一个(上游)有两个端口连接到另外两个芯片,2 个端口空闲。所以你有 4+4+2 端口集线器。这些端口应该仍然有效。 (5认同)
  • @ahsteele,我认为您不会在营销文件中找到此信息。一种方法是获取一个示例并将其插入带有 USBTreeView 的主机,然后查看。另一种方法是打开塑料,看看里面。或者,也许您可​​以找到对该设备的撕毁评论,但同样,制造商可以在内部电路中进行替换,所以您永远不会知道。对不起。请记住,某些键盘可能具有内置集线器,因此即使您正确安装了最后一个集线器,它们也无法正常工作。 (2认同)

Spc*_*555 20

要将一些实验数据添加到其他答案中,您的问题特别在于 Surface Book,因为 Surface Dock 有两个 USB 集线器。我也有一个带有 Surface Book 的 Surface Dock,当我将鼠标连接到 Dock 时,这就是我在设备管理器中看到的内容:

在此处输入图片说明

突出显示的集线器属于 Surface Dock,我通过将鼠标直接连接到 Surface Base 中的一个端口来验证它。

因此你有:

  1. Surface Dock - 2 个集线器
  2. 监视器 - 至少 1 个集线器
  3. 10 端口 USB 集线器 - 至少 2 个集线器,因为正如其他答案中所述,一个集线器最多可以有 7 个端口

所以至少你有 5 个集线器。显示器可能有多个集线器,这就是您收到错误的原因。

  • @Agent_L 根集线器不计入 5 集线器限制 (5认同)
  • @MathijsSegers 那么,根据定义,它不是根集线器,而是内置在计算机机箱中的普通集线器 (4认同)