Ein USB-Hub funktioniert nicht, wenn er mehr als 5 Hubs vom Root-Port entfernt angeschlossen ist

64

Ich versuche, die Fähigkeit meines Monitors zu nutzen, um den Videoeingang und die USB-Quelle (ähnlich wie bei einem KVM-Switch) mit einem USB-Hub zu wechseln. Zuvor hatte ich alle Geräte direkt an die USB-Anschlüsse des Monitors angeschlossen. Ich könnte den Videoeingang auf dem Monitor über das Dock oder den Desktop auf das Surface umschalten (auf beiden Computern wird Windows 10 ausgeführt) und USB zusammen mit dem Video umschalten.

Seit Einführung des USB-Hubs funktioniert das Surface-Dock nicht mehr mit USB, der Desktop jedoch. Wenn ich das Dock umgehe und ein USB-Kabel direkt an die Oberfläche anschließe, funktioniert es auch. Wenn ich über das Surface Dock verbunden bin, erhalte ich die Fehlermeldung:

Zu viele USB-Hubs sind miteinander verbunden. Ein USB-Hub funktioniert nicht, wenn er mehr als 5 Hubs vom Root-Port entfernt angeschlossen ist.

Der Desktop ist ein generischer PC, aber da das Surface Probleme hat, habe ich ihn in der Liste der Geräte in meiner Konfiguration speziell aufgeführt:

Wenn ich den Fehler explizit lese, kann ich nur 4 USB-Hubs zählen: Surface Book, Surface Dock, Monitor und USB-Hub. Um zu erklären, wie ich die Dinge angeschlossen habe, habe ich dieses Diagramm zusammengestellt:

Konfigurationsdiagramm

Bis zu diesem Fehler hatte ich den Eindruck, dass Powered USB die Verkettung von 127 Geräten ermöglichte . Ist dieser Eindruck falsch oder stimmt etwas mit meiner Konfiguration nicht?

Zusätzliche Informationen basierend auf Antworten :

Meine USB-Hub-Kette, wie sie mit USB Tree Viewer angezeigt wird, wenn Sie über das Surface Dock mit meinem Surface Book verbunden sind:

USB Tree Viewer-Screenshot der Surface Dock-Hub-Verbindungen

Daran sehe ich definitiv, dass es am Ende mehr als 5 Hubs vom Root-Port zu den Geräten gibt. Es scheint, dass ein "Single Layer" -Hub am Ende das Problem lösen würde. Laut Ali Chens Kommentar wäre es unwahrscheinlich, "diese Informationen in Marketingdokumenten zu finden".

ahsteele
quelle
28
Sind Sie an der Vorder- oder Rückseite Ihres Computers angeschlossen? Ich frage dies, weil einige Computer so gebaut sind, dass die vorderen USB-Ports eigentlich keine primären Ports sind, sondern von den hinteren Ports "hubbed" werden.
IronWilliamCash
1
Gibt es einen Grund, warum der Monitor im Mix sein muss?
LPChip
3
@LPChip (ich bin ein Teammitglied von ahsteele) Der Monitor fungiert für uns als KVM-Switch, indem er zwischen Videosignalen umschaltet, an denen auch der USB-Stick entlang wandert. Auf diese Weise können Tastaturen, Mäuse und andere USB-Peripheriegeräte zwischen der Oberfläche und dem Desktop übertragen werden.
Rheone
1
@IronWilliamCash, der Monitor hat eine eingebaute KVM, darüber hinaus gibt es keine KVM
Rheone
14
Verwenden Sie den Geräte-Manager. Menü-> Ansicht-> Geräte nach Verbindung. Sie können dann die Hubs sehen, die aneinander gekettet sind. Hier erfahren Sie, ob es versteckte Hubs gibt, bei denen ein Hub tatsächlich zwei Hubs umfasst, oder Hubs auf dem Motherboard.
Ben

Antworten:

54

Bei der Zählung von Hubs wird davon ausgegangen, dass jede einzelne Box / jedes einzelne Gerät nur einen Hub hat. Diese Annahme ist wahrscheinlich falsch.

Zu Beginn hat der 10-Port "Amazon Hub" definitiv mindestens zwei Hubs in der Kette, da einzelne Hubs nicht mit 10 Ports und maximal 7 Ports hergestellt werden [siehe diese Erklärung] .

Dann hat der Dell-Monitor auch ein spezielles Design - er hat ZWEI UPSTREAM-Ports. Was ist seine interne Architektur, wer weiß.

Das "Surface Dock" steht auch im Verdacht, mehr als einen USB-Hub in der Kette zu haben. Und ich weiß nicht, ob die "Oberfläche" aus irgendeinem Grund einen zusätzlichen internen Hub verwendet.

Verwenden Sie USBTreeView.exe auf der Surface-Seite , um eine Vorstellung davon zu erhalten, wie viele Hubs sich in der Kette befinden und wie alle Dinge miteinander verbunden sind . Ich bin sicher, die Surface hat die richtige Kette gefunden und Sie haben mehr als 5 Naben in der Kette.

Ergänzung: Der USB-Standard erlaubt 127 Geräte pro Root-Controller. Dies bedeutet nicht, dass sie verkettet sind, sondern nur 127. In der Tat ergibt sich die Gesamtzahl der nützlichen Geräte, wenn Hubs als funktionierende USB-Geräte eingestuft werden Da Sie in der dreistufigen Konfiguration 17 7-Port-Hubs benötigen, um die Geräte unterzubringen, wird für jeden Hub eine Adresse aus dem verfügbaren Speicherplatz entfernt.

Ale..chenski
quelle
1
Verdammt, schlag mich dazu. : D Nun, hier einige Bilder, um dies zu veranschaulichen: Geräte-Manager , Leiterplatte .
Daniel B
5
Ich würde vermuten, dass der 10-Port "Amazon Hub" drei 4-Port-Chips in einer Kaskade 1-> 2 hat. Der erste (Upstream) hat zwei Ports, die mit zwei anderen Chips verbunden sind, und zwei Ports sind frei. Sie haben also einen 4 + 4 + 2-Port-Hub. Diese zu Ports sollten noch funktionieren.
Ale..chenski
1
@ahsteele, es gibt Single-Chip-7-Port-USB-3.0 / 3.1-Hubs, zum Beispiel USB5807. Ich würde aber vermuten, dass der "7-Port Amazon Hub" zwei 4-Port ICs hat. Das IC der oberen Ebene verfügt über 3 vom Benutzer zugängliche Ports, und ein Port wird zum Anschließen des zweiten IC mit 4 Ports verwendet, sodass insgesamt 3 + 4 = 7 Downstream-Ports vorhanden sind. AFAIK, die gleiche Box gibt es auch als 4-Port-Ausführung. Ich würde vermuten, dass eine Platine alle drei Optionen (4, 7 und 10) mit Stücklistenänderung aufnehmen kann. Aber warum fragst du? Welche Geräte-Manager oder USBTreeView zeigen? Sie sollten diese Ergebnisse bereithalten, oder?
Ale..chenski
1
@ahsteele, ja, genau wie ich vermutet habe, hat der letzte Hub (4-Port-IC vom 10-Port-Anazon-Hub) zwei Ports für Benutzeranschlüsse (sollte verwendbar sein), und die anderen beiden Ports gehen zur nächsten Hub-Ebene (wie ich vermutet habe, 2 x 4 port), die die USB anforderung überschreiten. Sie sind 6. in der Kette und mit gelben Markierungen gekennzeichnet. Sie benötigen einen "Single Layer" -Hub. Jeder 4-Port-Hub sollte einwandfrei funktionieren, oder ein 7-Port-Hub mit einem einzelnen Hub-Controller-IC.
Ale..chenski
2
@ahsteele, ich glaube nicht, dass Sie diese Informationen in Marketingdokumenten finden. Eine Möglichkeit besteht darin, ein Beispiel abzurufen und es mit USBTreeView an einen Host anzuschließen und zu überprüfen. Der andere Weg ist, den Kunststoff zu öffnen und einen Blick hinein zu werfen. Oder vielleicht finden Sie eine Auflösungsüberprüfung des Geräts, aber auch hier können Hersteller Ersetzungen in internen Schaltkreisen vornehmen, sodass Sie es nie erfahren. Es tut uns leid. Denken Sie daran, dass einige Tastaturen möglicherweise über einen integrierten Hub verfügen, sodass sie auch dann nicht funktionieren, wenn Sie den letzten Hub ordnungsgemäß verwenden.
Ale..chenski
75

Ihr 10-Port-USB-Hub (und andere Geräte) können intern mehrere USB-Hubs in Serie enthalten.

USB-Hub - Wikipedia

USB-Hubs werden häufig in Geräte wie Computer, Tastaturen, Monitore oder Drucker eingebaut. Wenn ein solches Gerät über viele USB-Anschlüsse verfügt, stammen diese normalerweise alle von einem oder zwei internen USB-Hubs und nicht von jedem Anschluss mit einer unabhängigen USB-Schaltung.


Wie bereits erwähnt, können mit der USB-Spezifikation 127 Geräte über einen einzigen Port angeschlossen werden. Die USB-Spezifikation erlaubt jedoch nur Hubs mit einer Tiefe von fünf oder sieben Ebenen, wenn sowohl das Endgerät als auch das Root-Gerät (der Onboard-Controller selbst) enthalten sind.

Eine technische Einführung in USB 2.0 - USB.org (PDF)

Einem neu angeschlossenen Hub wird seine eindeutige Adresse zugewiesen, und Hubs können bis zu fünf Ebenen tief hintereinander geschaltet werden.

Interoperabilitätstest mit USB Typ C - USB.org (PDF)

"Enthält Geräte hinter 5 Ebenen von verschachtelten Hubs - die maximal zulässige"

Steven
quelle
Das ist schreckliches Design. Warum sollten wir nicht so viele Hubs ketten dürfen, wie wir möchten? Es scheint ziemlich einfach zu sein, dieses Limit von 5 zu erreichen, da OPs Setup nicht einmal so kompliziert zu sein scheint.
JamEngulfer
9
Steven, Sie verwechseln die Anzahl der "Tiers" (Verbindungen) mit der Anzahl der Hubs. Die Anzahl der Hubs ist aufgrund von zeitlichen Einschränkungen beim Umschalten von ACK / NAK / was auch immer begrenzt. Dies ist in Abschnitt 4.1.1 der USB 2.0-Spezifikationen angegeben. Die Antwortzeit muss in der Halbduplex-Netzwerktopologie begrenzt sein. Zur Erläuterung der Gründe für diese Grenze, siehe superuser.com/a/1105099/620011
Ale..chenski
3
@ JamEngulfer, ja, der USB ist nicht die beste Implementierung des Netzwerkparadigmas. Aber es sollte nicht einen weiten Bereich von Geräten abdecken, es sollte billig sein. Die Kostenbegrenzung hat also dazu geführt, dass die Lösung halbduplex ist. Daher kann die Protokollantwort nicht aufgeschoben werden, und das Zeitlimit ist kurz, was die Gesamtumlaufzeit einschränkt, da Hub-Repeater den größten Teil davon verbrauchen. Hier kommt also die Grenze.
Ale..chenski
Es ist wirklich nicht so schlimm, 1 Hub 4 Geräte, 2 Hub-Ebenen (5 Hubs, aber nur in 2 Ebenen) 16 Geräte, 3 Hub-Ebenen (21 Hubs) 64 Geräte, 4 Hub-Ebenen (85 Hubs) 256 Geräte, das ist jetzt mehr als das, was andere Beschränkungen für USB auferlegen (127 Gerätebegrenzung).
ttbek
20

Um einige experimentelle Daten zu den anderen Antworten hinzuzufügen, liegt Ihr Problem speziell bei Surface Book vor, da Surface Dock über zwei USB-Hubs verfügt. Ich habe auch ein Surface Dock mit einem Surface Book und das sehe ich im Geräte-Manager, wenn ich eine Maus an das Dock anschließe:

Bildbeschreibung hier eingeben

Die hervorgehobenen Hubs gehören zum Surface Dock. Ich habe sie überprüft, indem ich die Maus direkt an einen der Ports in der Surface Base angeschlossen habe.

So haben Sie:

  1. Surface Dock - 2 Hubs
  2. Monitor - mindestens 1 Hub
  3. 10-Port-USB-Hub - mindestens 2 Hubs, da ein Hub, wie in den anderen Antworten erwähnt, maximal 7 Ports haben kann

Sie haben also mindestens 5 Hubs. Wahrscheinlich hat der Monitor mehr als einen Hub und deshalb wird der Fehler angezeigt.

Wassili Alexejew
quelle
Der Hub, den Sie vermissen, ist der erste Hub, der in den Computer selbst eingebaut ist, der "Root-Hub".
Agent_L
5
@Agent_L der Root-Hub zählt nicht für das 5-Hub-Limit
Vasily Alexeev
@VasilyAlexeev Es sei denn, Sie verwenden ein Bedienfeld auf der Vorderseite, bei dem manchmal tatsächlich eines hinzugefügt wird. Nicht immer aber
Mathijs Segers
4
@MathijsSegers dann per Definition ist es kein Root-Hub, sondern ein normaler Hub im Computergehäuse
Vasily Alexeev