Лучший способ сделать TCP / IP через USB в Linux

10

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

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

jons34yp
источник
1
Вы можете получить две сетевые карты USB (вы можете получить гигабитные, но они не будут максимально работать на полной скорости) и просто использовать обычный сетевой стек ..?
Марк Хендерсон
Они стоят дороже и добавляют дополнительные накладные расходы.
jons34yp
1
Ну, вы ничего не упомянули в своем вопросе о бюджетных требованиях, и они могут быть чрезмерными, но это будет быстрее, чем 40 Мбит / с.
Марк Хендерсон
Что вы имеете в виду, как порты master и slave доступны? ПК имеют только мастер-порты.
Псуси
1
@MarkHenderson - «получить две сетевые карты USB» - это (правильно) не называется «картой», когда это уже не голая печатная плата (печатная плата). Когда он заключен в оболочку, то это модуль или адаптер. В противном случае, я согласен, пара адаптеров USB-Ethernet является наиболее простым (и, возможно, «лучшим») решением. Если только «лучший» означает только «самый быстрый».
опилки

Ответы:

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 Мбит / с наоборот.

jons34yp
источник