2011-06-23 19 views
5

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

+2

È divertente come il più specifico argomento del sistema operativo (creazione di driver) menzioni nessun sistema operativo. – Blindy

+1

Molto simile a questo, pubblicato da Jay piuttosto che da Jau: http://stackoverflow.com/questions/6452625/linux-kernel-programming – Raoul

+0

Mi dispiace di non averlo menzionato. È su Linux – Jay

risposta

4

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

3

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.