Linux lsusb 命令实用示例

LinuxBeginner
立即练习

介绍

在本实验中,你将学习如何在 Linux 中使用 lsusb 命令来监控和管理连接到系统的 USB 设备。lsusb 命令提供了有关 USB 设备的详细信息,包括总线号、设备号、供应商 ID 和产品 ID、设备类别以及其他相关细节。通过本实验,你将探索 lsusb 命令的基本用法,并学习如何识别特定的 USB 设备信息。本实验涵盖的内容将帮助你在 Linux 环境中有效地排查和管理 USB 设备。

Linux 命令速查表

理解 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 设备。

Linux 命令速查表