2 つのシリアル接続を介してデバッグ データを送信する 2 つのカスタム ハードウェアを処理する必要があります。これらのシリアル接続は、2 つのシリアル - USB コンバーターを経由します。Serial-to-USB デバイスは、同じベンダー番号、デバイス番号、および明らかに同じシリアル番号を持っています。
問題は次のとおりです。2 つのシリアル ポートを別々にログに記録したいのです。カスタム ハードウェアは常に再起動する必要があり、同じものに接続するかどうか/dev/ttyUSB*
は完全にランダムです。毎回同じデバイス パスを選択させるにはどうすればよいですか? 接続されているポートに依存するようにすることもできますが、それはハックのようです。
そこで、次のように udevadm の出力に対して diff を実行しました。
$ 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
シリアルの grep (両方で同じ):
$ 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"
他の情報:
シリアルポートから読み取るために PuTTY を使用しています。
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