USB接続のベンダーID、製品ID、リビジョンを見る


8

システムに追加および削除されたすべてのデバイスを監視し、それらのデバイスのUSBベンダーID、製品ID、リビジョン、その他の関連情報を表示したいと思います。Linuxでこれを行うにはどうすればよいですか?私ができるログファイルはありますtail -fか、またはこれには他に何かが必要ですか?


あるdmesg詳細な十分な?
Rany Albeg Wein 2013

/ var / log / dmesgのテーリングからの出力がありません。プラグイン/削除=なし。
Naftuli Kay、2013

1
@RanyAlbegWein dmesgは、すべてのUSBイベントを表示するのではなく、ハンドラーが存在してを呼び出すイベントのみを表示しますprintk()
Chris Down

それで、情報のためにudevをテールする方法はありますか?
Naftuli Kay、2013

回答:


6

この情報は、カーネルログに表示されます。通常は/var/log/kern.log、または/var/log/syslog、またはその他のファイルです(syslog構成によって異なりますが、ディストリビューションごとにデフォルトが異なります)。

事前にフィルタリングされたものを希望する場合は、udevルールを追加できます。/etc/udev/rules.d/tkk-log-usb.rules次のようなものを含むファイルを作成します。

SUBSYSTEM=="usb", RUN+="/usr/local/sbin/tkk-usb-event"

プログラムの環境には、デバイスを説明する多くの変数が含まれています。

  • ACTIONaddまたはremove
  • DEVICE アクセスしたい場合はデバイスへのパスです
  • ID_MODEL_IDそしてID_VENDOR_IDモデルとベンダーIDが含まれており、ID_MODELおよびID_VENDOR対応するテキストが含まれています
  • ID_SERIAL デバイスのシリアル番号が含まれます(利用可能な場合)

10

あなたはそれを行うことができますudevadm

udevadm monitor --subsystem-match=usb --property

または

udevadm monitor --subsystem-match=usb --property --udev

udevイベントのみをフィルタリングします。あなたがしたい場合はgrep、特定のプロパティのためにあなたがun-バッファになりますudevadm(のようなツールを使用して出力stdbufscriptunbuffer...):

stdbuf -i 0 -o 0 -e 0 udevadm monitor --subsystem-match=usb --property --udev | grep DEVPATH

または

script -q /dev/null -c "udevadm monitor --subsystem-match=usb --property --udev" | grep PRODUCT

または

unbuffer udevadm monitor --subsystem-match=usb --property --udev | grep -E 'ID_VENDOR_ID|ID_MODEL_ID'

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.