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

沉舟侧畔千帆进,病树前头万木春。这篇文章主要讲述lsusb命令-在系统中显示有关USB设备信息相关的知识,希望能为你提供帮助。

在Linux中我们使用lsusb命令列出USB设备及其属性,lsusb用于显示系统中的USB总线及其连接的设备信息。下面介绍如何安装并使用。
系统环境Centos7
安装usbutils默认Centos7系统中没有lsusb命令,我们需要安装usbutils安装包,才能使用lsusb:
[root@localhost ~]# yum -y install usbutils

列出usb设备信息lsusb用于显示有关系统中的USB总线及其连接的设备的信息,下面运行lsusb:
[root@localhost ~]# lsusb Bus 001 Device 010: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller Bus 001 Device 055: ID 0951:1665 Kingston Technology Digital DataTraveler SE9 64GB Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 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

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

文章图片

lsusb将显示系统内部连接的驱动程序和设备。
上面输出内容解释如下:
Bus 001 Device 055: ID 0951:1665 Kingston Technology Digital DataTraveler SE9 64GB
  • Bus 001: 表示第一个usb控制器,可以使用lspci|grep USB查看主机有几个usb控制器
  • Device 055: 表示系统分配给这个金士顿存储设备的设备号
  • ID: 表示usb设备的ID
  • Kingston Technology Digital DataTraveler SE9 64GB: 表示其制造商名称和设备名称
我们还看到,系统中还附有USB 2.0 root hub 驱动程序和USB 1.1 root hub 驱动程序。
使用树状类型显示usb信息使用-t选项,以树状结构显示usb信息:
[root@localhost ~]# lsusb -t /:Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M /:Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M /:Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 2: Dev 3, If 0, Class=Hub, Driver=hub/7p, 12M /:Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M

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

文章图片

数字12M、480M、5000M表示USB的传输速度。
  • 12M表示12Mbit / s,这是USB 1.0 / 1.1类型
  • 480M表示480Mbit / s,这是USB 2.0类型
  • 5000M表示5Gbit / s,这是USB3.0类型
Linux从/usr/share/hwdata/usb.ids\'识别USB设备的详细信息。lsusb列出的vendor和device name都是从这个文件里面识别出来的。
如何列出USB详细信息使用-v参数查看usb详细信息:
[root@localhost ~]# lsusb -v | lessBus 001 Device 056: ID 0951:1665 Kingston Technology Digital DataTraveler SE9 64GB Device Descriptor: bLength18 bDescriptorType1 bcdUSB2.00 bDeviceClass0 (Defined at Interface level) bDeviceSubClass0 bDeviceProtocol0 bMaxPacketSize064 idVendor0x0951 Kingston Technology idProduct0x1665 Digital DataTraveler SE9 64GB bcdDevice1.00 iManufacturer1 Kingston iProduct2 DataTraveler 2.0 iSerial3 08606E6B6612FD50771C2A8B bNumConfigurations1 Configuration Descriptor: bLength9 bDescriptorType2 wTotalLength32 bNumInterfaces1 bConfigurationValue1 iConfiguration0 bmAttributes0x80 (Bus Powered) MaxPower100mA Interface Descriptor: bLength9 bLength9 bDescriptorType4 bInterfaceNumber0 bAlternateSetting0 bNumEndpoints2 bInterfaceClass8 Mass Storage bInterfaceSubClass6 SCSI bInterfaceProtocol80 Bulk-Only iInterface0 Endpoint Descriptor: bLength7 bDescriptorType5 bEndpointAddress0x81EP 1 IN bmAttributes2 Transfer TypeBulk Synch TypeNone Usage TypeData wMaxPacketSize0x02001x 512 bytes bInterval255 Endpoint Descriptor: bLength7 bDescriptorType5 bEndpointAddress0x02EP 2 OUT bmAttributes2 Transfer TypeBulk Synch TypeNone Usage TypeData wMaxPacketSize0x02001x 512 bytes bInterval255 Device Qualifier (for other device speed): bLength10 bDescriptorType6 bcdUSB2.00 bDeviceClass0 (Defined at Interface level) bDeviceSubClass0 bDeviceProtocol0 bMaxPacketSize064 bNumConfigurations1 Device Status:0x0000 (Bus Powered)

查找连接了多少个USB设备查找链接的设备数量,可以使用下面命令查找:
[root@localhost ~]# find /dev/bus /dev/bus /dev/bus/usb /dev/bus/usb/002 /dev/bus/usb/002/003 /dev/bus/usb/002/002 /dev/bus/usb/002/001 /dev/bus/usb/001 /dev/bus/usb/001/056 /dev/bus/usb/001/010 /dev/bus/usb/001/001

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

文章图片

结合使用lsusb命令和-D参数,可以输出特定设备的详细信息。下面实例查看金士顿存储设备的详细信息:
lsusb命令-在系统中显示有关USB设备信息

文章图片

[root@localhost ~]# lsusb -D /dev/bus/usb/001/056

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

文章图片

查找大容量存储设备lsusb -v为我们提供了非常详细的信息,我们可以配合使用grep命令查找指定的信息,下面过滤出idVendorMass Storage,来获取大容量存储设备:
[root@localhost ~]# lsusb -v |grep -Ei \'(idVendor|Mass\\ Storage)\' idVendor0x0bda Realtek Semiconductor Corp. idVendor0x0951 Kingston Technology bInterfaceClass8 Mass Storage idVendor0x1d6b Linux Foundation idVendor0x0e0f VMware, Inc. idVendor0x0e0f VMware, Inc. idVendor0x1d6b Linux Foundation

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

文章图片

可以看到只有idVendor是Kingston Technology的设备才是大容量存储设备。
总结【lsusb命令-在系统中显示有关USB设备信息】在Linux中我们使用lsusb命令列出USB设备及其属性,lsusb用于显示系统中的USB总线及其连接的设备信息。

    推荐阅读