10

Я хочу установить связь TCP/IP между двумя компьютерами Linux, которые имеют несколько портов USB 2.0 в качестве единственного варианта подключения. Поскольку доступны порты хоста и подчиненного устройства, я могу подключить их с помощью простого USB-кабеля. Какие есть возможности для пересылки TCP/IP по этому кабелю и какой из них использовать для достижения максимальной пропускной способности?

До сих пор я пробовал переадресацию ADB (Android Debug Bridge), но пропускная способность низкая - всего 30-40 Мбит / с. Я думаю, что должно быть возможно достичь как минимум 150-200 Мбит / с с помощью специализированного драйвера - жесткие диски USB иногда перемещают файлы со скоростью 240-280 Мбит / с из 480 теоретически доступных.

1 ответ1

11

Драйверы Ethernet через USB включены в Linux. Соответствующими драйверами размера хоста являются CDC_ETHER и RNDIS. Их аналогами подчиненного размера (которые по сути эмулируют мост USB-Ethernet в программном обеспечении) являются USB_ETH, USB_ETH_RNDIS. USB_G_ANDROID также поддерживает протокол RNDIS, что прекрасно в моем случае, поскольку рассматриваемые устройства используют ядро Android, поэтому драйвер включен по умолчанию.

Измеренная пропускная способность моста USB с помощью драйвера USB_G_ANDROID составляет ~ 130 Мбит / с от хоста к подчиненному и ~ 90 Мбит / с наоборот.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .