Comment faire pour savoir quelle USB-RS232 l'appareil est en marche qui ats?
J'ai deux périphériques USB basés sur les mêmes USB-RS232 jetons.
Quand je le branche à ceux de l'USB, ils sont montés dans /dev/ttyUSB0...3
Mon problème est de savoir comment, à l'intérieur d'un script, je peux trouver celui qui est sur ce que l'ats?
À l'aide de la commande lsusb je peut 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 à l'aide de la commande dmesg je peux dire d'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".
Puis-je supposer que "Bus 004 Device 001" sera toujours un "concentrateur USB racine" et donc dmesg va compter à partir de 1 et lsusb à partir de 2 à partir de?
Ou avez-vous une autre suggestion sur la façon de corréler ID de l'appareil à point de montage (à l'intérieur d'un script)?
Je suis sous Ubuntu 10.04 LTS.
Vous devez vous connecter pour publier un commentaire.
Trouver plus d'informations à l'aide de sysfs:
Bien sûr, les appareils connectés/... nœud contient beaucoup d'informations
L'ajout de l'information sur la base des OP commentaire:
L'appareil nombre ne cesse d'augmenter si les appareils sont supprimés/inséré.
lsusb -t
peut être utilisé pour corréler les numéros de périphérique avec le bus usb/port.Ensuite, "lsusb-d devID" peut déterminer quel périphérique sur le port.
Enfin, "ls /sys/bus/usb-série/périphériques/-ltrah' liste (par bus/port) où il a été monté.
N'est pas très pratique, mais ilœuvres'
/sys/bus/usb-serial/
. Il y a est/sys/bus/usb/devices/
./dev/ttyACM0
et/dev/ttyACM1
, c'est donc un cas similaire. Le premier est utilisé pour les commandes AT pour le téléphone; la seconde, je ne suis pas sûr.Vous pouvez utiliser udev pour attribuer un stable lien symbolique à chaque FTDI usb.
L'utilisation de l'appareil et le vendeur en fonction du type, puis le numéro de série de l'appareil. Ensuite, utilisez le lien symbolique dans le script.
J'ai nommé mes dongles ttyFTDI0 etc., et a écrit les numéros sur les dongles avec un marqueur:
Ce one-liner règle udev va donner un nom fixe (par exemple /dev/ttyUSB_A9YL5BJJ) en fonction du numéro de série pour n'importe quel appareil avec le fournisseur/produit id comme donné.
Mettre ceci en règles udev fichier par exemple /etc/udev/rules.d/60-ftdi-série-noms.règles