教你在 Linux 中使用 Lsusb命令 显示有关USB设备信息

发表于:2021-3-24 09:19

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:逄增宝    来源:Linux就该这么学

  在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将显示系统内部连接的驱动程序和设备。
  上面输出内容解释如下:
  Bus 001 Device 055: ID 0951:1665 Kingston Technology Digital DataTraveler SE9 64GB
  Bus 001: 表示第一个usb控制器,可以使用lspci|grep USB查看主机有几个usb控制器Device 055: 表示系统分配给这个金士顿存储设备的设备号ID: 表示usb设备的IDKingston 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 
  数字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 | less 
   
  Bus 001 Device 056: ID 0951:1665 Kingston Technology Digital DataTraveler SE9 64GB 
  Device Descriptor: 
    bLength                18 
    bDescriptorType         1 
    bcdUSB               2.00 
    bDeviceClass            0 (Defined at Interface level) 
    bDeviceSubClass         0  
    bDeviceProtocol         0  
    bMaxPacketSize0        64 
    idVendor           0x0951 Kingston Technology 
    idProduct          0x1665 Digital DataTraveler SE9 64GB 
    bcdDevice            1.00 
    iManufacturer           1 Kingston 
    iProduct                2 DataTraveler 2.0 
    iSerial                 3 08606E6B6612FD50771C2A8B 
    bNumConfigurations      1 
    Configuration Descriptor: 
      bLength                 9 
      bDescriptorType         2 
      wTotalLength           32 
      bNumInterfaces          1 
      bConfigurationValue     1 
      iConfiguration          0  
      bmAttributes         0x80 
        (Bus Powered) 
      MaxPower              100mA 
      Interface Descriptor: 
        bLength                 9 
        bLength                 9 
        bDescriptorType         4 
        bInterfaceNumber        0 
        bAlternateSetting       0 
        bNumEndpoints           2 
        bInterfaceClass         8 Mass Storage 
        bInterfaceSubClass      6 SCSI 
        bInterfaceProtocol     80 Bulk-Only 
        iInterface              0  
        Endpoint Descriptor: 
          bLength                 7 
          bDescriptorType         5 
          bEndpointAddress     0x81  EP 1 IN 
          bmAttributes            2 
            Transfer Type            Bulk 
            Synch Type               None 
            Usage Type               Data 
          wMaxPacketSize     0x0200  1x 512 bytes 
          bInterval             255 
        Endpoint Descriptor: 
          bLength                 7 
          bDescriptorType         5 
          bEndpointAddress     0x02  EP 2 OUT 
          bmAttributes            2 
            Transfer Type            Bulk 
            Synch Type               None 
            Usage Type               Data 
          wMaxPacketSize     0x0200  1x 512 bytes 
          bInterval             255 
  Device Qualifier (for other device speed): 
    bLength                10 
    bDescriptorType         6 
    bcdUSB               2.00 
    bDeviceClass            0 (Defined at Interface level) 
    bDeviceSubClass         0  
    bDeviceProtocol         0  
    bMaxPacketSize0        64 
    bNumConfigurations      1 
  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命令和-D参数,可以输出特定设备的详细信息。下面实例查看金士顿存储设备的详细信息:
  [root@localhost ~]# lsusb -D /dev/bus/usb/001/056 
  查找大容量存储设备
  lsusb -v为我们提供了非常详细的信息,我们可以配合使用grep命令查找指定的信息,下面过滤出idVendor和Mass Storage,来获取大容量存储设备:
  [root@localhost ~]# lsusb -v |grep -Ei '(idVendor|Mass\ Storage)' 
    idVendor           0x0bda Realtek Semiconductor Corp. 
    idVendor           0x0951 Kingston Technology 
        bInterfaceClass         8 Mass Storage 
    idVendor           0x1d6b Linux Foundation 
    idVendor           0x0e0f VMware, Inc. 
    idVendor           0x0e0f VMware, Inc. 
    idVendor           0x1d6b Linux Foundation 
  可以看到只有idVendor是Kingston Technology的设备才是大容量存储设备。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号