linux使用lsusb命令查询usb设备信息

Posted 奇妙之二进制

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux使用lsusb命令查询usb设备信息相关的知识,希望对你有一定的参考价值。

在 Linux 中我们可以使用 lsusb 来列出 USB 设备和它的属性,lsusb 会显示驱动和内部连接到你系统的设备。直接在控制台输入 lsusb 即可。

如果无法运行 lsusb,使用以下命令安装(Debian)。

apt-get install usbutils

然后就可以运行 lsusb了。

$ lsusb
Bus 002 Device 002: ID 05e3:0612 Genesys Logic, Inc.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 05e3:0612 Genesys Logic, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Genesys 是台湾的 USB HUB 芯片厂商,我们可以看到在系统中同时使用了 USB 3.0 root hub 驱动和 USB 2.0 root hub 驱动。

再举个例子

Bus 002 Device 003: ID 17ef:4811 Lenovo Integrated Webcam [R5U877]
Bus 008 Device 002: ID 0a5c:217f Broadcom Corp. Bluetooth Controller

下面介绍如何理解输出,以上面输出的最后一行为例:

  • Bus 008 : 指明设备连接到哪条总线,bus可以理解为机器上总共有几个usb主控制器 – 可以通过命令lspci | grep USB
  • Device 002 : 表明这是连接到总线上的第二台设备
  • ID : 设备的ID,有制造商id和产品id组成。
  • Broadcom Corp. Bluetooth Controller :生产商名字和设备名

lsusb 命令的参数

-v 列出所有USB的详细

可以输入非常详细的信息,只不过大部分的信息我们都不需要。

配合grep命令指定特定的信息,大容量存储设备会有一个供应商名和ID。我们可以用它作为一个起点。

$ lsusb -v |grep -Ei ‘(idVendor|Mass\\ Storage)’
idVendor 0×1005 Apacer Technology, Inc.
bInterfaceClass 8 Mass Storage

可以看到,系统上有一个来自 Apacer Technology, Inc(宇瞻)的USB大容量存储设备。

-t 以树层级结构输出USB设备

$ lsusb -t
/: Bus 08.Port 1: Dev 1, Class=root\\_hub, Driver=uhci_hcd/2p, 12M
/: Bus 02.Port 1: Dev 1, Class=root\\_hub, Driver=ehci_hcd/6p, 480M
|__ Port 1: Dev 4, If 0, Class=stor., Driver=usb-storage, 480M
|__ Port 6: Dev 3, If 0, Class=’bInterfaceClass 0x0e not yet handled’, Driver=uvcvideo, 480M
/: Bus 01.Port 1: Dev 1, Class=root\\_hub, Driver=ehci_hcd/6p, 480M

数字12M和480M 是指USB类型的传输速率

  • 12M 意味着 USB 1.0/1.1的速率是 12Mbit/s
  • 480M 意味着 USB 2.0的速率是 480Mbit/s
  • 5G 意味着 USB 3.0 的速率是 5Gbit/s

这些就是 lsusb 命令的基础。可以用 lsusb 命令对你的系统上的USB设备做一个诊断。需要更多细节,输入 man lsusb 打开它的手册查看。

以上是关于linux使用lsusb命令查询usb设备信息的主要内容,如果未能解决你的问题,请参考以下文章

lsusb命令-在系统中显示有关USB设备信息

Linux基础命令---lsusb

linux 查看系统信息命令

Linux查看设备信息命令

linux 如何判断usb驱动是2.0

linux查看设备命令