歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

網(wǎng)卡驅(qū)動(dòng)程序的編譯與安裝.doc

  • 資源ID:8478186       資源大小:29KB        全文頁(yè)數(shù):6頁(yè)
  • 資源格式: DOC        下載積分:9.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

網(wǎng)卡驅(qū)動(dòng)程序的編譯與安裝.doc

一般來(lái)說(shuō),目前新版的 Linux 預(yù)設(shè)可以支持的網(wǎng)絡(luò)卡芯片組數(shù)量已經(jīng)很完備了,很多網(wǎng)絡(luò)卡芯片都已經(jīng)被支持, 例如RLT 8139 芯片 ( RealTek 8139 ) 的網(wǎng)絡(luò)卡所以使用者可以很輕易的設(shè)定好他們的網(wǎng)絡(luò)卡。 不過(guò),如果萬(wàn)一不幸核心沒(méi)有支持該網(wǎng)絡(luò)卡的話,那么可以透過(guò)重新編譯核心或者編譯網(wǎng)絡(luò)卡驅(qū)動(dòng)模塊 ( Modules ), 并且加載該模塊,今天就是這么巧,碰到一個(gè)D-Link 的DFE-530TX,沒(méi)法,只有手動(dòng)安裝網(wǎng)絡(luò)卡驅(qū)動(dòng)程序了. 一、可以用命令# dmesg | grep eth 來(lái)查看系統(tǒng)啟動(dòng)信息,顯示出 eth0 或者 eth1 的信息,如果eth1沒(méi)找到正確的信息,那就表示 Linux 無(wú)法找到該硬件, eth0是8139的,已經(jīng)顯示正常,例如: rootkindgeorge root# dmesg | grep eth eth0: RealTek RTL8139 Fast Ethernet at 0xf0160000, 00:0a:a6:30:0d:0e, IRQ 11 eth0: Identified 8139 chip type RTL-8139C eth0: Setting 10mbps full-duplex based on auto-negotiated partner ability 4061. 一. 查看自己系統(tǒng)的內(nèi)核版本. rootkindgeorge root# uname -r 2.4.18-3 我這里是redhat7.3的,內(nèi)核2.4.18-3 一般來(lái)說(shuō),這個(gè)內(nèi)核驅(qū)動(dòng)程序的模塊會(huì)放在 /lib/modules/2.4.18-3/kernel/drivers/net 二.確定系統(tǒng)是否已經(jīng)安裝下面包kernel-source-2.4.20-18.9 kernel-2.4.20-18.9 gcc-3.2.2-5 make-3.79.1-17 (查詢是否安裝了某個(gè)包,用這個(gè)命令。)1.由于編譯需要用到內(nèi)核的源代碼包和編譯程序gcc.所以如果沒(méi)有的話,要先裝. 查看: rootkindgeorge root# rpm -qa|grep kernel kernel-2.4.18-3 kernel-source-2.4.18-3 rootkindgeorge root# rpm -qa|grep gcc (gcc是編譯用) gcc-2.96-110 gcc-g77-2.96-110 gcc-c+-2.96-110 一般裝了內(nèi)核源包的話,都會(huì)在出現(xiàn)/usr/src/linux-2.4,同路徑下會(huì)有l(wèi)inux-2.4.18-3的文件實(shí)際目錄. 2.如果沒(méi)有的話,就用原來(lái)安裝盤上的文件安裝,會(huì)去下載個(gè)相同內(nèi)核源包安裝吧 rpm -ivh kernel-source-2.4.18-3.i386.rpm . 三. 取得驅(qū)動(dòng)程序和編譯 1. 可以重廠家提供的光盤提供,把光盤上的linux目錄下的dlkfet-4.24.tar.gz 拷貝過(guò)來(lái)用. 2. 從網(wǎng)上下載網(wǎng)絡(luò)卡驅(qū)動(dòng)程序,一般廠家的網(wǎng)站都提供下載程序的. 例如: http:/www.d-link.com.cn 上有下載. rootkindgeorge root# cp dlkfet-4.24.tar.gz /usr/src rootkindgeorge root# cd /usr/src/ rootkindgeorge src# tar -zxvf dlkfet-4.24.tar.gz dlkfet-4.24/ dlkfet-4.24/rhine_main.c dlkfet-4.24/Makefile dlkfet-4.24/vmns_drv.h dlkfet-4.24/rhine.h dlkfet-4.24/.depend.mak dlkfet-4.24/rhine_vmns.c dlkfet-4.24/rhine_proc.h dlkfet-4.24/rhine_proc.c dlkfet-4.24/rhine_vmns.h dlkfet-4.24/kcompat.h dlkfet-4.24/rhine_cfg.h dlkfet-4.24/.depend dlkfet-4.24/rhine_wol.c dlkfet-4.24/rhine_wol.h dlkfet-4.24/linux.txt 3. 請(qǐng)留意一開(kāi)始是沒(méi)有.o文件的. 我們編譯前可以看看目錄的linux.txt,是一個(gè)包含介紹安裝說(shuō)明.在進(jìn)入目錄后,執(zhí)行make進(jìn)行編譯. rootkindgeorge src# cd dlkfet-4.24 rootkindgeorge dlkfet-4.24# make rootkindgeorge dlkfet-4.24# ll (編譯后查看一下) total 320 -rw-r-r- 1 root root 7473 Jan 15 2003 kcompat.h -rw-r-r- 1 root root 11491 Jan 20 2003 linux.txt -rw-r-r- 1 root root 5219 Dec 10 2002 Makefile -rw-r-r- 1 root root 1818 Jan 16 2003 rhine_cfg.h -rw-r-r- 1 root root 48715 May 24 18:31 rhinefet.o -rw-r-r- 1 root root 42044 Jan 15 2003 rhine.h -rw-r-r- 1 root root 78996 Jan 16 2003 rhine_main.c -rw-r-r- 1 root root 32760 May 24 18:31 rhine_main.o -rw-r-r- 1 root root 14980 Jan 15 2003 rhine_proc.c -rw-r-r- 1 root root 1672 Jan 15 2003 rhine_proc.h -rw-r-r- 1 root root 12336 May 24 18:31 rhine_proc.o -rw-r-r- 1 root root 9172 Jan 15 2003 rhine_vmns.c -rw-r-r- 1 root root 1106 Jan 15 2003 rhine_vmns.h -rw-r-r- 1 root root 3792 May 24 18:31 rhine_vmns.o -rw-r-r- 1 root root 7536 Jan 15 2003 rhine_wol.c -rw-r-r- 1 root root 1529 Jan 15 2003 rhine_wol.h -rw-r-r- 1 root root 3488 May 24 18:31 rhine_wol.o -rw-r-r- 1 root root 6824 Jan 15 2003 vmns_drv.h 4.經(jīng)過(guò)編譯后,會(huì)編譯出一個(gè)rhinefet.o 文件,這個(gè)就是驅(qū)動(dòng)模塊,我們把它拷貝到相應(yīng)地方。(如果是更新驅(qū)動(dòng),就要要?jiǎng)h除原有驅(qū)動(dòng),用這個(gè)命令modinfo r8169原來(lái)驅(qū)動(dòng)在哪,然后刪除掉。 rootkindgeorge dlkfet-4.24#cp rhinefet.o /lib/modules/2.4.18-3/kernel/drivers/net rootkindgeorge dlkfet-4.24# depmod -a 補(bǔ)充說(shuō)明:depmod可檢測(cè)模塊的相依性,供modprobe在安裝模塊時(shí)使用5. 加載模塊測(cè)試 (1)可以用命令modprobe rhinefet 或 insmod rhinefet.o 加載.如果沒(méi)出錯(cuò)信息說(shuō)明ok. 模塊卸載rmmod *,不需要KO后綴(2) 用命令lsmod 可以看看是否已經(jīng)加載了. rootkindgeorge dlkfet-4.24# lsmod Module Size Used by Not tainted rhinefet 38752 1 8139too 16448 1 mii 2408 0 8139too 這樣,看到 rhinefet模塊已經(jīng)加載了,基本上,這樣就證明已經(jīng)編譯成功. 6. 讓它開(kāi)機(jī)時(shí)加載 rootkindgeorge dlkfet-4.24# vi /etc/modules.conf 在后面加上一行: alias eth1 rhinefet SUSE不是這個(gè)文件,是改這個(gè)etc/modprobe.conf 7. 配置一下網(wǎng)絡(luò) rootkindgeorge dlkfet-4.24# vi /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 BOOTPROTO=static IPADDR=192.168.4.202 NETMASK=255.255.255.0 NETWORK=192.168.4.0 GATEWAY=192.168.4.250 BROADCAST=192.168.4.255 ONBOOT=yes 8. 啟動(dòng)網(wǎng)卡,然后用ifconfig查看, ifup eth1 rootkindgeorge dlkfet-4.24# ifconfig eth0 Link encap:Ethernet HWaddr 00:0A:E6:30:0D:0E inet addr:211.239.218.153 Bcast:211.239.218.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3780479 errors:0 dropped:0 overruns:0 frame:0 TX packets:3833860 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:1118112324 (1066.3 Mb) TX bytes:1111887387 (1060.3 Mb) Interrupt:11 eth1 Link encap:Ethernet HWaddr 00:0F:3D:82:EC:1D inet addr:192.168.4.202 Bcast:192.168.4.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:749312 errors:0 dropped:0 overruns:0 frame:0 TX packets:976174 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:43695059 (41.6 Mb) TX bytes:1472142037 (1403.9 Mb) Interrupt:5 Base address:0xe000 9.重新啟動(dòng)機(jī)器,可以自動(dòng)加載和使用了.大功告成. 五. 按照安裝說(shuō)明的方法自動(dòng)編譯安裝. 在 "三.3" 中我們用make 編譯,然后進(jìn)行手動(dòng)的拷貝. 實(shí)際上在linux.txt中的安裝說(shuō)明提到用make install . 那我們來(lái)看看這種方法系統(tǒng)都做了什么吧. rootfirewall1 dlkfet-4.24# make install gcc -Wall -DLINUX -D_KERNEL_ -DMODULE -DEXPORT_SYMTAB -D_NO_VERSION_ -O2 -pipe -I/lib/modules/2.4.18-3/build/include -I. -Wstrict-prototypes -fomit-frame-pointer -DMODVERSIONS -include /lib/modules/2.4.18-3/build/include/linux/modversions.h -DVMNS -c -o rhine_main.o rhine_main.c gcc -Wall -DLINUX -D_KERNEL_ -DMODULE -DEXPORT_SYMTAB -D_NO_VERSION_ -O2 -pipe -I/lib/modules/2.4.18-3/build/include -I. -Wstrict-prototypes -fomit-frame-pointer -DMODVERSIONS -include /lib/modules/2.4.18-3/build/include/linux/modversions.h -DVMNS -c -o rhine_proc.o rhine_proc.c gcc -Wall -DLINUX -D_KERNEL_ -DMODULE -DEXPORT_SYMTAB -D_NO_VERSION_ -O2 -pipe -I/lib/modules/2.4.18-3/build/include -I. -Wstrict-prototypes -fomit-frame-pointer -DMODVERSIONS -include /lib/modules/2.4.18-3/build/include/linux/modversions.h -DVMNS -c -o rhine_wol.o rhine_wol.c gcc -Wall -DLINUX -D_KERNEL_ -DMODULE -DEXPORT_SYMTAB -D_NO_VERSION_ -O2 -pipe -I/lib/modules/2.4.18-3/build/include -I. -Wstrict-prototypes -fomit-frame-pointer -DMODVERSIONS -include /lib/modules/2.4.18-3/build/include/linux/modversions.h -DVMNS -c -o rhine_vmns.o rhine_vmns.c * Build options: VERSION 2.4.18-3 SMP Disabled VMNS Enabled * mkdir -p /lib/modules/2.4.18-3/kernel/drivers/net install -m 644 -o root rhinefet.o /lib/modules/2.4.18-3/kernel/drivers/net * Move official driver via-rhine.o to via-rhine.o.backup mv /lib/modules/2.4.18-3/kernel/drivers/net/via-rhine.o /lib/modules/2.4.18-3/kernel/drivers/net/via-rhine.o.backup /sbin/depmod -a | true 按照上面的結(jié)果顯示是這樣的一個(gè)過(guò)程: (1)系統(tǒng)把.c等文件編譯成相應(yīng)的.o文件. (2)然后顯示系統(tǒng)是否支持SMP和VMNS,然后把相應(yīng)的.o模塊文件拷貝到系統(tǒng)應(yīng)該的地方. (3)并且把相同芯片的程序過(guò)時(shí)的via-rhine.o改為備份文件.讓系統(tǒng)用新的rhinefet.o (4)最后執(zhí)行/sbin/depmod -a 更新模塊庫(kù)配置. 看來(lái)這個(gè)也是個(gè)智能的安裝方法. 六. 用其他方法驅(qū)動(dòng). 由于市面上很多的各種各樣的板卡,有名牌有雜牌,多不勝數(shù).當(dāng)我們拿到一塊卡,但一下子沒(méi)找到它本身提供的源程序,不能編譯,怎么辦呢? 所以當(dāng)你有一塊網(wǎng)卡不能用,在找linux的driver之前一定搞清楚這個(gè)網(wǎng)卡用的什么芯片,跟誰(shuí)兼容,比如 3c509,ne2000,etherexpress等等. 這樣的型號(hào)一般都在網(wǎng)卡上最大的一快芯片上印著.如果芯片型號(hào)相同,那么它們其中一些是可以通用的.我們可以嘗試一下系統(tǒng)上已經(jīng)安裝了的驅(qū)動(dòng)是否可行了. 進(jìn)入驅(qū)動(dòng)目錄/lib/modules/(內(nèi)核版本)/kernel/drivers/net 即可發(fā)現(xiàn)已經(jīng)有很多模塊了, 用命令insmod 相應(yīng)芯片模塊名字 , 如果不成功會(huì)報(bào)錯(cuò),如果正確則不顯示錯(cuò)誤信息,然后再進(jìn)行上面的"三.5-9"步驟進(jìn)行測(cè)試.如果不行,再老老實(shí)實(shí)的找源程序吧

注意事項(xiàng)

本文(網(wǎng)卡驅(qū)動(dòng)程序的編譯與安裝.doc)為本站會(huì)員(wux****ua)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!