Я хочу установить связь TCP / IP между двумя компьютерами Linux, которые имеют несколько портов USB 2.0 в качестве единственного варианта подключения. Поскольку доступны порты хоста и подчиненного устройства, я могу подключить их с помощью простого USB-кабеля. Какие есть возможности для перенаправления TCP / IP по этому кабелю и какой из них использовать для достижения максимальной пропускной способности?
До сих пор я пробовал переадресацию ADB (Android Debug Bridge), но пропускная способность низкая - всего 30-40 Мбит / с. Я думаю, что должно быть возможно достичь как минимум 150-200 Мбит / с с помощью специализированного драйвера - жесткие диски USB иногда перемещают файлы со скоростью 240-280 Мбит / с из 480 теоретически доступных.
linux
usb
tcp
forwarding
jons34yp
источник
источник
Ответы:
Драйверы Ethernet через USB включены в Linux. Соответствующими драйверами размера хоста являются CDC_ETHER и RNDIS. Их аналогами подчиненного размера (которые по сути эмулируют мост USB-Ethernet в программном обеспечении) являются USB_ETH, USB_ETH_RNDIS. USB_G_ANDROID также поддерживает протокол RNDIS, что прекрасно в моем случае, поскольку рассматриваемые устройства используют ядро Android, поэтому драйвер включен по умолчанию.
Измеренная пропускная способность моста USB с использованием драйвера USB_G_ANDROID составляет ~ 130 Мбит / с от хоста к подчиненному и ~ 90 Мбит / с наоборот.
источник