歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux下USB設備檢測

Linux下USB設備檢測

日期:2017/3/1 17:15:49   编辑:關於Linux

Linux下USB設備檢測 正常工作,必須要現在系統中插入USB橋接器模塊。在檢測開始時,一般要先檢測是否存在/proc/bus/usb目錄,若不存在則嘗試插入USB橋接模塊。 現在一般的USB橋接器模塊有兩種類型,UHCI和OHCI。在決定插入那一個橋接器模塊時,可以察看/proc/pci文件來決定。打開此文件,您若發現USB節為 I/O at 0xHHHH格式(例如出現 I/O at 0xe000 [0xe01f]),HHHH為16進制數,則橋接器類型為UHCI。若是它為32 bit memory at 0xHH000000形式(例如出現32 bit memory at 0xee000000),HH為16進制數,則橋接器類型為OHCI。但是若您的橋接器類型不滿足上述任何一種情況,唯一的解決辦法就是您嘗試插入這兩種模塊,直到成功為止。一般而言,UHCI類型的橋接器它的插入模塊是uhci或usb-uhci(由內核版本決定);而對於OHCI類型的橋接器它的插入模塊是ohci或usb-ohci。 您在正確的插入了橋接器模塊之後,這時/proc文件系統下就會出現USB設備目錄,不過這時這個目錄是空的,沒有任何文件。這時您就必須掛接usbdevfs文件系統,然後通過此文件系統檢測連接的設備。 在成功掛接usb文件系統之後,就會生成文件/proc/bus/usb/devices,/proc/bus/usb/drivers 和目錄/proc/bus/usb/busNo。 掛接usbdevfs文件您可以通過如下操作實現: mount -t usbdevfs none /proc/bus/usb或在/etc/fstab上加入none /proc/bus/usb usbdevfs defaults 0 0 然後通過/proc/bus/usb/devices文件的內容,您就可以獲得連接的設備信息,包括設備標識和制造商標是等信息。 usb設備類型描述: www.2cto.com 設備規范 設備類碼 接口類碼 應用程序特定 - 0xFE 聲音接口 0x00 0x01 通信設備 0x02 - CDC控制接口 - 0x02 CDC數據接口 - 0x0A HID 0x00 0x03 HUB 0x09 0x09 批量存儲設備 0x00 0x08 監視器 same as HID same as HID 電源設備 same as HID same as HID 物理設備 - 0x05 打印機 - 0x07 供應商特定 - 0xFF 5.2 usb文件系統簡介 T = 總線拓撲結構(Lev, Prnt, Port, Cnt, 等),是指USB設備和主機之間的連接方式 B = 帶寬 (僅用於USB主控制器) D = 設備描述信息 P = 產品標識信息 S = 串描述符 C = 配置描述信息 (* 表示活動配置) I = 接口描述信息 E = 終端點描述信息 一般格式: d = 十進制數 x = 十六進制數 s = 字符串 拓撲信息 T: Bus=dd Lev=dd Prnt=dd Port=dd Cnt=dd Dev#=ddd Spd=ddd MxCh=dd | | | | | | | | |__最大子設備 | | | | | | | |__設備速度(Mbps) | | | | | | |__設備編號 | | | | | |__這層的設備數 | | | | |__此設備的父連接器/端口 | | | |__父設備號 | | |__此總線在拓撲結構中的層次 | |__總線編號 |__拓撲信息標志 www.2cto.com 帶寬信息 B: Alloc=ddd/ddd us (xx%), #Int=ddd, #Iso=ddd | | | |__同步請求編號 | | |__中斷請求號 | |__分配給此總線的總帶寬 |__帶寬信息標志 設備描述信息和產品標識信息 D: Ver=x.xx Cls=xx(s) Sub=xx Prot=xx MxPS=dd #Cfgs=dd P: Vendor=xxxx ProdID=xxxx Rev=xx.xx 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 | |__設備上讀出的制造商信息 |__串描述信息 www.2cto.com 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 | | | | | | | |__驅動名 | | | | | | |__接口協議 | | | | | |__接口子類 | | | | |__接口類 | | | |__中斷點數 | | |__可變設置編號 | |__接口編號 |__接口信息標志 www.2cto.com 終端點描述信息 E: Ad=xx(s) Atr=xx(ssss) MxPS=dddd Ivl=dddms E: Ad=xx(s) Atr=xx(ssss) MxPS=dddd Ivl=dddms | | | | |__間隔 | | | |__終端點最大包尺寸 | | |__屬性(終端點類型) | |__終端點地址(I=In,O=Out) |__終端點信息標志 作者 fengyv
Copyright © Linux教程網 All Rights Reserved