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

13246
ahsteele

Ich versuche, die Fähigkeit meines Monitors zu nutzen, Videoeingang und USB-Quelle (ähnlich 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 des Monitors über sein Dock oder den Desktop (beide Maschinen laufen mit Windows 10) auf die Oberfläche umschalten und den USB-Schalter zusammen mit dem Video umschalten.

Seit der Einführung des USB-Hubs funktioniert das Surface-Dock nicht mehr mit USB, sondern der Desktop. Wenn ich das Dock umgehen und ein USB-Kabel direkt in die Oberfläche stecke, funktioniert es auch. Bei Verbindung über das Surface-Dock erhalte ich die Fehlermeldung:

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

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

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 die USB-Stromversorgung für 127 Geräte die Verkettung zulässt . Ist dieser Eindruck falsch oder stimmt meine Konfiguration nicht?

Zusätzliche Informationen basierend auf den Antworten :

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

USB Tree Viewer screenshot of Surface Dock hub connections

Aus diesem Grund 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 "das Auffinden dieser Informationen in Marketingdokumenten" unwahrscheinlich.

64
Sind Sie an der Vorder- oder Rückseite Ihres Computers angeschlossen? Ich frage das, weil einige Computer so gebaut sind, dass die vorderen USB-Ports eigentlich keine primären Ports sind, sondern eher von den hinteren Ports "gebettet" werden. IronWilliamCash vor 6 Jahren 28
@IronWilliamCash ist an der Rückseite des Desktops angeschlossen. ahsteele vor 6 Jahren 0
Gibt es einen Grund, warum der Monitor im Mix sein muss? LPChip vor 6 Jahren 1
@LPChip (ich bin ein Teammitglied von ahsteele) Der Monitor fungiert für uns als KVM-Switch, indem er zwischen den Videosignalen umschaltet, die der USB mit sich führt. Dadurch können Tastaturen, Mäuse und andere USB-Peripheriegeräte zwischen der Oberfläche und dem Desktop übertragen werden. rheone vor 6 Jahren 3
@rheone Gibt es auch einen echten KVM-Switch? Ich sehe in der Grafik oben keine. IronWilliamCash vor 6 Jahren 0
@IronWilliamCash, der Monitor verfügt über einen eingebauten KVM, darüber hinaus gibt es keinen KVM rheone vor 6 Jahren 1
@rheone .... Es gibt wahrscheinlich den letzten Hub, den wir suchen. Es wird wahrscheinlich an den USB-Hub im Monitor angeschlossen. Daher zählt der Monitor wahrscheinlich als 2 Hubs. IronWilliamCash vor 6 Jahren 1
Verwenden Sie den Geräte-Manager. Menü-> Ansicht-> Geräte nach Verbindung. Sie können dann die Naben miteinander verkettet sehen. Auf diese Weise erfahren Sie, ob es versteckte Hubs gibt, bei denen ein einzelner Hub tatsächlich zwei ist, oder Hubs auf dem Motherboard. Ben vor 6 Jahren 14
Beachten Sie, dass Ihr Motherboard selbst über die USB-Verbindung verfügt, die mit dem Port Ihres PCs verkettet ist, wenn Sie das Frontpanel verwenden (das ist schon einmal mehr Kette). Mathijs Segers vor 6 Jahren 0
Beachten Sie, dass der USB-Standard solche Hubs nicht unterstützt. Sie öffnen die Tür für alle Arten von Problemen, indem Sie sie so weit stapeln. vor 6 Jahren 0
@Mast wie weit darf man stapeln? Tim vor 6 Jahren 0
@ Tim Gute Frage, ich habe eigentlich die genauen Timing-Werte vergessen. Da alles per Handshake abläuft, passen Sie, wenn die Zeit zu lang ist, nicht mehr zu Ihren Timing-Spezifikationen. Ich persönlich werde an 3 Knotenpunkten und weiter nervös. Machen Sie Ihre Kabel zu lang oder führen Sie zu viele Hubs ein, und Sie werden die Zeitvorgaben verpassen. Die [2.0-Spezifikation] finden Sie hier (http://sdphca.ucsd.edu/Lab_Equip_Manuals/usb_20.pdf), Sie können jedoch gerne eine neue Frage stellen. vor 6 Jahren 0
@Tim, das Thema Handshake-Verzögerung wird hier behandelt, https://superuser.com/a/1105099/620011 Es gibt keine Gefahr beim "Stacking" von Hubs. Alle zertifizierten USB 2.0-Hubs werden auf 5-Tier-Betriebsfähigkeit mit 5 getestet. m Kabel nach USB-IF-Testspezifikationen. Ale..chenski vor 6 Jahren 0

3 Antworten auf die Frage

75
Steven

Ihr 10-Port-USB-Hub (und andere Geräte) können intern mehrere USB-Hubs in Reihe 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 sie alle normalerweise von einem oder zwei internen USB-Hubs und nicht von jedem Anschluss mit einer unabhängigen USB-Schaltung.


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

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

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

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

"Enthält Geräte hinter 5 Ebenen verschachtelter Hubs - maximal zulässig"

Das ist schreckliches Design. Warum dürfen wir nicht so viele Hubs verketten, wie wir möchten? Es scheint ziemlich einfach, dieses Limit von 5 zu erreichen, da das Setup von OP nicht einmal so kompliziert erscheint. JamEngulfer vor 6 Jahren 0
Steven, Sie verwechseln die Anzahl der "Tiers" (Verbindungen) mit der Anzahl der Hubs. Die Anzahl der Hubs ist aufgrund der zeitlichen Beschränkung begrenzt, die beim Umdrehen von ACK / NAK / was auch immer besteht. Dies ist in Abschnitt 4.1.1 der USB 2.0-Spezifikationen angegeben. Die Antwortzeit muss in der Halbduplex-Netzwerktopologie begrenzt sein. Erklärungen zu den Gründen für dieses Limit finden Sie unter https://superuser.com/a/1105099/620011 Ale..chenski vor 6 Jahren 9
@JamEngulfer, ja, USB ist nicht die beste Implementierung des Netzwerkparadigmas. Es sollte jedoch keinen weiten Bereich von Geräten abdecken, es sollte billig sein. Die Kostenbegrenzung hat dazu geführt, dass die Lösung halbduplex ist. Daher kann die Protokollantwort nicht verzögert werden, und das Timeout-Limit ist kurz, was die Gesamtumlaufzeit begrenzt, da Hub-Repeater das meiste davon fressen. Hier kommt also die Grenze. Ale..chenski vor 6 Jahren 3
Es ist wirklich nicht so schlimm, 1 Hub 4 Geräte, 2 Hub Levels (5 Hubs, aber nur in 2 Levels) 16 Geräte, 3 Hub Levels (21 Hubs) 64 Geräte, 4 Hub Levels (85 Hubs) 256 Geräte, das ist jetzt mehr als durch andere Beschränkungen für USB (127 Gerätegrenze) auferlegt. ttbek vor 6 Jahren 0
54
Ale..chenski

Beim Zählen von Hubs gehen Sie davon aus, dass jede einzelne Box / jedes Gerät nur einen Hub hat. Diese Annahme ist wahrscheinlich unwahr.

Zu Beginn verfügt der "Amazon Hub" mit 10 Ports über mindestens zwei Hubs in der Kette, da einzelne Hubs nicht mit 10 Ports (maximal 7 Ports) hergestellt werden [siehe diese Erklärung] .

Dann hat der Dell-Monitor auch ein besonderes Design - er hat zwei UPSTREAM-Anschlüsse. Was ist seine innere Architektur, wer weiß?

Das "Surface Dock" ist auch ein Verdächtiger, wenn sich mehr als ein USB-Hub in der Kette befindet. Und ich weiß nicht, ob die "Oberfläche" aus irgendeinem Grund eine zusätzliche interne Nabe verwendet.

Um festzustellen, wie viele Hubs in der Kette vorhanden sind und was / wie alle Dinge miteinander verbunden sind, verwenden Sie USBTreeView.exe auf der Surface-Seite. Ich bin sicher, dass die Oberfläche die richtige Kette hat, und Sie haben mehr als 5 Naben in der Kette.

Zusatz: Der USB-Standard erlaubt 127 Geräte pro Root-Controller. Dies bedeutet nicht, dass sie "in Reihe geschaltet" sind, sondern nur 127. Wenn wir Hubs als funktionsfähige USB-Geräte ausschließen, wird die Gesamtzahl der nützlichen Geräte angegeben bis 102, da Sie in 7-Port-Konfiguration 17 7-Port-Hubs benötigen, um die Geräte unterzubringen, und jeder Hub benötigt eine Adresse aus dem verfügbaren Speicherplatz.

Verdammt, schlag mich dazu. : D Nun, hier einige Bilder, um dies zu veranschaulichen: [Geräte-Manager] (https://i.stack.imgur.com/Omu8d.png), [PCB] (https://i.stack.imgur.com/vdSuL.) .jpg). Daniel B vor 6 Jahren 1
Ich würde vermuten, dass der 10-Port "Amazon Hub" drei 4-Port-Chips in einer Kaskade von 1> 2 hat. Der erste (Upstream) hat zwei Ports, die mit zwei anderen Chips verbunden sind, und 2 Ports sind frei. Sie haben also 4 + 4 + 2 Port-Hub. Diese Ports sollten noch funktionieren. Ale..chenski vor 6 Jahren 5
@AliChen, da wir raten, was hätte der 7-Port "Amazon Hub" drin? ahsteele vor 6 Jahren 0
@ahsteele gibt es Single-Chip-7-Port-USB 3.0 / 3.1-Hubs mit 7 Ports, beispielsweise USB5807. Aber ich würde vermuten, dass der "7-Port-Amazon-Hub" zwei 4-Port-ICs hat. Der IC auf der obersten Ebene verfügt über drei Ports, auf die ein Benutzer zugreifen kann, und ein Port wird zum Verbinden des zweiten ICs mit vier Ports verwendet, so dass insgesamt 3 + 4 = 7 Downstream-Ports vorhanden sind. AFAIK, die gleiche Box gibt es auch im 4-Port-Design. Ich würde vermuten, dass eine Leiterplatte alle drei Optionen 4, 7 und 10 mit BOM-Änderung aufnehmen kann. Aber warum fragst du? Welcher Geräte-Manager oder USBTreeView wird angezeigt? Sie sollten diese Ergebnisse parat haben, oder? Ale..chenski vor 6 Jahren 1
@AliChen werde ich morgen. Leider konnte ich heute nichts damit anfangen, da andere Dinge aufgetaucht waren. Planen Sie, morgen mit den Ergebnissen aus dem USBTreeView zu berichten. ahsteele vor 6 Jahren 0
@AliChen Ich habe einen Screenshot des USB Tree Viewer hinzugefügt, wenn er über das Surface Dock mit dem Surface Book verbunden ist. Ich zähle definitiv mehr als 5 Hubs in der Kette, aber ich bin neugierig, ob es einen anderen Hub gibt, mit dem ich am Ende mehrere Geräte anschließen kann, die nicht so viele interne Hubs haben. ahsteele vor 6 Jahren 0
@ahsteele, ja, genau wie ich vermutete, der letzte Hub (4-Port-IC vom 10-Port-Anazon-Hub) verfügt über zwei Ports zu Benutzeranschlüssen (sollte verwendbar sein), und die anderen beiden Ports gehen zur nächsten Ebene der Hubs (Wie ich schon vermutete, 2 x 4-Port), die die USB-Anforderungen übertreffen. Sie sind 6. in der Kette und mit gelben Markierungen versehen. Sie benötigen einen "Single Layer" -Hub. Jeder 4-Port-Hub sollte einwandfrei funktionieren, oder ein Sieben-Port, der jedoch einen Hub-Controller-IC hat. Ale..chenski vor 6 Jahren 1
@AliChen Gibt es eine Möglichkeit zu erkennen, ob ein Hub ein "Single Layer" -Hub ist? Gibt es eine Marketing- oder Techspezifikation, die ich vor dem Kauf betrachten könnte? ahsteele vor 6 Jahren 1
@ahsteele, ich glaube nicht, dass Sie diese Informationen in Marketingdokumenten finden werden. Eine Möglichkeit ist, ein Beispiel zu erhalten und es mit USBTreeView an einen Host anzuschließen. Die andere Möglichkeit besteht darin, den Kunststoff zu öffnen und nach innen zu schauen. Vielleicht finden Sie auch eine Aufriss-Überprüfung des Geräts, aber wiederum können Hersteller Substitutionen in internen Schaltkreisen vornehmen, damit Sie es nie erfahren. Es tut uns leid. Beachten Sie, dass einige Tastaturen über einen integrierten Hub verfügen, so dass sie auch dann nicht funktionieren, wenn Sie den letzten Hub richtig verwenden. Ale..chenski vor 6 Jahren 2
20
Vasily Alexeev

Um einige experimentelle Daten zu den anderen Antworten hinzuzufügen, liegt das Problem speziell bei Surface Book, 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:

enter image description here

Die hervorgehobenen Hubs gehören zum Surface Dock. Ich habe es verifiziert, indem Sie die Maus direkt an einen der Ports in der Surface Base anschließen.

So haben Sie:

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

Zumindest haben Sie 5 Naben. Wahrscheinlich hat der Monitor mehr als einen Hub, weshalb Sie den Fehler erhalten.

Der einzige Hub, den Sie vermissen, ist der erste Hub, der in den Computer selbst integriert ist, der "Root-Hub". Agent_L vor 6 Jahren 0
@Agent_L der Root-Hub zählt nicht für das 5-Hub-Limit Vasily Alexeev vor 6 Jahren 5
@VasilyAlexeev Es sei denn, Sie verwenden ein Bedienfeld an der Vorderseite, das manchmal tatsächlich eines hinzufügt. Nicht immer aber Mathijs Segers vor 6 Jahren 0
@MathijsSegers ist definitionsgemäß kein Root-Hub, sondern ein normaler Hub, der in das Computergehäuse eingebaut ist Vasily Alexeev vor 6 Jahren 4