介绍
在本实验中,你将学习如何在 Linux 中使用 lsusb 命令来监控和管理连接到系统的 USB 设备。lsusb 命令提供了有关 USB 设备的详细信息,包括总线号、设备号、供应商 ID 和产品 ID、设备类别以及其他相关细节。通过本实验,你将探索 lsusb 命令的基本用法,并学习如何识别特定的 USB 设备信息。本实验涵盖的内容将帮助你在 Linux 环境中有效地排查和管理 USB 设备。
理解 lsusb 命令的作用
在这一步中,我们将了解 Linux 中 lsusb 命令的作用和基本用法。lsusb 命令是一个强大的工具,允许你列出连接到系统的 USB 设备的信息。
lsusb 命令提供了以下关于 USB 设备的关键信息:
- USB 设备的总线号和设备号
- USB 设备的供应商 ID 和产品 ID
- 设备类别、子类别和协议信息
- USB 设备的详细信息,例如制造商、产品名称和序列号
要运行 lsusb 命令,只需在终端中执行以下命令:
$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
示例输出:
输出显示系统连接了多个 USB 设备,包括 USB 2.0 和 USB 3.0 接口的根集线器。
在下一步中,我们将探索 lsusb 命令的更高级用法,以识别特定的 USB 设备信息。
探索 lsusb 命令的基本用法
在这一步中,我们将探索 lsusb 命令的基本用法,以获取连接到系统的 USB 设备的更详细信息。
首先,让我们使用带有 -v(详细)选项的 lsusb 命令来显示每个 USB 设备的更多详细信息:
$ lsusb -v
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
[...]
现在,输出中包含了更多详细信息,例如设备类别、子类别、协议以及每个 USB 设备的其他信息。
你还可以使用 lsusb 命令通过供应商和产品 ID 搜索特定的 USB 设备。例如,要查找有关 USB 鼠标的信息,可以使用以下命令:
$ lsusb -d 046d:c077
Bus 001 Device 003: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x046d Logitech, Inc.
idProduct 0xc077 M105 Optical Mouse
bcdDevice 1.00
iManufacturer 1 Logitech
iProduct 2 M105 Optical Mouse
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 34
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 2 Mouse
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 71
Report Descriptor: (length is 71)
Item(Global): Usage Page, data= [ 0x01 ] 1 (Generic Desktop Controls)
Item(Local): Usage, data= [ 0x02 ] 2 (Mouse)
[...]
此命令显示了有关 USB 鼠标的详细信息,包括其供应商和产品 ID、设备类别以及报告描述符。
通过探索 lsusb 命令的基本用法,你可以有效地识别和排查 Linux 系统上与 USB 设备相关的问题。
使用 lsusb 识别 USB 设备信息
在这最后一步中,我们将学习如何使用 lsusb 命令来识别连接到系统的 USB 设备的详细信息。
首先,列出系统中连接的所有 USB 设备:
$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
此输出显示了每个 USB 设备的总线号、设备号、供应商 ID 和产品 ID。
要获取特定 USB 设备的更多详细信息,我们可以使用 lsusb -v 命令并提供供应商和产品 ID。例如,要获取供应商 ID 为 046d 且产品 ID 为 c077 的 USB 鼠标的信息,可以运行以下命令:
$ lsusb -v -d 046d:c077
Bus 001 Device 003: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x046d Logitech, Inc.
idProduct 0xc077 M105 Optical Mouse
bcdDevice 1.00
iManufacturer 1 Logitech
iProduct 2 M105 Optical Mouse
iSerial 0
bNumConfigurations 1
[...]
此输出提供了有关 USB 鼠标的详细信息,包括其设备描述符、配置描述符和 HID 报告描述符。
通过使用 lsusb 命令及其各种选项,你可以有效地识别和排查 Linux 系统上与 USB 设备相关的问题。
总结
在本实验中,我们学习了 Linux 中 lsusb 命令的作用和基本用法。lsusb 命令允许你列出连接到系统的 USB 设备的信息,包括总线号、设备号、供应商 ID、产品 ID、设备类别、子类别和协议。你可以使用带有 -v 选项的 lsusb 命令来显示每个 USB 设备的更多详细信息。此外,你还可以使用 lsusb 命令通过供应商和产品 ID 搜索特定的 USB 设备。



