Linux下查看USB设备信息:lsusb的使用

1. 简介

lsusb是Linux下的一个命令行工具,用于查看连接到系统上的USB设备的详细信息。通过lsusb命令,可以获取USB设备的厂商ID、产品ID、设备版本号以及其他相关信息。

2. lsusb命令的基本用法

lsusb命令的基本用法非常简单,只需要在终端中输入lsusb并按下回车键即可:

lsusb

执行该命令后,系统将会列出所有已连接的USB设备的信息。

2.1 lsusb命令的输出格式

lsusb命令的输出结果包含了每个USB设备的一些关键信息,如厂商ID、产品ID、设备版本号等。

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 003 Device 002: ID 046d:c077 Logitech, Inc. M105 Optical Mouse

Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

每一行的开头是"Bus"和"Device"两个关键字,它们表示USB设备所在的总线和设备号。紧随其后的是"ID"关键字,后面跟着设备的厂商ID和产品ID。最后是USB设备的描述信息。

2.2 lsusb命令的参数选项

lsusb命令还提供了一些参数选项,可以用来定制输出结果:

-v或--verbose:显示详细的USB设备信息。

-t或--tree:以树状图的形式显示USB设备的拓扑结构。

-s<设备号>:只显示指定设备号的USB设备信息。

-d <厂商ID:产品ID>:只显示指定厂商ID和产品ID的USB设备信息。

例如,要查看USB设备ID为046d:c077的详细信息,可以使用以下命令:

lsusb -v -d 046d:c077

该命令会显示出USB设备ID为046d:c077的详细信息。

3. 示例

下面通过一个实际例子来演示lsusb命令的使用。

3.1 查看所有USB设备的信息

输入以下命令:

lsusb

输出结果如下:

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 003 Device 002: ID 046d:c077 Logitech, Inc. M105 Optical Mouse

Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

从输出结果中可以看到,当前系统上连接了一台Logitech M105 Optical Mouse。

3.2 查看指定USB设备的详细信息

输入以下命令:

lsusb -v -d 046d:c077

输出结果如下:

Bus 003 Device 002: 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 8

idVendor 0x046d Logitech, Inc.

idProduct 0xc077 M105 Optical Mouse

bcdDevice 1.10

iManufacturer 1

iProduct 2

iSerial 0

bNumConfigurations 1

Configuration Descriptor:

bLength 9

bDescriptorType 2

wTotalLength 34

bNumInterfaces 1

bConfigurationValue 1

iConfiguration 0

bmAttributes 0xa0

(Bus Powered)

Remote Wakeup

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.10

bCountryCode 0 Not supported

bNumDescriptors 1

bDescriptorType 34 Report

wDescriptorLength 67

Report Descriptors:

**[重要]**

0x05, 0x01, // Usage Page (Generic Desktop Ctrls)

0x09, 0x02, // Usage (Mouse)

0xA1, 0x01, // Collection (Application)

0x09, 0x01, // Usage (Pointer)

0xA1, 0x00, // Collection (Physical)

0x05, 0x09, // Usage Page (Button)

0x19, 0x01, // Usage Minimum (0x01)

0x29, 0x03, // Usage Maximum (0x03)

0x15, 0x00, // Logical Minimum (0)

0x25, 0x01, // Logical Maximum (1)

0x95, 0x03, // Report Count (3)

0x75, 0x01, // Report Size (1)

0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)

0x95, 0x01, // Report Count (1)

0x75, 0x05, // Report Size (5)

0x81, 0x01, // Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)

0x05, 0x01, // Usage Page (Generic Desktop Ctrls)

0x09, 0x30, // Usage (X)

0x09, 0x31, // Usage (Y)

0x15, 0x81, // Logical Minimum (-127)

0x25, 0x7F, // Logical Maximum (127)

0x75, 0x08, // Report Size (8)

0x95, 0x02, // Report Count (2)

0x81, 0x06, // Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position)

0xC0, // End Collection

0xC0 // End Collection

从输出结果中可以看到,该USB设备是Logitech公司的M105 Optical Mouse,支持鼠标、指针、按钮等功能。

4. 总结

通过本文的介绍,我们了解了lsusb命令在Linux下查看USB设备信息的基本用法和部分参数选项,以及如何解析lsusb命令的输出结果。使用lsusb命令可以方便地查看连接到系统上的USB设备的详细信息,对于Linux系统的设备管理和故障排查非常有帮助。

操作系统标签