下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、介紹Linux操作系統(tǒng)下的USB硬件設備驅(qū)動摘自網(wǎng)上USB 是英文"Universal Serial Bus"的縮寫,意為"通用串行總線"。是由Compaq(康柏)、DEC、IBM、Intel、NEC、微軟以及Northern Telecom(北方電訊)等公司于1994年11月共同提出的,主要目的就是為了解決接口標準太多的弊端。USB使用一個4針插頭作為標準插頭,并通過這個標準接頭,采用菊花瓣形式把所有外設連接起來,它采用串行方式傳輸數(shù)據(jù),目前最大數(shù)據(jù)傳輸率為12Mbps, 支持多數(shù)據(jù)流和多個設備并行操作,允許外設熱插拔。對于使用Linux系統(tǒng),正確支持
2、和配置常見的USB設備,就是其使用必不可少的關(guān)鍵一步。模塊(驅(qū)動程序)模塊(module)是在內(nèi)核空間運行的程序,實際上是一種目標對象文件,沒有鏈接,不能獨立運行,但是可以裝載到系統(tǒng)中作為內(nèi)核的一部分運行,從而可以動態(tài)擴充內(nèi)核的功能。模塊最主要的用處就是用來實現(xiàn)設備驅(qū)動程序。Linux下對于一個硬件的驅(qū)動,可以有兩種方式:直接加載到內(nèi)核代碼中,啟動內(nèi)核時就會驅(qū)動此硬件設備。另一種就是以模塊方式,編譯生成一個.o文件。當應用程序需要時再加載進內(nèi)核空間運行。所以我們所說的一個硬件的驅(qū)動程序,通常指的就是一個驅(qū)動模塊。設備文件對于一個設備,它可以在/dev下面存在一個對應的邏輯設備節(jié)點,這個節(jié)點以文
3、件的形式存在,但它不是普通意義上的文件,它是設備文件,更確切的說,它是設備節(jié)點。這個節(jié)點是通過mknod命令建立的,其中指定了主設備號和次設備號。主設備號表明了某一類設備,一般對應著確定的驅(qū)動程序;次設備 號一般是區(qū)分不同屬性,例如不同的使用方法,不同的位置,不同的操作。這個設備號是從/proc/devices文件中獲得的,所以一般是先有驅(qū)動程序在內(nèi)核中,才有設備節(jié)點在目錄中。這個設備號(特指主設備號)的主要作用,就是聲明設備所使用的驅(qū)動程序。驅(qū)動程序和設備號是一一對應的,當你打開一個設備文件時,操作系統(tǒng)就已經(jīng)知道這個設備所對應的驅(qū)動程序。SCSI 設備SCSI 是有別于IDE的一個計算機標準
4、接口。現(xiàn)在大部分平板式掃描儀、CD-R刻錄機、MO光磁盤機等漸漸趨向使用SCSI接口,加之SCSI又能提供一個高速傳送通道,所以,接觸到SCSI設備的用戶會越來越多。Linux支持很多種的SCSI設備,例如:SCSI硬盤、SCSI光驅(qū)、SCSI磁帶機。更重要 的是,Linux提供了IDE設備對SCSI的模擬(ide-scsi.o模塊),我們通常會就把IDE光驅(qū)模擬為SCSI光驅(qū)進行訪問。因為在 Linux中很多軟件都只能操作SCSI光驅(qū)。例如大多數(shù)刻錄軟件、一些媒體播放軟件。通常我們的USB存儲設備,也模擬為SCSI硬盤而進行訪問。Linux硬件驅(qū)動架構(gòu)對于一個硬件,Linux是這樣來進行驅(qū)動
5、的:首先,我們必須提供一個.o的驅(qū)動模塊文件(這里我們只說明模塊方式,其實內(nèi)核方式是類似的)。 我們要使用這個驅(qū)動程序,首先要加載運行它(insmod *.o)。這樣驅(qū)動就會根據(jù)自己的類型(字符設備類型或塊設備類型,例如鼠標就是字符設備而硬盤就是塊設備)向系統(tǒng)注冊,注冊成功系統(tǒng)會反饋一個主設備號,這個主設備號就是系統(tǒng)對它的唯一標識(例如硬盤塊設備在/proc/devices中顯示的主設備號為3 ,我們用ls -l /dev/had看到的主設備就肯定是3)。驅(qū)動就是根據(jù)此主設備號來創(chuàng)建一個一般放置在/dev目錄下的設備文件(mknod命令用來創(chuàng)建它,它必須用主設備號這個參數(shù))。在我們要訪問此硬件
6、時,就可以對設備文件通過open、read、write等命令進行。而驅(qū)動就會接收到相應的read、 write操作而根據(jù)自己的模塊中的相應函數(shù)進行。內(nèi)核中配置要啟用 Linux USB支持,首先進入"USB support"節(jié)并啟用"Support for USB"選項(對應模塊為usbcore.o)。特別地,現(xiàn)在需要選擇用于系統(tǒng)的正確 USB主控制器驅(qū)動程序。選項是"EHCI"(對應模塊為ehci-hcd.o)、"UHCI"(對應模塊為usb-uhci.o)、"UHCI (alternate drive
7、r)"和"OHCI"(對應模塊為usb-ohci.o)。要理解"EHCI"及其同類是什么,首先要知道每塊支持插入 USB設備的主板或 PCI卡都需要有 USB主控制器芯片組。這個特別的芯片組與插入系統(tǒng)的 USB設備進行相互操作,并負責處理允許 USB設備與系統(tǒng)其它部分通信所必需的所有低層次細節(jié)。Linux USB驅(qū)動程序有三種不同的 USB主控制器選項是因為在主板和 PCI卡上有三種不同類型的 USB芯片。"EHCI"驅(qū)動程序設計成為實現(xiàn)新的高速 USB 2.0協(xié)議的 芯片提供支持。"OHCI"驅(qū)動程序用
8、來為非 PC系統(tǒng)上的(以及帶有 SiS和 ALi芯片組的 PC主板上的)USB芯片提供支持。"UHCI"驅(qū)動程序用來為大多數(shù)其它 PC主板(包括 Intel和 Via)上的 USB實現(xiàn)提供支持。只需選擇與希望啟用的 USB支持的類型對應的"?HCI"驅(qū)動程序即可。如有疑惑,為保險起見,可以啟用"EHCI"、"UHCI"(兩者中任選一種,它們之間沒有明顯的區(qū)別)和"OHCI"。啟用了"USB support"和適當?shù)?quot;?HCI"USB主控制器驅(qū)動程序后,使
9、USB啟動并運行只需再進行幾個步驟。應該啟用"Preliminary USB device filesystem",然后確保啟用所有特定于將與 Linux一起使用的實際 USB外圍設備的驅(qū)動程序。例如,為了啟用對 USB游戲控制器的支持,我啟用了"USB Human Interface Device (full HID) support"。我還啟用了主"Input core support"節(jié)下的"Input core support"和"Joystick support"。一旦用新的已啟用 U
10、SB的內(nèi)核重新引導后,若/proc/bus/usb下沒有相應USB設備信息,應輸入以下命令將 USB設備文件系統(tǒng)手動掛裝到 /proc/bus/usb: # mount -t usbdevfs none /proc/bus/usb為了在系統(tǒng)引導時自動掛裝 USB設備文件系統(tǒng),請將下面一行添加到 /etc/fstab中的 /proc掛裝行之后:none /proc/bus/usb usbdevfs defaults 0 0模塊的配置方法在很多時候,我們的USB設備驅(qū)動并不包含在內(nèi)核中。其實我們只要根據(jù)它所需要使用的模塊,逐一加載。就可以使它啟作用。對應USB設備下面一些模塊是關(guān)鍵的。usbcor
11、e.o要支持usb所需要的最基礎模塊usb-uhci.o(已經(jīng)提過)usb-ohci.o(已經(jīng)提過)uhci.o另一個uhci驅(qū)動程序,我也不知道有什么用,一般不要加載,會死機的ehci-hcd.o(已經(jīng)提過 usb2.0)hid.oUSB人機界面設備,像鼠標呀、鍵盤呀都需要usb-storage.oUSB存儲設備,U盤等用到相關(guān)模塊ide-disk.oIDE硬盤ide-scsi.o把IDE設備模擬SCSI接口scsi_mod.oSCSI支持注意kernel config其中一項:Probe all LUNs on each SCSI device最好選上,要不某些同時支持多個口的讀卡器只能顯
12、示一個。若模塊方式就要帶參數(shù)安裝或提前在/etc/modules.conf中加入以下項,來支持多個LUN。add options scsi_mod max_scsi_luns=9 sd_mod.oSCSI硬盤sr_mod.oSCSI光盤sg.oSCSI通用支持(在某些探測U盤、SCSI探測中會用到)常見USB設備及其配置 在Linux 2.4的內(nèi)核中已經(jīng)支持不下20種設備。它支持幾乎所有的通用設備如鍵盤、鼠標、modem、打印機等,并不斷地添加廠商新的設備象數(shù)碼相機、MP3、網(wǎng)卡等。下面就是幾個最常見設備的介紹和使用方法:USB鼠標: 鍵盤和鼠標屬于低速的輸入設備,對于已經(jīng)為用戶認可的PS/2
13、接口,USB鍵盤和USB鼠標似乎并沒有太多更優(yōu)越的地方?,F(xiàn)在的大部分鼠標采用 了PS/2接口,不過USB接口的鼠標也越來越多,兩者相比,各有優(yōu)勢:一般來說,USB的鼠標接口的帶寬大于PS/2鼠標,也就是說在同樣的時間內(nèi), USB鼠標掃描次數(shù)就要多于PS/2鼠標,這樣在定位上USB鼠標就更為精確;同時USB接口鼠標的默認采樣率也比較高,達到125HZ,而PS/2接口 的鼠標僅有 40HZ(Windows 9x/Me)或是60HZ(Windows NT/2000)。對于USB設備你當然必須先插入相應的USB控制器模塊:usb-uhci.o或usb-ohci.omodprobe usb-uhcimo
14、dprobe usbmouse modprobe mousedev若你把HID input layer支持和input core支持也作為模塊方式安裝,那么啟動hid模塊和input模塊也是必要的。modprobe hid modprobe inputUSB鍵盤: 一般的,我們現(xiàn)在使用的鍵盤大多是PS/2的,USB鍵盤還比較少見,但是下來的發(fā)展,鍵盤將向USB接口靠攏。使用USB鍵盤基本上沒有太多 的要求,只需在主板的BIOS設定對USB鍵盤的支持,就可以在各系統(tǒng)中完全無障礙的使用,而且更可以真正做到在即插即用和熱插拔使用,并能提供兩個 USB連接埠:讓您可以輕易地直接將具有USB接頭的裝置接
15、在您的鍵盤上,而非計算機的后面。同樣你當然必須先插入相應的USB控制器模塊:usb-uhci.o或usb-ohci.omodprobe usb-uhci然后您還必須插入鍵盤模塊usbkbd.o,以及keybdev.o,這樣usb鍵盤才能夠正常工作。此時,運行的系統(tǒng)命令:modprobe usbkbdmodprobe keybdev同樣若你把HID input layer支持和input core支持也作為模塊方式安裝,那么啟動hid模塊和input模塊也是必要的。U盤和USB讀卡器: 數(shù)碼存儲設備現(xiàn)在對我們來說已經(jīng)是相當普遍的了。CF卡、SD卡、Memory Stick等存儲卡已經(jīng)遍及我們的身邊,通常,他們的讀卡器都是USB接口的。另外,很多MP3、數(shù)碼相機也都是USB接口和計算機進行數(shù)據(jù)傳遞。更我們 的U盤、USB硬盤,作為移動存儲設備,已經(jīng)成為我們的必須裝備。在Linux下這些設備通常都是以一種叫做usb-storage的方式進行驅(qū)動。要使用他們必須加載此模塊modprobe usb-storage當然,usbcore.o和usb-uhci.o或usb-ohci也肯定是不可缺少的。另外,若你系統(tǒng)中SCSI支持也是模塊方式,那么下面的模塊也要加載modprobe scsi_mod modprobe sd_mod在加載完這些模塊后,我們插入U盤
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育機構(gòu)室內(nèi)綠植裝飾打造綠色學習環(huán)境
- 2025年度校企合作產(chǎn)學研合作人才培養(yǎng)協(xié)議范本3篇
- 細胞與器官(說課稿)-2023-2024學年二年級下冊科學滬教版
- 9 古詩三首 題西林壁(說課稿)-2024-2025學年語文四年級上冊統(tǒng)編版
- 全國電子工業(yè)版初中信息技術(shù)第六冊第3單元3.2活動3《實現(xiàn)垃圾分類功能》說課稿
- 2025年度風力發(fā)電線路建設安全施工監(jiān)督合同2篇
- 2025年度陶瓷茶具品牌授權(quán)代理協(xié)議3篇
- 8古詩二首 說課稿2024-2025學年統(tǒng)編版語文 二年級上冊
- 粵教版 信息技術(shù) 必修 2.2.3 合法下載網(wǎng)絡中的文件 說課稿
- 《數(shù)學廣角-推理》(說課稿)-2023-2024學年二年級下冊數(shù)學人教版
- LED燈箱安裝制作及施工方案
- 混凝土澆筑申請表
- 山丹丹開花紅艷艷教案
- 中風后認知障礙中醫(yī)臨床路徑
- 罌粟湯_朱氏集驗方卷十_方劑加減變化匯總
- 《我相信---楊培安》歌詞-勵志歌曲
- 做一個幸福班主任
- 初中班主任案例分析4篇
- 公司7s管理組織實施方案
- Q∕GDW 12147-2021 電網(wǎng)智能業(yè)務終端接入規(guī)范
- 仁愛英語單詞默寫本(全六冊)英譯漢
評論
0/150
提交評論