11

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
4

1 に答える 1

1

USB シリアル コンバータが ftdi チップに基づいているかどうかを確認してください。(ドライバのファイル名を確認できます)

もしそうなら; シリアル番号、またはメーカー情報を変更する機会があります。

http://www.ftdichip.com/Support/Utilities.htm ツールを確認してください。MProg および FT_PROG ユーティリティ ツール。

于 2012-12-27T22:30:12.257 に答える