2011-06-23 8 views
5

Jestem nowym programistą jądra Linuksa. Chcę opracować program do odczytu informacji o napędzie USB, takich jak nazwa producenta, pojemność itp. Wiem o deskryptorach i ich atrybutach. Ale nie rozumiem, jak wyliczyć napędy USB podłączone do systemu. Szukam funkcji, która inicjuje połączenie między jądrem a portem USB. Jak to jest możliwe?Programowanie USB w Linuksie

+2

To zabawne, jak najbardziej specyficzny dla systemu operacyjnego temat (tworzenie sterowników) wspomina o żadnym systemie operacyjnym. – Blindy

+1

Bardzo podobny do tego, wysłany przez Jaya zamiast Jau: http://stackoverflow.com/questions/6452625/linux-kernel-programming – Raoul

+0

Przykro mi, że nie wspomniałem. To jest na Linuksie – Jay

Odpowiedz

4

Nie trzeba programować jądra jako takiego - w rzeczywistości, aby odczytać informacje o urządzeniu, nie potrzebujesz nawet sterownika urządzenia.

System USB różni się w nowszych jądrach 2.6 tak wiele tutoriali internetowych może być nieaktualne - ale rozpocząć tutaj http://www.linux-usb.org/

Jeżeli chcesz napisać sterownik urządzenia USB zobaczyć ten Linux journal tutorial

3

Czy na pewno chcesz programować jądro? Istnieje narzędzie lsusb, które potrafi odczytać "informacje o napędzie USB, takie jak nazwa jego producenta", deskryptory ... Można również wyliczyć wszystkie urządzenia USB.

Źródła lsusb to np. tutaj http://www.google.com/codesearch#VKTEFMx6wp0/lsusb.c

Jeśli piszesz sterownik USB, który działa w trybie jądra, proponuję przeczytać niektóre z najczęściej zadawanych pytań dotyczących sterowników USB i sterowników USB.