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)
|__終端點資訊標誌