lundi 13 février 2012

Comment savoir quels USB-RS232 est sur ​​quel tty

Si tu as deux différents périphériques USB basés sur les mêmes puces USB-RS232. et Lorsque tu branche le câble USB  qu'ils sont montés sur / dev/ttyUSB0...3,quels USB-RS232 est sur ​​quel tty.
 le problème est de savoir comment, à l'intérieur d'un script, tu peux trouver celle qui est sur ce terminal?
Utilisation de lsusb tu peux les différencier:
$> lsusb | grep 0403:f850 Bus 004 Device 002: ID 0403:f850 Future Technology Devices International, Ltd $> lsusb | grep 0403:6001 Bus 004 Device 003: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC 
Et en utilisant dmesg tu peux dire où ils ont été montés:
$> dmesg | grep 'FTDI USB Serial Device converter now attached' [36051.393350] usb 4-2: FTDI USB Serial Device converter now attached to ttyUSB1 [36061.823513] usb 4-1: FTDI USB Serial Device converter now attached to ttyUSB0 
Mais "usb 4-1" ne semble pas correspondre à "Bus 004 Device 002".
peut-ont supposer que "Bus 004 Device 001" sera toujours un "concentrateur USB racine" et donc dmesg comptera partir de 1 et de 2 lsusb partir?
Autre suggestion sur la façon de mettre en corrélation ID de périphérique à un point de montage (à l'intérieur d'un script)?
si tu as  Ubuntu 10.04 LTS.

Trouvez plus d'informations à l'aide sysfs:
$ ls /sys/bus/usb-serial/devices/ -ltrah lrwxrwxrwx 1 root root 0 2012-02-07 22:17 ttyUSB0 -> ../../../devices/pci0000:00/0000:00:0f.4/usb2/2-2/2-2:1.0/ttyUSB0 $ ls -ltrad /sys//devices/pci0000:00/0000:00:0f.4/usb2/2-2/2-2:1.0/ttyUSB0 drwxr-xr-x 4 root root 0 2012-02-07 22:17 /sys//devices/pci0000:00/0000:00:0f.4/usb2/2-2/2-2:1.0/ttyUSB0 $ ls -ltrad /dev/ttyUSB0 crw-rw---- 1 root dialout 188, 0 2012-02-01 00:17 /dev/ttyUSB0 
Bien sûr, les dispositifs liés / ... noeud contient beaucoup d'informations

Ajout des informations basées sur l'observation du PO:

Le numéro de l'appareil ne cesse de croître si des dispositifs sont retirés / inséré. lsusb -t peut être utilisée pour corréler les numéros de périphériques avec le bus USB / port.
Puis, «lsusb-d DevID» permettent de déterminer quel périphérique est sur quel port. Enfin «ls / sys / bus / usb-série / devices /-ltrah 'donnera la liste (en bus / port) où il a été monté.
Pas très pratique, mais il  fonctionne.

Aucun commentaire: