USBでデバイスを一意に識別する方法はhub 6-0:1.0: port 2
?
時々私はメッセージを受け取り、dmesg
どのデバイスがそのポートに接続されているかをシステムから知らせたい。
編集する:さて、どのハブかはわかりますが、ポート2(4つのうち)にどのデバイスがあるのか、どうすればわかりますか?
udevadm info -q all -p /sys/bus/usb/devices/6-0:1.0
P: /devices/pci0000:00/0000:00:1d.0/usb6/6-0:1.0
E: DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb6/6-0:1.0
E: DEVTYPE=usb_interface
E: DRIVER=hub
E: INTERFACE=9/0/0
E: MODALIAS=usb:v1D6Bp0001d0302dc09dsc00dp00ic09isc00ip00
E: PRODUCT=1d6b/1/302
E: SUBSYSTEM=usb
E: TYPE=9/0/0
E: UDEV_LOG=3
答え1
この情報を直接提供できるユーティリティはありませんが、いくつかの他のユーティリティを使用して情報を取得できます。
最短ルート:
udevadm info -q all -p /sys/bus/usb/devices/6-0:1.0
これにより、次の出力行のいずれかが表示されます(明らかに、この出力はシステムと一致しません)。
E: DEVICE=/proc/bus/usb/006/053
次に、実行してlsusb
デバイスを見つけますBus 006
Device 053
(006/053
前の行から始まります)。これがあなたのデバイスになります。
。
/sys/bus/usb/devices/6-0:1.0
必要に応じてより多くの情報を閲覧できます。udevadm
コマンドを次のように変更するudevadm info -a -p ...
こともでき、udevツリーの上に上がります。