1. 程式人生 > >Linux下,檢視USB裝置資訊

Linux下,檢視USB裝置資訊

Linux下,檢視USB裝置資訊

 

首先需要將usbfs掛載一下,然後才能檢視。
$ mount -t usbfs none /proc/bus/usb
cat  /proc/bus/usb/devices
或者在檔案(/etc/fstab)中新增如下這句:
none  /proc/bus/usb  usbfs  defaults  0  0
檢視到的資訊,如下所示:
T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12   MxCh= 3
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0001 Rev= 3.00
S:  Manufacturer=Linux 3.0.15 ohci_hcd
S:  Product=s5p OHCI
S:  SerialNumber=s5p-ohci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 3
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 3.00
S:  Manufacturer=Linux 3.0.15 ehci_hcd
S:  Product=S5P EHCI Host Controller
S:  SerialNumber=s5p-ehci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

如何看懂這些資訊呢?參見:kernel\Documentation\usb\proc_usb_info.txt
T = 匯流排拓撲(Topology)結構(Lev, Prnt, Port, Cnt, 等),是指USB裝置和主機之間的連線方式
B = 頻寬(Bandwidth)(僅用於USB主控制器)
D = 裝置(Device)描述資訊
P = 產品(Product)標識資訊
S = 字串(String)描述符
C = 配置(Config)描述資訊 (* 表示活動配置)
I = 介面(Interface)描述資訊
E = 端點(Endpoint)描述資訊
一般格式:
d = 十進位制數
x = 十六進位制數
s = 字串

拓撲資訊


T:   Bus=dd Lev=dd Prnt=dd Port=dd Cnt=dd Dev#=ddd Spd=ddd MxCh=dd
|      |            |             |              |              |              |                  |              |__最大子裝置
|      |            |             |              |              |              |                  |__裝置速度(Mbps)
|      |            |             |              |              |              |__裝置編號
|      |            |             |              |              |__這層的裝置數
|      |            |             |              |__此裝置的父聯結器/埠
|      |            |             |__父裝置號
|      |            |__此匯流排在拓撲結構中的層次
|      |__匯流排編號
|__拓撲資訊標誌
頻寬資訊
B:   Alloc=ddd/ddd us (xx%), #Int=ddd, #Iso=ddd
|       |                                        |                |__同步請求編號
|       |                                        |__中斷請求號
|       |__分配給此匯流排的總頻寬
|__頻寬資訊標誌
裝置描述資訊和產品標識資訊
D:   Ver=x.xx Cls=xx(sssss) Sub=xx Prot=xx MxPS=dd #Cfgs=dd
|       |             |                        |              |             |                 |__配置編號
|       |             |                        |              |             |______預設終端點的最大包尺寸
|       |             |                        |              |__裝置協議
|       |             |                        |__裝置子型別
|       |             |__裝置型別
|       |__裝置USB版本
|__裝置資訊標誌編號#1
P:   Vendor=xxxx ProdID=xxxx Rev=xx.xx
|       |                    |                    |__產品修訂號
|       |                    |__產品標識編碼
|       |__製造商標識編碼
|__裝置資訊標誌編號#2
串描述資訊
S:   Manufacturer=ssss
|       |__裝置上讀出的製造商資訊
|__串描述資訊
S:   Product=ssss
|      |__裝置上讀出的產品描述資訊,對於USB主控制器此欄位為"USB *HCI Root Hub"
|__串描述資訊
S:   SerialNumber=ssss
|       |__裝置上讀出的序列號,對於USB主控制器它是一個生成的字串,表示裝置標識
|__串描述資訊
配置描述資訊
C:   #Ifs=dd Cfg#=dd Atr=xx MPwr=dddmA
|         |               |              |             |__最大電流(mA)
|         |               |              |__屬性
|         |               |__配置編號
|         |__介面數
|__配置資訊標誌
介面描述資訊(可為多個)
I:   If#=dd Alt=dd #EPs=dd Cls=xx(sssss) Sub=xx Prot=xx Driver=ssss
|      |        |            |              |                         |              |            |__驅動名
|      |        |            |              |                         |              |__介面協議
|      |        |            |              |                         |__介面子類
|      |        |            |              |__介面類
|      |        |            |__端點數
|      |        |__可變設定編號
|      |__介面編號
|__介面資訊標誌
端點描述資訊
E:   Ad=xx(s) Atr=xx(ssss) MxPS=dddd Ivl=dddms
|       |               |                      |                   |__間隔
|       |               |                      |__終端點最大包尺寸
|       |               |__屬性(終端點型別)
|       |__終端點地址(I=In,O=Out)
|__終端點資訊標誌