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


64

我正在尝试利用显示器的功能通过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,Monitor和USB集线器。为了说明我是如何进行工作的,我整理了以下图表:

配置图

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

根据回复的其他信息

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

Surface扩展坞集线器连接的USB Tree Viewer屏幕截图

从中我可以肯定地看到,从根端口到最后的设备有5个以上的集线器。看起来最后一个“单层”集线器可以解决此问题。根据阿里·陈(Ali Chen)的评论 “在营销文件中查找此信息”,这不太可能。


28
您是插入计算机的正面还是背面?我之所以这样问,是因为有些计算机内置了正面USB端口实际上不是主要端口,而是从背面端口“集中”的端口。
IronWilliamCash

1
监视器必须混在一起吗?
LPChip '17

3
@LPChip(我是ahsteele的团队成员)通过在USB随行的视频信号之间进行切换,该显示器对我们来说就像是KVM切换器。这使我们能够在表面和桌面之间携带键盘,鼠标和其他USB外围设备。
rhone 1998年

1
@IronWilliamCash,监视器具有内置的KVM,除此之外没有其他KVM
Rhone 1998年

14
使用设备管理器。菜单->查看->按连接的设备。然后,您可以看到集线器彼此链接。这将告诉您是否存在隐藏的集线器,其中单个集线器实际上是两个内部集线器,还是主板上的集线器。

Answers:


54

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

首先,10端口的“ amazon hub”肯定至少有两个集线器,因为单个集线器不是由10个端口(最大7端口)制造的(请参见以下说明)

然后,Dell显示器也具有一些特殊的设计-它具有两个UPSTRREAM端口。谁知道它的内部架构是什么。

“表面坞站”也被怀疑是因为链中有多个USB集线器。而且我不知道“表面”是否由于任何原因使用了额外的内部集线器。

要获得实际的想法,链中有多少个集线器以及连接什么/如何连接所有事物,在Surface侧使用USBTreeView.exe。我确信Surface正确地安装了链条,并且链中确实有5个以上的轮毂。

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


1
该死,击败我。:D好,这是一些图片来说明这一点:设备管理器PCB
Daniel B

5
我猜想10端口的“ amazon hub”在1级到2级之间有3个4端口芯片。第一个(上游)有两个连接到其他两个芯片的端口,而两个端口是空闲的。因此,您有4 + 4 + 2端口集线器。这些到端口应该仍然有效。
Ale..chenski

1
@ahsteele,有单芯片7端口USB 3.0 / 3.1集线器,例如USB5807。但是我想“ 7端口亚马逊中心”有两个4端口IC。上位级IC具有3个用户可访问的端口,并且一个端口用于连接第二个4端口IC,从而使总共3 + 4 = 7个下游端口成为可能。AFAIK,同一包装盒也采用4端口设计。我猜一个PCB可以随着BOM的变化而容纳所有四个选项(4、7和10)。但是你为什么要问?什么设备管理器或USBTreeView显示?您应该准备好这些结果,对吗?
Ale..chenski

1
@ahsteele,是的,正如我猜到的那样,最后一个集线器(来自10端口anazon集线器的4端口IC)有两个端口连接到用户连接器(应该可用),而另外两个端口则连接到下一级集线器(据我猜想,是2 x 4端口),超出了USB的要求。它们在链中排名第六,并带有黄色标记。您需要获得“单层”集线器。任何4端口集线器都应该可以正常工作,或者是7端口,但只有一个集线器控制器IC才可以。
Ale..chenski

2
@ahsteele,我认为您不会在营销文档中找到此信息。一种方法是获取样本并将其插入带有USBTreeView的主机中,然后进行查找。另一种方法是打开塑料并查看内部。也许您可以找到该设备的详细评论,但是制造商可以在内部电路中进行替换,所以您永远不会知道。抱歉。请记住,某些键盘可能具有内置的集线器,因此即使您正确安装了最后一个集线器,它们也将无法正常工作。
Ale..chenski'5

75

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

USB集线器-维基百科

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


如前所述,USB规范允许通过单个端口连接127个设备。但是,USB规范仅允许集线器深五个级别,如果同时包括终端设备和根设备(板载控制器本身),则允许七个级别的集线器。

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

新连接的集线器将被分配其唯一地址,并且集线器可以级联多达五个级别。

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

“将设备包含在嵌套集线器的5个级别之后–允许的最大值”


那是糟糕的设计。为什么不应该允许我们随意链接尽可能多的集线器?达到5的极限似乎很容易,因为OP的设置甚至没有那么复杂。
JamEngulfer's

9
史蒂文,您将“层”(连接)的数量与集线器的数量混淆了。集线器的数量由于在ACK / NAK /任何周转过程中施加的时间限制而受到限制。在USB 2.0规范的第4.1.1节中进行了说明。在半双工网络拓扑中,响应时间必须受到限制。有关此限制背后的原因的说明,请参见superuser.com/a/1105099/620011
Ale..chenski

3
@JamEngulfer,是的,USB不是网络范例的最佳实现。但是它本来不应该覆盖大范围的设备,它本来就很便宜。因此,成本限制使解决方案成为半双工。因此,协议响应不能被推迟,超时限制很短,这决定了总周转时间的限制,而集线器中继器则消耗了大部分时间。所以极限来了。
Ale..chenski

其实还不错,1个集线器4个设备,2个集线器级别(5个集线器,但仅在2个级别)16个设备,3个集线器级别(21个集线器)64个设备,4个集线器级别(85个集线器)256个设备,现在更多而不是USB的其他限制所施加的限制(127个设备限制)。
ttbek '17

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
@Agent_L根集线器不会计入5个集线器限制
Vasily Alexeev

@VasilyAlexeev除非您使用前面的面板,否则有时确实会添加一个面板。并非总是如此
Mathijs Segers's

4
@MathijsSegers然后,按照定义,它不是根集线器,而是内置在计算机机箱中的普通集线器
Vasily Alexeev
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.