2012-10-29 21 views
8

W skrócie, opracowuję system wbudowany, który wymaga, między innymi, mostu z portu hosta USB do portu urządzenia (to tylko pierwszy krok, później przesyłane informacje będą być filtrowane i zmieniane).Most host USB do urządzenia

Biorąc pod uwagę, że to w zasadzie USB Snooper/Sniffer, pomyślałem, że ktoś powinien napisać moduł do tego zdolny, ale moje poszukiwania okazały się daremne.

Na pytanie: Jaki jest najprostszy sposób przekierowania hosta USB na urządzenie USB w systemie Linux? Dane muszą być identyczne, wszystkie deskryptory i punkty końcowe muszą być zgodne. To musi być Linux przyjazny, mogę kod w C/C++ i mają pewne doświadczenie z kodowania modułów jądra, sterowników itp

+0

Zasadniczo musisz napisać własny sterownik, który powinien przetwarzać dane do/z zewnątrz. Powinieneś zacząć się zastanawiać, w jaki sposób można zbudować sterownik USB w systemie Linux. – garzanti

Odpowiedz

5

znalazłem poprzednią pracę w http://www.elinux.org/BeagleBoard/GSoC/2010_Projects/USBSniffer

najprostszy sposób przekierować hosta USB do Urządzenie USB w Linuksie jest, moim zdaniem, używać zarówno peryferyjnego stosu Linuksa, jak i stosu USB gadżetu Linuksa. Te stacki dbają o niski poziom, więc twój kod powinien dotyczyć tylko wysokiego poziomu interakcji między tymi dwoma stosami. Dodatkową korzyścią jest to, że sniffer (przez usbmon) przyjdzie prawie za darmo.

W ten sposób będzie miał do czynienia z jądrem Linux, musi być przyjazny dla systemu Linux. Interfejs do obu stosów jest (przynajmniej) dostępny w C. Więc twoje warunki są spełnione.

+0

Dziękuję za link, niech to będzie później. I w zasadzie tak, poszedłem trochę wyższy poziom. Nie tak elastyczny, ale miałem poważne ograniczenia czasowe. Gdybym kiedykolwiek doszedł do tego, by to poprawić, też bym to zrobił. – user1783395

Powiązane problemy