it-swarm.com.de

Wie viele USB-Festplatten können mit einem Port-Replikator an einen Laptop angeschlossen werden?

Ich habe einen Laptop mit 2 USB 2.0- und 1 USB 3.0-Anschlüssen und möchte wissen, wie viele USB-Festplatten ich anschließen kann. Gibt es eine feste Grenze im Linux-Kernel?

Welche Geschwindigkeit wird auf der Leistungsseite auf die am Port angeschlossenen Laufwerke aufgeteilt?

10
719016

Theoretisch können Sie bis zu 127 Geräte an einen Host-PC anschließen, aber es gibt praktische Einschränkungen hinsichtlich Leistung und Datenbandbreite, die dies verhindern würden. Diese 127 Geräte können in einem mehrstufigen Netzwerk von Hubs mit bis zu sieben Ebenen angeordnet werden, wobei der PC-Host als Ebene 1 und das am weitesten entfernte Gerät als Ebene 7 gezählt werden. Der PC versorgt einen Hub mit 5 Stromversorgungseinheiten. Jede Einheit ist 100 mA und jeder Port erfordert mindestens 1 Einheit. Der Hub selbst verbraucht eine Einheit und lässt 4 Einheiten für bis zu 4 Ports übrig. Sie werden also niemals einen Hub mit Busversorgung mit mehr als vier Ports finden.

Hubs mit Bus-Stromversorgung haben eine weitere Einschränkung. Da jeder Port nur eine Stromversorgungseinheit hat, können sie nur eine nachgeschaltete Verbindung zu einem einzelnen Gerät herstellen. Sie können sie nicht zur Erweiterung an einen anderen Hub anschließen, da für diesen Hub zusätzliche 5 Einheiten erforderlich sind. Und nicht alle Geräte können mit einer einzigen Einheit betrieben werden. Ein Gerät mit geringem Stromverbrauch wie eine Maus funktioniert, ein Gerät mit hohem Stromverbrauch kann jedoch bis zu 5 Einheiten beanspruchen. Hochleistungs-USB-Geräte funktionieren nur, wenn sie direkt an einen PC-Host oder einen Hub mit eigener Stromversorgung angeschlossen sind, der den Port mit 5 Einheiten versorgen kann.

Wenn Sie ein Gerät anschließen, fragt der PC das Gerät nach seinen Funktionen und Anforderungen ab. So weiß der PC beispielsweise, dass er an einen 4-Port-Hub mit Busversorgung angeschlossen ist, sodass jeder Port nur eine Einheit steuern kann. Wenn Sie versuchen, ein Hochleistungsgerät an diesen Hub anzuschließen, gibt das Betriebssystem eine Fehlermeldung aus und verweigert die Aktivierung des Geräts.

Hubs mit Bus-Stromversorgung sind aufgrund dieser Einschränkungen im Allgemeinen eine schlechte Idee und hauptsächlich für den mobilen und nicht für den Desktop-Einsatz gedacht.

Wenn die an den Port angeschlossenen Geräte selbst mit Strom versorgt werden, benötigen sie möglicherweise nicht mehr als eine Einheit vom Hub. Externe Festplatten haben beispielsweise eine eigene Stromversorgung, sodass sie auf einem Hub mit Bus-Stromversorgung einwandfrei funktionieren sollten.

Ein Hub mit eigener Stromversorgung kann 5 Einheiten an jeden Port liefern, wodurch Hochleistungsgeräte und weitere Hub-Ebenen möglich werden. Sie können also einen Hub mit 7 Anschlüssen und anschließend sieben weitere Hubs mit 7 Anschlüssen anschließen. Auf der vierten Ebene stehen Ihnen 49 Anschlüsse zur Verfügung.

Bei einigen Hubs mit eigener Stromversorgung können Sie diese auch im Bus-Modus verwenden. Wenn Sie jedoch versuchen, zu viele Geräte anzuschließen, erhalten Sie vom Betriebssystem eine Fehlermeldung.

Die meisten Hub-Controller-Chips haben 4 Ports, sodass Sie normalerweise Hubs mit 4 Ports sehen. Wenn sie einen größeren Hub bauen möchten, verwenden sie nur zwei 4-Port-Chips. Sie müssen sie jedoch verketten, indem der erste Chip mit dem Host verbunden und der zweite mit einem der Downstream-Ports des ersten Chips verbunden wird. Dadurch bleiben dem Benutzer nur sieben Ports übrig, drei auf dem ersten Chip und vier auf dem zweiten - daher der übliche 7-Port-Hub.

USB ist Plug-and-Play in dem Sinne, dass Sie nichts davon wissen müssen, wenn Sie Dinge anschließen. Das Betriebssystem verfolgt das Strombudget jedes Hubs und Geräts und teilt Ihnen mit, ob die Verbindung nicht funktioniert und ob Sie einen eigenversorgten Port verwenden müssen.

edit: USB-Pakete sehen so aus:

Token: 
 Paket-ID: 8 Bit 
 Adresse: 7 Bit 
 Endpunkt: 4 Bit 
 CRC: 5 Bit 
 
 Start des Rahmens: 
 Paket-ID: 8 Bits 
 Rahmennummer: 11 Bits 
 CRC: 5 Bits 
 
 Datenpaket: 
 Paket-ID: 8 Bits 
 Daten: 0-1023 Bytes 
 CRC: 16 Bits 
 
 Handshake: 
 Paket-ID: 8 Bits 
 .]

Da die Adresse nur 7 Bit beträgt, können Sie nur 128 Geräte auf dem gesamten Bus haben (mit 7 Bits, die jeweils ein- und ausgeschaltet sein können, sind insgesamt nur 128 verschiedene Bit-Kombinationen möglich). Dies schließt Ihren Computer mit ein, sodass 127 andere Dinge übrig bleiben, die Sie daran anhängen können.

13
Rinzwind

Sie werden also feststellen, dass Sie mit USB3-Chipsätzen tatsächlich ein Limit von 30 Geräten erreichen, was auf ein hartes Limit von 32 Geräten (echtes Limit von 96 Endpunkten) bei USB3-Chipsätzen zurückzuführen ist.

Ich habe mich auch mit diesem Problem befasst und es dauerte eine Weile, bis ich das eigentliche Problem und die richtigen Lösungen gefunden hatte. Es ist eine lange Seite, also können Sie sie dort lesen http://marc.merlins.org/perso/linux/post_2018-12-20_Getting-Around-USB3-xhci-32-Device-Limit- Max-Anzahl-Geräte-dieses-xHCI-Host-unterstützt-ist-32 . Html

Im Grunde läuft es auf diese Dinge hinaus
1) Bei USB3 gibt es ein Limit von 96 Endpunkten (übersetzt nur auf 32 Geräte)
2) Sie verlieren weitere Endpunkte aufgrund von Hubs. Wenn Sie ein USB2-Kabel an einen USB3-Hub anschließen, haben Sie ein paar Steckplätze zurück
3) Im Allgemeinen sollten Sie USB3 deaktivieren, wenn Sie darauf verzichten können (entfernen Sie den USB3-Kerneltreiber oder deaktivieren Sie USB3 in Ihrem BIOS, wenn Sie können). Die Verwendung eines USB3-Chips im USB2-Modus hilft nicht. Sie müssen USB3 deaktivieren, damit Ihr Motherboard den Port zu einem USB2-Controller umleitet, der nicht über diese Endpunktbeschränkung verfügt. 4) Wenn Sie USB3 nicht deaktivieren können, erwerben Sie eine PCIe-Karte nur für USB2 und dieser wird dir wirklich 120 Geräte geben oder so.

Weitere Ressourcen: https://www.spinics.net/lists/linux-usb/msg175224.html
https://forums.intel.com/s/question/0D50P00004905stSAA/hardware-limitations-on-usb-endpoints-xhci?language=en_US

0
Marc Merlin