溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux怎么調(diào)試USB設(shè)備

發(fā)布時(shí)間:2022-02-14 10:25:45 來源:億速云 閱讀:386 作者:iii 欄目:開發(fā)技術(shù)

本文小編為大家詳細(xì)介紹“Linux怎么調(diào)試USB設(shè)備”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Linux怎么調(diào)試USB設(shè)備”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。

lsusb命令用于顯示本機(jī)的USB設(shè)備列表,以及USB設(shè)備的詳細(xì)信息。lsusb命令是一個(gè)學(xué)習(xí)USB驅(qū)動(dòng)開發(fā),認(rèn)識(shí)USB設(shè)備的助手,推薦大家使用,如果您的開發(fā)板中或者產(chǎn)品中沒有l(wèi)susb命令可以自己移植一個(gè),放到文件系統(tǒng)里面。

Linux怎么調(diào)試USB設(shè)備

系統(tǒng)環(huán)境

Centos7

安裝usbutils

默認(rèn)Centos7系統(tǒng)中沒有l(wèi)susb命令,我們需要安裝usbutils安裝包,才能使用lsusb:

[root@localhost ~]# yum -y install usbutils

列出usb設(shè)備信息

lsusb用于顯示有關(guān)系統(tǒng)中的USB總線及其連接的設(shè)備的信息,下面運(yùn)行l(wèi)susb:

[root@localhost ~]# lsusbBus 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怎么調(diào)試USB設(shè)備 

lsusb將顯示系統(tǒng)內(nèi)部連接的驅(qū)動(dòng)程序和設(shè)備。

上面輸出內(nèi)容解釋如下: Bus 001 Device 055: ID 0951:1665 Kingston Technology Digital DataTraveler SE9 64GB

  • Bus 001: 表示第一個(gè)usb控制器,可以使用lspci|grep USB查看主機(jī)有幾個(gè)usb控制器
  • Device 055: 表示系統(tǒng)分配給這個(gè)金士頓存儲(chǔ)設(shè)備的設(shè)備號(hào)
  • ID: 表示usb設(shè)備的ID
  • Kingston Technology Digital DataTraveler SE9 64GB: 表示其制造商名稱和設(shè)備名稱

我們還看到,系統(tǒng)中還附有USB 2.0 root hub 驅(qū)動(dòng)程序和USB 1.1 root hub 驅(qū)動(dòng)程序。

使用樹狀類型顯示usb信息

使用-t選項(xiàng),以樹狀結(jié)構(gòu)顯示usb信息:

[root@localhost ~]# lsusb -t/:  Bus 04.Port 1: Dev 1,, Driver=xhci_hcd/4p, 5000M
/:  Bus 03.Port 1: Dev 1,, Driver=xhci_hcd/4p, 480M
   |__ Port 1: Dev 2, If 0, Storage, Driver=usb-storage, 480M
/:  Bus 02.Port 1: Dev 1,, Driver=uhci_hcd/2p, 12M
   |__ Port 1: Dev 2, If 0, Interface Device, Driver=usbhid, 12M
   |__ Port 2: Dev 3, If 0,, Driver=hub/7p, 12M
/:  Bus 01.Port 1: Dev 1,, Driver=ehci-pci/6p, 480M

Linux怎么調(diào)試USB設(shè)備 

數(shù)字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’識(shí)別USB設(shè)備的詳細(xì)信息。lsusb列出的vendor和device name都是從這個(gè)文件里面識(shí)別出來的。

如何列出USB詳細(xì)信息

使用-v參數(shù)查看usb詳細(xì)信息:

[root@localhost ~]# lsusb -v | lessBus 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)

查找連接了多少個(gè)USB設(shè)備

查找鏈接的設(shè)備數(shù)量,可以使用下面命令查找:

[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怎么調(diào)試USB設(shè)備 

結(jié)合使用lsusb命令和-D參數(shù),可以輸出特定設(shè)備的詳細(xì)信息。下面實(shí)例查看金士頓存儲(chǔ)設(shè)備的詳細(xì)信息:

  Linux怎么調(diào)試USB設(shè)備

[root@localhost ~]# lsusb -D /dev/bus/usb/001/056
Linux怎么調(diào)試USB設(shè)備

查找大容量存儲(chǔ)設(shè)備

lsusb -v為我們提供了非常詳細(xì)的信息,我們可以配合使用grep命令查找指定的信息,下面過濾出idVendorMass Storage,來獲取大容量存儲(chǔ)設(shè)備:

[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怎么調(diào)試USB設(shè)備 

可以看到只有idVendor是Kingston Technology的設(shè)備才是大容量存儲(chǔ)設(shè)備。

讀到這里,這篇“Linux怎么調(diào)試USB設(shè)備”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI