网站建设资讯

NEWS

网站建设资讯

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

本篇文章为大家展示了如何在Linux中使用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

如何在Linux中使用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设备的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

如何在Linux中使用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 | 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

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

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

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

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

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

查找大容量存储设备

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

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

可以看到只有idVendor是Kingston Technology的设备才是大容量存储设备。

上述内容就是如何在Linux中使用Lsusb命令显示有关USB设备信息,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


本文名称:如何在Linux中使用Lsusb命令显示有关USB设备信息
分享链接:http://njwzjz.com/article/gdescg.html