Sono nuovo alla programmazione del kernel Linux. Desidero sviluppare un programma per leggere le informazioni sull'unità USB come il nome del produttore, la capacità, ecc. Conosco i descrittori e i loro attributi. Ma non capisco come enumerare le unità USB collegate al sistema. Sto cercando la funzione che avvia la connessione tra kernel e porta USB. Come è possibile?Programmazione USB Linux
risposta
Non è necessario programmare il kernel in quanto tale, infatti per leggere le informazioni sul dispositivo non è nemmeno necessario un driver di periferica.
Il sistema USB è differente nei recenti kernel 2.6 così un sacco di tutorial online potrebbe non essere aggiornato - ma iniziare qui http://www.linux-usb.org/
Se si vuole scrivere un driver di periferica USB vedere questo Linux journal tutorial
Vuoi veramente programmare il kernel? Esiste un'utility lsusb, in grado di leggere "Informazioni sull'unità USB come il nome del produttore", descrittori ... Inoltre è in grado di enumerare tutti i dispositivi USB.
Fonti di lsusb
sono ad es. qui http://www.google.com/codesearch#VKTEFMx6wp0/lsusb.c
Se si sta scrivendo un driver USB, che funziona in modalità kernel, suggerisco di leggere alcune domande frequenti sulla programmazione dei driver USB e USB.
È divertente come il più specifico argomento del sistema operativo (creazione di driver) menzioni nessun sistema operativo. – Blindy
Molto simile a questo, pubblicato da Jay piuttosto che da Jau: http://stackoverflow.com/questions/6452625/linux-kernel-programming – Raoul
Mi dispiace di non averlo menzionato. È su Linux – Jay