Desejo estabelecer um link TCP / IP entre duas máquinas Linux que tenham várias portas USB 2.0 como as únicas opções de conexão. Como as portas host e escravo estão disponíveis, eu posso conectá-las através de um simples cabo USB. Quais são as possibilidades de encaminhar o TCP / IP por esse cabo e qual devo usar para obter a maior largura de banda?
Até agora, tentei o encaminhamento do ADB (Android Debug Bridge), mas a taxa de transferência é baixa - apenas 30-40Mbps. Eu acho que deveria ser possível atingir pelo menos 150-200Mbps usando um driver especializado - os discos rígidos USB ocasionalmente movem arquivos de 240-280Mbps dos 480 teoricamente disponíveis.
linux
usb
tcp
forwarding
jons34yp
fonte
fonte
Respostas:
Os drivers Ethernet sobre USB estão incluídos no Linux. Os drivers de tamanho de host relevantes são CDC_ETHER e RNDIS. Seus colegas do tamanho de escravo (que emulam essencialmente uma ponte USB-Ethernet em software) são USB_ETH, USB_ETH_RNDIS. USB_G_ANDROID também suporta o protocolo RNDIS, o que é ótimo no meu caso, uma vez que os dispositivos em questão usam o kernel do Android, portanto o driver é ativado por padrão.
A largura de banda medida da ponte USB usando o driver USB_G_ANDROID é de ~ 130Mbps do host ao escravo e ~ 90Mbps ao contrário.
fonte