Ich möchte eine TCP / IP-Verbindung zwischen zwei Linux-Computern herstellen, die als einzige Verbindungsoptionen mehrere USB 2.0-Anschlüsse haben. Da sowohl Host- als auch Slave-Ports verfügbar sind, kann ich sie über ein einfaches USB-Kabel anschließen. Welche Möglichkeiten gibt es, TCP / IP über dieses Kabel weiterzuleiten, und welche sollte ich verwenden, um die höchste Bandbreite zu erreichen?
Bisher habe ich versucht, ADB (Android Debug Bridge) weiterzuleiten, aber der Durchsatz ist schlecht - nur 30-40 Mbit / s. Ich denke, dass es möglich sein sollte, mit einem speziellen Treiber mindestens 150-200 Mbit / s zu erreichen - USB-Festplatten verschieben gelegentlich Dateien mit 240-280 Mbit / s von den theoretisch verfügbaren 480.
linux
usb
tcp
forwarding
jons34yp
quelle
quelle
Antworten:
Ethernet über USB-Treiber sind in Linux enthalten. Die relevanten Treiber für die Hostgröße sind CDC_ETHER und RNDIS. Ihre Gegenstücke in Slave-Größe (die im Wesentlichen eine USB-Ethernet-Brücke in Software emulieren) sind USB_ETH, USB_ETH_RNDIS. USB_G_ANDROID unterstützt auch das RNDIS-Protokoll, was in meinem Fall sehr gut ist, da die betreffenden Geräte den Android-Kernel verwenden, sodass der Treiber standardmäßig aktiviert ist.
Die gemessene Bandbreite der USB-Bridge mit dem USB_G_ANDROID-Treiber beträgt ~ 130 Mbit / s von Host zu Slave und ~ 90 Mbit / s umgekehrt.
quelle