2009-08-07 7 views
1

J'ai deux anciennes machines connectées à une machine Linux avec USB en utilisant le pilote ftdi_sio, à /dev/ttyUSB0 et /dev/ttyUSB1. La machine Linux relaie et analyse le trafic entre les machines. Lorsque la machine Linux démarre, les machines sont connectées aux fichiers de manière aléatoire. Le problème est de savoir lequel est qui.Comment puis-je savoir quel fichier tty pointe vers quel périphérique USB-to-Serial?

Je pourrais simplement demander aux appareils, bien sûr, mais je voudrais éviter le risque de dysfonctionnement dû à l'envoi de données erronées sur le mauvais appareil. Existe-t-il un moyen de déterminer, par exemple, l'identifiant de l'appareil connecté à un fichier tty?

+0

ces informations n'apparaissent-elles pas dans/proc ou dans le journal du système? – yeyeyerman

Répondre

1

Cochez cette case Using Linux USB.

/proc/bus/usb/devices affiche des informations sur les périphériques actuellement connectés au bus USB. Ceci est très utile lorsque vous essayez de déterminer si le périphérique est correctement énuméré.

+0

En regardant '/ proc/bus/usb/devices' a résolu le problème. La partie délicate consistait à comprendre que bien que l'énumération du port commence à 0, le pilote 'ftdi_sio' semble le démarrer à 1, donc Bus 2 Port 0 apparaîtrait dans' dmesg' comme 'usb 2-1'. –

0

Peut-être que vous pouvez utiliser la sortie de lsusb -v et de regarder iProduct + iSerial pour déterminer l'ordre des périphériques sont connectés.

+0

Aucun dés, la sortie lsusb -v ne dépend pas du port auquel le périphérique est attaché. –