Je veux établir une liaison TCP / IP entre deux machines Linux qui ont plusieurs ports USB 2.0 comme seules options de connexion. Étant donné que les ports hôte et esclave sont disponibles, je peux les connecter via un simple câble USB. Quelles sont les possibilités de transmettre TCP / IP sur ce câble et laquelle dois-je utiliser pour obtenir la bande passante la plus élevée?
Jusqu'à présent, j'ai essayé le transfert ADB (Android Debug Bridge), mais le débit est médiocre - seulement 30 à 40 Mbps. Je pense qu'il devrait être possible d'atteindre au moins 150-200 Mbps en utilisant un pilote spécialisé - les disques durs USB déplacent parfois des fichiers à 240-280 Mbps sur les 480 théoriquement disponibles.
linux
usb
tcp
forwarding
jons34yp
la source
la source
Réponses:
Les pilotes Ethernet sur USB sont inclus dans Linux. Les pilotes de taille d'hôte appropriés sont CDC_ETHER et RNDIS. Leurs homologues de taille esclave (qui émulent essentiellement un pont USB-Ethernet dans le logiciel) sont USB_ETH, USB_ETH_RNDIS. USB_G_ANDROID prend également en charge le protocole RNDIS, ce qui est génial dans mon cas, car les appareils en question utilisent le noyau Android, donc le pilote est activé par défaut.
La bande passante mesurée du pont USB à l'aide du pilote USB_G_ANDROID est d'environ 130 Mbps de l'hôte à l'esclave et de 90 Mbps dans l'autre sens.
la source