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
Odpowiedz
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
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.
To zabawne, jak najbardziej specyficzny dla systemu operacyjnego temat (tworzenie sterowników) wspomina o żadnym systemie operacyjnym. – Blindy
Bardzo podobny do tego, wysłany przez Jaya zamiast Jau: http://stackoverflow.com/questions/6452625/linux-kernel-programming – Raoul
Przykro mi, że nie wspomniałem. To jest na Linuksie – Jay