新聞中心
探索Linux系統(tǒng)下的MyUSB驅(qū)動(dòng)使用方法

Linux系統(tǒng)作為一個(gè)開放源代碼的操作系統(tǒng),已經(jīng)成為了眾多科研、服務(wù)器等領(lǐng)域的選擇操作系統(tǒng)。在Linux系統(tǒng)中,驅(qū)動(dòng)程序是非常重要的一環(huán),而MyUSB驅(qū)動(dòng)作為一款集成了USB控制、數(shù)據(jù)傳輸?shù)榷鄠€(gè)功能的驅(qū)動(dòng)程序,無疑成為了Linux系統(tǒng)中非常重要的一款驅(qū)動(dòng)程序。本文將探索Linux系統(tǒng)下的MyUSB驅(qū)動(dòng)使用方法。
一、MyUSB驅(qū)動(dòng)簡(jiǎn)介
MyUSB驅(qū)動(dòng)是一款在Linux系統(tǒng)中常見的板級(jí)支持庫驅(qū)動(dòng)程序,它非常適合在linux平臺(tái)下使用。MyUSB驅(qū)動(dòng)提供了多種功能,包括USB控制、數(shù)據(jù)傳輸、系統(tǒng)資源管理等。其主要功能如下:
1. 支持USB設(shè)備和主機(jī)收發(fā)數(shù)據(jù)
2. USB控制命令和狀態(tài)操作
3. USB系統(tǒng)資源的管理
4. 支持USB HUB設(shè)備。
二、MyUSB驅(qū)動(dòng)的安裝
MyUSB驅(qū)動(dòng)是一個(gè)針對(duì)Linux內(nèi)核的驅(qū)動(dòng)程序,在安裝之前需要先確保內(nèi)核版本的兼容性。MyUSB驅(qū)動(dòng)支持的Linux內(nèi)核版本如下:
Linux 2.4: MyUSB驅(qū)動(dòng)的2.4.x版本適用于Linux的2.4.x版本內(nèi)核。
Linux 2.6: MyUSB驅(qū)動(dòng)的2.6.x版本適用于Linux的2.6.x版本內(nèi)核。
MyUSB驅(qū)動(dòng)的安裝比較簡(jiǎn)單,只需要將編譯好的驅(qū)動(dòng)通過inod命令加載到內(nèi)核即可。在安裝之前,需要確保系統(tǒng)上已經(jīng)安裝了GNU C Compiler工具。
MyUSB驅(qū)動(dòng)的安裝步驟如下:
1. 下載MyUSB驅(qū)動(dòng)程序
MyUSB驅(qū)動(dòng)可以從官方網(wǎng)站上下載,也可以從github等代碼托管平臺(tái)上獲取。下載時(shí)需要選擇對(duì)應(yīng)的內(nèi)核版本的MyUSB驅(qū)動(dòng)。
2. 安裝工具鏈
MyUSB驅(qū)動(dòng)需要使用GNU C Compiler工具鏈進(jìn)行編譯,因此需要先安裝該工具鏈。
apt-get install build-essential
3. 解壓驅(qū)動(dòng)源代碼
將下載的MyUSB驅(qū)動(dòng)源代碼解壓到任意目錄即可,命令如下:
tar -zxvf myu-x.x.tar.gz
4. 編譯驅(qū)動(dòng)程序
進(jìn)入MyUSB驅(qū)動(dòng)的源代碼目錄中,使用make命令編譯MyUSB驅(qū)動(dòng)程序。編譯完成后會(huì)生成.ko文件。
make
5. 加載驅(qū)動(dòng)程序
使用inod命令將編譯好的MyUSB驅(qū)動(dòng)程序加載到內(nèi)核中。
inod myu.ko
至此,MyUSB驅(qū)動(dòng)就已經(jīng)成功安裝到了Linux系統(tǒng)中。
三、MyUSB測(cè)試程序的使用
為了驗(yàn)證MyUSB驅(qū)動(dòng)在Linux系統(tǒng)中的正常使用,我們可以使用附帶的測(cè)試程序進(jìn)行測(cè)試。MyUSB測(cè)試程序是一個(gè)控制臺(tái)程序,可以在控制臺(tái)中進(jìn)行USB設(shè)備的連接、數(shù)據(jù)發(fā)送等操作。
1. 下載MyUSB測(cè)試程序源代碼
同樣是從MyUSB官方網(wǎng)站下載到源代碼,解壓后即可使用。
2. 編譯MyUSB測(cè)試程序
進(jìn)入MyUSB測(cè)試程序的源代碼目錄中,使用make命令編譯MyUSB測(cè)試程序。
make
3. 運(yùn)行MyUSB測(cè)試程序
使用./myu_test命令運(yùn)行MyUSB測(cè)試程序,程序會(huì)連接到USB設(shè)備并進(jìn)行數(shù)據(jù)讀寫等操作。程序操作比較簡(jiǎn)單,如果程序能夠正常連接到設(shè)備并進(jìn)行數(shù)據(jù)傳輸,則表明MyUSB驅(qū)動(dòng)已經(jīng)成功安裝并可用。
四、
MyUSB驅(qū)動(dòng)是一款非常實(shí)用的板級(jí)支持庫驅(qū)動(dòng)程序,在Linux系統(tǒng)中得到了廣泛的應(yīng)用。MyUSB驅(qū)動(dòng)提供了USB控制、數(shù)據(jù)傳輸、系統(tǒng)資源管理等多種功能,可用于連接USB設(shè)備、存儲(chǔ)數(shù)據(jù)等多種場(chǎng)景。在使用MyUSB驅(qū)動(dòng)前,需要先安裝對(duì)應(yīng)的內(nèi)核版本,并使用編譯工具編譯MyUSB驅(qū)動(dòng),最后使用測(cè)試程序進(jìn)行測(cè)試。通過本文的介紹,相信讀者已經(jīng)對(duì)MyUSB驅(qū)動(dòng)的使用有了一定了解。
相關(guān)問題拓展閱讀:
- Linux下如何自己手動(dòng)使用命令掛載/卸載USB設(shè)備
- linux系統(tǒng)中沒有USB驅(qū)動(dòng)怎么辦?
Linux下如何自己手動(dòng)使用命令掛載/卸載USB設(shè)備
Linux系統(tǒng)下通常都會(huì)自動(dòng)掛載USB設(shè)備,如果沒有自動(dòng)掛載的話就需要自己手動(dòng)掛載USB設(shè)備了,那么Linux下要如何掛載USB設(shè)備呢?不需要的時(shí)候又要如何卸載呢?一起來了解下吧。
在掛載之前需要確定下列三種信息
1、要掛載對(duì)象的文件系統(tǒng)類型
2、要掛載對(duì)象的設(shè)備名稱
3、確定掛載點(diǎn)
掛載時(shí)使用mount命令:
格式:mount [-參數(shù)] [設(shè)備名稱] [掛載點(diǎn)]
我們常見搜鍵的USB設(shè)備格式是:FAT32格式、NFTS格式等。
ext2 linux目前常用的文件系統(tǒng)
msdos MS-DOS的fat,就是fat16
vfat windows98常用的fat32
nfs 網(wǎng)絡(luò)文件系統(tǒng)
iso9660 CD-ROM光盤標(biāo)準(zhǔn)文件系統(tǒng)
ntfs windows NT 2023的文件系統(tǒng)
hpfs OS/2文件系統(tǒng)
掛u盤之前,運(yùn)行命令cat /proc/partitions,看看現(xiàn)在系統(tǒng)中有哪些分區(qū)。
插上u盤以后,再次運(yùn)行上述命令,看看多出來什么分區(qū)。
1) 插入U(xiǎn)盤
2) 輸入 fdisk -l /dev/sda 查看輸出結(jié)果,比如我的是這樣的:
代碼如下:
# fdisk -l /dev/sda《/p》 Disk /dev/sda: 131 MB,世嘩巧bytes
3 heads, 32 sectors/track, 2667 cylinders
Units = cylinders of 96 * 512 =bytes
Device Boot Start End Blocks Id System
/dev/sdb1 * 6 FAT16
3) 看了上面的輸出就知道U盤所在的設(shè)備了,比如我的就是/dev/sdb1,接著便是掛載了
假設(shè)我將U盤掛載到/mnt/u目錄(沒有的話,新建)中,就是mount -t msdos /dev/sdb1 /mnt/u
如果是fat32
代碼如下:
mount -t vfat /dev/sdb1 /mnt/u
如果是ext2格式,就用命令:
代碼如下:蘆遲
mount -t ext2 /dev/sda1 /mnt/u
4) 打開/mnt/u 就可以看到你的U盤里的東西了!
代碼如下:
cd /mnt/u
5) 卸載命令則為:
代碼如下:
umount /mnt/u。
上面就是Linux下掛載及卸載USB設(shè)備的方法介紹了,掛載USB接口設(shè)備后就能夠查看移動(dòng)盤的內(nèi)容了,而不需要使用的時(shí)候也可將其卸載,你學(xué)會(huì)了嗎?
linux系統(tǒng)中沒有USB驅(qū)動(dòng)怎么辦?
要啟用 Linux USB 支持,首先進(jìn)入”USB support”節(jié)并啟用”Support for USB”選項(xiàng)(對(duì)應(yīng)模塊為ucore.o)。盡管這個(gè)步驟相當(dāng)直觀明了,但接下來的 Linux USB 設(shè)置步驟則會(huì)讓人感到糊涂。特別地,現(xiàn)在需要選擇用于系統(tǒng)的正確 USB 主控制器驅(qū)動(dòng)程序。選項(xiàng)是”EHCI” (對(duì)應(yīng)模塊為ehci-hcd.o)、”UHCI” (對(duì)應(yīng)模塊為u-uhci.o)、”UHCI (alternate driver)”和”O(jiān)HCI” (對(duì)應(yīng)模塊為u-ohci.o)。舉磨這是許多人對(duì) Linux 的 USB 開始感到困惑的地方。
要理解”EHCI”及其同類是什么,首先要知道每塊支持插入 USB 設(shè)備的主板或 PCI 卡都需要有 USB 主控制器芯片組。這個(gè)特別的芯片組與插入系統(tǒng)的 USB 設(shè)備進(jìn)行相互操作,并負(fù)責(zé)處理允許 USB 設(shè)備與系統(tǒng)其它部分通信所必需的所有低層次細(xì)節(jié)。
Linux USB 驅(qū)動(dòng)程序有三種不同的 USB 主控制器選項(xiàng)是因?yàn)樵谥靼搴?PCI 卡上有三種不同類型的 USB 芯片?!盓HCI”驅(qū)動(dòng)程序設(shè)計(jì)成為實(shí)現(xiàn)新的高速 USB 2.0 協(xié)議的芯片提供支持?!監(jiān)HCI”驅(qū)動(dòng)程序用來為非 PC 系統(tǒng)上的(以及帶有 SiS 和 ALi 芯片組的 PC 主板上的)USB 芯片提供支持。”UHCI”驅(qū)動(dòng)程序用來為大多數(shù)其它 PC 主板(包括 Intel 和 Via)上的 USB 實(shí)現(xiàn)提供支持。只需選擇與希望啟用的 USB 支持的類型對(duì)應(yīng)的”?HCI”驅(qū)動(dòng)程序即可。如有疑惑,為保險(xiǎn)起見,可以啟用”EHCI”、”UHCI” (兩者中任選一種,它們之間沒有明顯的區(qū)別)和”O(jiān)HCI”。( 趙明注:根據(jù)文檔,EHCI已經(jīng)包含了UHCI和OHCI,但目前就我個(gè)人的測(cè)試,單獨(dú)加EHCI是不行的,通常我的做法是根據(jù)主板類型加載UHCI或OHCI后,再加載EHCI這樣才可以支持USB2.0設(shè)備)。
啟用了”USB support”和適當(dāng)?shù)摹?HCI”USB 主控蠢答寬制器驅(qū)動(dòng)程序后,使 USB 啟動(dòng)并運(yùn)行只需再進(jìn)行幾個(gè)步驟。應(yīng)該啟用”Preliminary USB device filesystem”,然后確保啟用所有特定于將與 Linux 一起使用的實(shí)際 USB 外圍設(shè)備的驅(qū)動(dòng)程序。例如,為了啟用對(duì) USB 游戲控制器的支持,我啟用了”USB Human Interface Device (full HID) support”。我還啟用了主”Input core support” 節(jié)下的”Input core support”和”Joystick support”。
一旦用新的已啟用 USB 的內(nèi)核重新引導(dǎo)后,若/proc/bus/u下沒有相應(yīng)USB設(shè)備信息,應(yīng)輸入以下命令將 USB 設(shè)備文件系統(tǒng)手動(dòng)掛裝到 /proc/bus/u:
# mount -t udevfs none /proc/bus/u
為了在系統(tǒng)引導(dǎo)時(shí)自動(dòng)掛裝 USB 設(shè)備文件系統(tǒng),請(qǐng)將下面一行添加到 /etc/fstab 中的 /proc 掛裝行之后:
none /proc/bus/u udevfs defaults 0 0
模塊的配置方法.
在很多時(shí)候,我們的USB設(shè)備驅(qū)動(dòng)并不包含在內(nèi)核中。其實(shí)我們只要根據(jù)它所需要使用的模塊,逐一加載。就可以使它啟作用。
首先要確保在內(nèi)核編譯時(shí)以模塊方式選擇了相應(yīng)支持。這樣我們就應(yīng)該可以在/lib/modules/2.4.XX目錄看到相應(yīng).o文件。在加載模塊時(shí),我們只需要運(yùn)行modprobe xxx.o就可以了(modprobe主要加載系統(tǒng)已經(jīng)通過depmod登記過的模塊,inod一般是針對(duì)具體.o文件進(jìn)行加載)
對(duì)應(yīng)USB設(shè)備下面一些模塊是關(guān)鍵的。
ucore.o要支持u所需要的最基礎(chǔ)模塊u-uhci.o(已經(jīng)提過)u-ohci.o(已經(jīng)提過)uhci.o另一個(gè)uhci驅(qū)動(dòng)程序,我也不知道有什么用,一般不要加載,會(huì)死機(jī)的ehci-hcd.o(已經(jīng)提過 u2.0)hid.oUSB人機(jī)界面設(shè)備,像鼠標(biāo)呀、鍵盤呀都需要u-storage.oUSB存儲(chǔ)設(shè)備,U盤帶亮等用到
相關(guān)模塊
ide-disk.oIDE硬盤ide-scsi.o把IDE設(shè)備模擬SCSI接口scsi_mod.oSCSI支持
注意kernel config其中一項(xiàng):
Probe all LUNs on each SCSI device
更好選上,要不某些同時(shí)支持多個(gè)口的讀卡器只能顯示一個(gè)。若模塊方式就要帶參數(shù)安裝或提前在/etc/modules.conf中加入以下項(xiàng),來支持多個(gè)LUN。
add options scsi_mod max_scsi_luns=9
sd_mod.oSCSI硬盤sr_mod.oSCSI光盤sg.oSCSI通用支持(在某些探測(cè)U盤、SCSI探測(cè)中會(huì)用到)
常見USB設(shè)備及其配置
在Linux 2.4的內(nèi)核中已經(jīng)支持不下20種設(shè)備。它支持幾乎所有的通用設(shè)備如鍵盤、鼠標(biāo)、modem、打印機(jī)等,并不斷地添加廠商新的設(shè)備象數(shù)碼相機(jī)、MP3、網(wǎng)卡等。下面就是幾個(gè)最常見設(shè)備的介紹和使用方法:
USB鼠標(biāo):
鍵盤和鼠標(biāo)屬于低速的輸入設(shè)備,對(duì)于已經(jīng)為用戶認(rèn)可的PS/2接口,USB鍵盤和USB鼠標(biāo)似乎并沒有太多更優(yōu)越的地方?,F(xiàn)在的大部分鼠標(biāo)采用了PS/2接口,不過USB接口的鼠標(biāo)也越來越多,兩者相比,各有優(yōu)勢(shì):一般來說,USB的鼠標(biāo)接口的帶寬大于PS/2鼠標(biāo),也就是說在同樣的時(shí)間內(nèi),USB鼠標(biāo)掃描次數(shù)就要多于PS/2鼠標(biāo),這樣在定位上USB鼠標(biāo)就更為精確;同時(shí)USB接口鼠標(biāo)的默認(rèn)采樣率也比較高,達(dá)到125HZ,而PS/2接口的鼠標(biāo)僅有40HZ(Windows 9x/Me)或是60HZ(Windows NT/2023)。
對(duì)于USB設(shè)備你當(dāng)然必須先插入相應(yīng)的USB控制器模塊:u-uhci.o或u-ohci.o
modprobe u-uhci
USB鼠標(biāo)為了使其正常工作,您必須先插入模塊umouse.o和mousedev.o
modprobe umouse
modprobe mousedev
若你把HID input layer支持和input core 支持也作為模塊方式安裝,那么啟動(dòng)hid模塊和input模塊也是必要的。
modprobe hid
modprobe input
USB鍵盤:
一般的,我們現(xiàn)在使用的鍵盤大多是PS/2的,USB鍵盤還比較少見,但是下來的發(fā)展,鍵盤將向USB接口靠攏。使用USB鍵盤基本上沒有太多的要求,只需在主板的BIOS設(shè)定對(duì)USB鍵盤的支持,就可以在各系統(tǒng)中完全無障礙的使用,而且更可以真正做到在即插即用和熱插拔使用,并能提供兩個(gè)USB連接埠:讓您可以輕易地直接將具有USB接頭的裝置接在您的鍵盤上,而非計(jì)算機(jī)的后面。
同樣你當(dāng)然必須先插入相應(yīng)的USB控制器模塊:u-uhci.o或u-ohci.o
modprobe u-uhci
然后您還必須插入鍵盤模塊ukbd.o,以及keybdev.o,這樣u鍵盤才能夠正常工作。此時(shí),運(yùn)行的系統(tǒng)命令:
modprobe ukbd
modprobe keybdev
同樣若你把HID input layer支持和input core 支持也作為模塊方式安裝,那么啟動(dòng)hid模塊和input模塊也是必要的。
U盤和USB讀卡器:
數(shù)碼存儲(chǔ)設(shè)備現(xiàn)在對(duì)我們來說已經(jīng)是相當(dāng)普遍的了。CF卡、SD卡、Memory Stick等存儲(chǔ)卡已經(jīng)遍及我們的身邊,通常,他們的讀卡器都是USB接口的。另外,很多MP3、數(shù)碼相機(jī)也都是USB接口和計(jì)算機(jī)進(jìn)行數(shù)據(jù)傳遞。更我們的U盤、USB硬盤,作為移動(dòng)存儲(chǔ)設(shè)備,已經(jīng)成為我們的必須裝備。
在Linux下這些設(shè)備通常都是以一種叫做u-storage的方式進(jìn)行驅(qū)動(dòng)。要使用他們必須加載此模塊
modprobe u-storage
當(dāng)然,ucore.o 和u-uhci.o或u-ohci也肯定是不可缺少的。另外,若你系統(tǒng)中SCSI支持也是模塊方式,那么下面的模塊也要加載
modprobe scsi_mod
modprobe sd_mod
在加載完這些模塊后,我們插入U(xiǎn)盤或存儲(chǔ)卡,就會(huì)發(fā)現(xiàn)系統(tǒng)中多了一個(gè)SCSI硬盤,通過正確地mount它,就可以使用了(SCSI硬盤一般為/dev/sd?,可參照文章后面的常見問題解答)。
mount /dev/sda1 /mnt
Linux支持的其他USB設(shè)備。
MODEM–(比較常見) 網(wǎng)絡(luò)設(shè)備 攝像頭–(比較常見)例如ov511.o 聯(lián)機(jī)線–可以讓你的兩臺(tái)電腦用USB線實(shí)現(xiàn)網(wǎng)絡(luò)功能。unet.o 顯示器–(我沒見過) 游戲桿 電視盒–(比較常見) 手寫板–(比較常見) 掃描儀–(比較常見) 刻錄機(jī)–(比較常見) 打印機(jī)–(比較常見)
注意:
上面所說的每個(gè)驅(qū)動(dòng)模塊,并不是都要手動(dòng)加載,有很多系統(tǒng)會(huì)在啟動(dòng)或你的應(yīng)用需要時(shí)自動(dòng)加載的,寫明這些模塊,是便于你在不能夠使用USB設(shè)備時(shí),可以自行檢查。只要用lod確保以上模塊已經(jīng)被系統(tǒng)加載,你的設(shè)備就應(yīng)該可以正常工作了。當(dāng)然注意有些模塊已經(jīng)以內(nèi)核方式在kernel啟動(dòng)時(shí)存在了(這些模塊文件在/lib/modules/2.4.XX中是找不到的)。
輸入相關(guān)命令
系統(tǒng)中沒有USB驅(qū)動(dòng),只能自己安裝了。
安裝具體如下:
事先需要插入一張系統(tǒng)光盤(因?yàn)樗械南到y(tǒng)光盤中都集成了大部分的各種各樣的驅(qū)動(dòng))到光驅(qū)。
再把USB移動(dòng)硬件插入U(xiǎn)SB接口,也就是先把USB插入電腦上。
之后右下角會(huì)提示新硬件被發(fā)現(xiàn),但些此時(shí)沒有驅(qū)動(dòng)肯定是用不起的。
在彈出的對(duì)話框中選擇更新驅(qū)動(dòng)的路徑,這個(gè)路徑當(dāng)然就是剛才放入光驅(qū)中的光盤了。
此時(shí)電腦會(huì)自動(dòng)搜索光盤中符合USB硬件的驅(qū)動(dòng)。
如氏彎果沒有自動(dòng)彈出更新驅(qū)動(dòng)對(duì)話框:
右擊“我的電腦”-屬性-硬件-設(shè)備管理器。
剛插入的新硬件因?yàn)闆]有驅(qū)動(dòng)蘆寬所以在此對(duì)話框中就會(huì)顯示一個(gè)黃色的問號(hào)。
再在黃色問號(hào)的上邊右擊-選擇更新驅(qū)動(dòng)此時(shí)電腦就會(huì)自動(dòng)偵測(cè)電腦中符合USB的驅(qū)動(dòng)(當(dāng)然這個(gè)自陪核亮動(dòng)就是電腦自動(dòng)到插入光盤中去搜索)。
需要重新編譯內(nèi)核
關(guān)于myu(linux)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
創(chuàng)新互聯(lián)服務(wù)器托管擁有成都T3+級(jí)標(biāo)準(zhǔn)機(jī)房資源,具備完善的安防設(shè)施、三線及BGP網(wǎng)絡(luò)接入帶寬達(dá)10T,機(jī)柜接入千兆交換機(jī),能夠有效保證服務(wù)器托管業(yè)務(wù)安全、可靠、穩(wěn)定、高效運(yùn)行;創(chuàng)新互聯(lián)專注于成都服務(wù)器托管租用十余年,得到成都等地區(qū)行業(yè)客戶的一致認(rèn)可。
分享題目:探索linux系統(tǒng)下的myu驅(qū)動(dòng)使用方法(myu(linux))
網(wǎng)頁網(wǎng)址:http://m.fisionsoft.com.cn/article/djhsjpc.html


咨詢
建站咨詢
