Ho bisogno di gestire due componenti hardware personalizzati che inviano entrambi i dati di debug su due connessioni seriali. Quelle connessioni seriali passano attraverso due convertitori seriale-USB. I dispositivi da seriale a USB hanno lo stesso numero di telefono, numeri di dispositivo e, apparentemente, gli stessi numeri di serie.Come faccio a registrare i dati dalle mie porte seriali in modo coerente?
Ecco il problema: voglio registrare le due porte seriali separatamente. L'hardware personalizzato deve essere riavviato costantemente e se si collegano allo stesso /dev/ttyUSB*
è completamente casuale. Come posso far sì che scelgano sempre lo stesso percorso del dispositivo? Potrei renderlo dipendente da quale porta è collegato, ma sembra una specie di hacky.
Così, ho eseguito un diff contro l'uscita di udevadm, in questo modo:
$ udevadm info -a -p `udevadm info -q path -n /dev/ttyUSB1` > usb1
$ udevadm info -a -p `udevadm info -q path -n /dev/ttyUSB2` > usb2
$ diff usb1 usb2
The output of the diff is long; you can see it here
grep per seriale (uguale per entrambi):
$ udevadm info -a -p `udevadm info -q path -n /dev/ttyUSB2` | grep serial
SUBSYSTEMS=="usb-serial"
ATTRS{serial}=="0001"
ATTRS{serial}=="0000:00:1d.7"
Altre info:
Sto usando PuTTY per leggere dalle porte seriali.
OS:
$ uname -a
Linux xxxxxxxx.localdomain 2.6.32-279.14.1.el6.x86_64 #1 SMP Tue Nov 6 23:43:09 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Vedere http://askubuntu.com/questions/49910/how-to-distinguish-between-identical-usb-to-serial-adapters –
@KarlBielefeldt Preferirei non renderlo dipendente da quale porta è inserito, ma lo prenderò se è l'unico modo. –
Per quanto ne so, questo * è * l'unico modo se i numeri di serie sono identici. –