Chcę ustanowić łącze TCP / IP między dwoma komputerami z systemem Linux, które mają kilka portów USB 2.0 jako jedyne opcje połączenia. Ponieważ dostępne są zarówno porty hosta, jak i slave, mogę je podłączyć za pomocą prostego kabla USB. Jakie są możliwości przekazywania TCP / IP za pomocą tego kabla i którego należy użyć, aby uzyskać najwyższą przepustowość?
Do tej pory próbowałem przekierowania ADB (Android Debug Bridge), ale przepustowość jest niska - tylko 30-40 Mb / s. Myślę, że powinno być możliwe osiągnięcie co najmniej 150-200 Mb / s za pomocą specjalistycznego sterownika - dyski twarde USB czasami przenoszą pliki z prędkością 240-280 Mb / s z 480 dostępnych teoretycznie.
linux
usb
tcp
forwarding
jons34yp
źródło
źródło
Odpowiedzi:
Sterowniki Ethernet przez USB są zawarte w systemie Linux. Odpowiednimi sterownikami wielkości hosta są CDC_ETHER i RNDIS. Ich odpowiednikami wielkości slave (które zasadniczo emulują mostek USB-Ethernet w oprogramowaniu) są USB_ETH, USB_ETH_RNDIS. USB_G_ANDROID obsługuje także protokół RNDIS, co w moim przypadku jest świetne, ponieważ dane urządzenia używają jądra Androida, więc sterownik jest domyślnie włączony.
Zmierzona przepustowość mostu USB przy użyciu sterownika USB_G_ANDROID wynosi ~ 130 Mb / s od hosta do urządzenia podrzędnego i ~ 90 Mb / s na odwrót.
źródło