观看 USB 连接供应商 ID、产品 ID 和修订

Naf*_*Kay 9 linux usb udev

我只想查看在我的系统中添加和删除的所有设备,并查看它们的 USB 供应商 ID、产品 ID 和修订版以及其他相关信息。我怎样才能在 Linux 中做到这一点?是否有我可以使用的日志文件,tail -f或者这是否需要其他内容?

don*_*sti 12

你可以这样做udevadm

udevadm monitor --subsystem-match=usb --property
Run Code Online (Sandbox Code Playgroud)

或者

udevadm monitor --subsystem-match=usb --property --udev
Run Code Online (Sandbox Code Playgroud)

仅过滤udev事件。如果你想要grep一个特定的属性,你将不得不取消缓冲udevadm输出(使用stdbuf, script, unbuffer...等工具):

stdbuf -i 0 -o 0 -e 0 udevadm monitor --subsystem-match=usb --property --udev | grep DEVPATH
Run Code Online (Sandbox Code Playgroud)

或者

script -q /dev/null -c "udevadm monitor --subsystem-match=usb --property --udev" | grep PRODUCT
Run Code Online (Sandbox Code Playgroud)

或者

unbuffer udevadm monitor --subsystem-match=usb --property --udev | grep -E 'ID_VENDOR_ID|ID_MODEL_ID'
Run Code Online (Sandbox Code Playgroud)


Gil*_*il' 7

此信息出现在内核日志中——通常在/var/log/kern.log、 或/var/log/syslog或其他一些文件中(这取决于您的系统日志配置,不同的发行版有不同的默认值)。

如果您想要预先过滤的内容,您可以添加 udev 规则。创建一个/etc/udev/rules.d/tkk-log-usb.rules包含以下内容的文件:

SUBSYSTEM=="usb", RUN+="/usr/local/sbin/tkk-usb-event"
Run Code Online (Sandbox Code Playgroud)

程序的环境填充了许多描述设备的变量,包括:

  • ACTION(addremove)
  • DEVICE 是设备的路径,如果你想访问它
  • ID_MODEL_IDID_VENDOR_ID包含型号和供应商 ID,ID_MODELID_VENDOR包含相应的文本
  • ID_SERIAL 包含设备的序列号(如果有)