Comment savoir quel appareil est connecté où /dev/ttyUSB port
Je suis l'aide de deux Wavecom 16-port modems. Lorsque j'attache les modems à mon système, je suis en mesure de faire la liste de tous les /dev/ttyUSB
les noms de port, mais aussi je voudrais savoir, quel modem contenant les ports 0 à 16 ans et qui, l'un contenant des ports de 17 à 32?
Les modems peut être montée et démontée plusieurs fois en une seule journée, donc je veux aussi garder les logs lorsque les modems avoir débranché et rebranché.
Aucune idée de comment le faire à l'aide de c/c++/php script/node.js ?
il est beaucoup plus facile à configurer
udev
règles d'attribution persistante tty
les noms de port une fois pour toutes, au lieu d'avoir à les rechercher à chaque foisOriginalL'auteur Mayur | 2012-12-17
Vous devez vous connecter pour publier un commentaire.
Vous pouvez obtenir cette information à partir de la
sys
système de fichiers. Il est facile de vérifier à partir de la coquille, puis faire un programme qui fait la même chose:cd /sys/devices
find -name "ttyUSB0"
. Il va probablement trouver dans quelque chose comme./pci0000:00/0000:00:1d.0/usb2/2-2/2-2.1/2-2.1:1.0/...
La
pci*
partie est le contrôleur USB. Le morceau intéressant est le2-2.1
qui est le périphérique USB. Dans ce répertoire il y a beaucoup de fichiers qui permettent d'identifier votre appareil:serial
: Le numéro de série. Probablement ce que vous voulez.idVendor
etidProduct
: USB identificateur de l'appareil.Facile sinon pour les étapes 1 et 2 est:
cd /sys/class/tty/
readlink ttyUSBn
va vous donner le chemin complet du répertoire de l'appareil.Comme une note de bas de page, note que certaines parties de la
sysfs
sont considérés comme des API stable et certaines parties ne sont pas. Pour plus d'informations, voir la officiel sysfs règles.Vous êtes les bienvenus! Si vous pensez que cela répond à votre question, s'il vous plaît marquer comme correcte et fermé.
Fait que..!! Atteint mon objectif de l'utilisation d'udev bibliothèque et de votre sna.. @_@
OriginalL'auteur rodrigo