A melhor maneira de fazer TCP / IP através de USB no Linux

10

Eu quero 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 do host e do escravo estão disponíveis, 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 delas devo usar para obter a maior largura de banda?

Até agora eu tentei o encaminhamento ADB (Android Debug Bridge), mas a taxa de transferência é baixa - apenas 30-40Mbps. Eu acho que deve ser possível atingir pelo menos 150-200Mbps usando um driver especializado - discos rígidos USB ocasionalmente movem arquivos em 240-280Mbps dos 480 disponíveis teoricamente.

    
por jons34yp 10.05.2013 / 05:03

1 resposta

11

Os drivers Ethernet over USB estão incluídos no Linux. Os drivers de tamanho do host relevantes são CDC_ETHER e RNDIS. Seus equivalentes de tamanho escravo (que essencialmente emulam uma ponte USB-Ethernet no software) são USB_ETH, USB_ETH_RNDIS. O USB_G_ANDROID também suporta o protocolo RNDIS, o que é ótimo no meu caso, já 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 é ~ 130Mbps do host ao escravo e ~ 90Mbps o inverso.

    
por 11.05.2013 / 03:05