如何读取lsusb?

如何读取lsusb?

输出中的供应商 ID 和产品 ID 是什么lsusb

➜ lsusb
Bus 001 Device 018: ID 0781:5576 SanDisk Corp. 
Bus 001 Device 011: ID 0e0f:000b VMware, Inc. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 022: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 002 Device 019: ID 0e0f:0008 VMware, Inc. 
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

我特别关注“未来技术设备”:0403:6001

答案1

“如果它像键盘一样嘎嘎作响并且像键盘一样打字,那么它一定是键盘。”

这并不总是正确的。该实用程序从一个名为查找供应商 ID、产品 ID、类、子类和协议的lsusb文件中获取信息。/var/lib/usbutils/usb.ids但是,请注意 USB 设备可能会模仿错误的 ID(请参阅橡皮鸭例如)。

不过,我喜欢-t有关插入设备的更多信息的选项。例如,USB 鼠标如下所示:

/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 1: Dev 2, If 0, Class=HID, Driver=usbhid, 1.5M

中有趣的部分是Driver=usbhid,您可以在其中找到内核用于该特定设备的驱动程序。设备的类别是HID,这意味着人机接口设备。在这种情况下,简单的lsusb条目将如下所示:

Bus 006 Device 002: ID 046d:c050 Logitech, Inc. RX 250 Optical Mouse

046d供应商 ID 查找为Logitech, Inc.c050产品 ID 查找为RX 250 Optical Mouse

您可以grep通过这些 id 的 id 文件来检查:

$ grep -P "^046d|c050" /var/lib/usbutils/usb.ids
046d  Logitech, Inc.
        c050  RX 250 Optical Mouse

答案2

供应商 ID 首先出现(最常见),然后是产品 ID。请注意,这些值是十六进制的。

另一种查找方法是其中一个应在此处列为供应商 ID:http://www.linux-usb.org/usb.ids

相关内容