Stiamo creando un dispositivo e dispone di 8 porte seriali. Funziona con il kernel Monta Vista Pro5. E stiamo lavorando in C.Come trovare quale dispositivo è collegato a una porta seriale USB in Linux usando C?
Supponiamo: Un dispositivo viene collegato a ttyUSB0, ttyUSB1 e ttyUSB2. Il dispositivo successivo viene connesso a ttyUSB3 e un altro a ttyUSB4. Come posso sapere quale dispositivo viene collegato a quale porta ?? cioè ttyUSB0 o ttyUSB1 o così via. C'è un modo per interrogare direttamente il dispositivo e trovare a quale porta è collegato. Oppure, in C, apri ttyUSB0, interrogalo in qualche modo e ottieni una risposta su quale dispositivo è ??
Un modo piuttosto complicato: fare una statistica, ad esempio/dev/ttyUSB0. Ottieni il numero del dispositivo. E cercare questo in/proc/bus/usb/dispositivi e trovare l'id del venditore o qualcosa per identificare il dispositivo.
Oppure: C'è un modo per prenotare ttyUSB0, ttyUSB1 e ttyUSB2 per un dispositivo, ttyUSB3 per un altro e così via quando sono collegati? In questo modo saprò quale dispositivo è connesso a quale porta.
Aiuto per favore ..... :)
Grazie in anticipo. Nubin Stanley
Fammi vedere se ho ottenuto questo diritto. Quello che stai cercando di fare è abbinare i nodi/dev/ttyUSBx al dispositivo/proc/bus/usb sul sistema host? O stai cercando di identificare un dispositivo seriale collegato a un adattatore USB? – thkala
stat'ing/dev/ otterrà solo le versioni principali e secondarie del dispositivo.Questi non sono in alcun modo collegati a ID fornitore/prodotto/dispositivo. –
thkala
Quindi hai un dispositivo con qualche IC usbserial (ad esempio da FTDI) e devi identificarlo? Avete impostato ID fornitore/prodotto e numero di serie nel chip usbserial? – thkala