[建筑]網(wǎng)卡驅動程序的編譯與安裝_第1頁
[建筑]網(wǎng)卡驅動程序的編譯與安裝_第2頁
[建筑]網(wǎng)卡驅動程序的編譯與安裝_第3頁
[建筑]網(wǎng)卡驅動程序的編譯與安裝_第4頁
[建筑]網(wǎng)卡驅動程序的編譯與安裝_第5頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、.一般來說,目前新版的 Linux 預設可以支持的網(wǎng)絡卡芯片組數(shù)量已經(jīng)很完備了,很多網(wǎng)絡卡芯片都已經(jīng)被支持, 例如RLT 8139 芯片 ( RealTek 8139 ) 的網(wǎng)絡卡所以使用者可以很輕易的設定好他們的網(wǎng)絡卡。 不過,如果萬一不幸核心沒有支持該網(wǎng)絡卡的話,那么可以透過重新編譯核心或者編譯網(wǎng)絡卡驅動模塊 ( Modules ), 并且加載該模塊,今天就是這么巧,碰到一個D-Link 的DFE-530TX,沒法,只有手動安裝網(wǎng)絡卡驅動程序了. 一、可以用命令# dmesg | grep eth 來查看系統(tǒng)啟動信息,顯示出 eth0 或者 eth1 的信息,如果eth1沒找到正確的信息,

2、那就表示 Linux 無法找到該硬件, 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)的內

3、核版本. rootkindgeorge root# uname -r 2.4.18-3 我這里是redhat7.3的,內核2.4.18-3 一般來說,這個內核驅動程序的模塊會放在 /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 (查詢是否安裝了某個包,用這個命令。)1.由于編譯需要用到內核的源代碼包和編譯程序gcc.所以如果沒有的話,要先裝. 查看: rootkindgeorge root

4、# 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 一般裝了內核源包的話,都會在出現(xiàn)/usr/src/linux-2.4,同路徑下會有l(wèi)inux-2.4.18-3的文件實際目錄. 2.如果沒有的話,就用原來安裝盤上的文件安裝,會去下載個相同內核源包安裝吧 rpm -ivh kernel-source-2.4.18-3.i386.rpm .

5、三. 取得驅動程序和編譯 1. 可以重廠家提供的光盤提供,把光盤上的linux目錄下的dlkfet-4.24.tar.gz 拷貝過來用. 2. 從網(wǎng)上下載網(wǎng)絡卡驅動程序,一般廠家的網(wǎng)站都提供下載程序的. 例如: http:/www.d- 上有下載. 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 dl

6、kfet-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

7、dlkfet-4.24/linux.txt 3. 請留意一開始是沒有.o文件的. 我們編譯前可以看看目錄的linux.txt,是一個包含介紹安裝說明.在進入目錄后,執(zhí)行make進行編譯. 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

8、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 rhi

9、ne_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

10、 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)過編譯后,會編譯出一個rhinefet.o 文件,這個就是驅動模塊,我們把它拷貝到相應地方。(如果是更新驅動,就要要刪除原有驅動,用這個命令modinfo

11、 r8169原來驅動在哪,然后刪除掉。 rootkindgeorge dlkfet-4.24#cp rhinefet.o /lib/modules/2.4.18-3/kernel/drivers/net rootkindgeorge dlkfet-4.24# depmod -a 補充說明:depmod可檢測模塊的相依性,供modprobe在安裝模塊時使用5. 加載模塊測試 (1)可以用命令modprobe rhinefet 或 insmod rhinefet.o 加載.如果沒出錯信息說明ok. 模塊卸載rmmod *,不需要KO后綴(2) 用命令lsmod 可以看看是否已經(jīng)加載了. rootk

12、indgeorge 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. 讓它開機時加載 rootkindgeorge dlkfet-4.24# vi /etc/modules.conf 在后面加上一行: alias eth1 rhinefet SUSE不是這個文件,是改這個etc/modprobe.conf 7. 配置一下網(wǎng)絡 rootkindgeorge d

13、lkfet-4.24# vi /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 BOOTPROTO=static IPADDR=02 NETMASK= NETWORK= GATEWAY=50 BROADCAST=55 ONBOOT=yes 8. 啟動網(wǎng)卡,然后用ifconfig查看, ifup eth1 rootkindgeorge dlkfet-4.24# ifconfig eth0 Link encap:Ethernet

14、 HWaddr 00:0A:E6:30:0D:0E inet addr:53 Bcast:55 Mask: 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:11181

15、12324 (1066.3 Mb) TX bytes:1111887387 (1060.3 Mb) Interrupt:11 eth1 Link encap:Ethernet HWaddr 00:0F:3D:82:EC:1D inet addr:02 Bcast:55 Mask: UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:749312 errors:0 dropped:0 overruns:0 frame:0 TX packets:976174 e

16、rrors: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.重新啟動機器,可以自動加載和使用了.大功告成. 五. 按照安裝說明的方法自動編譯安裝. 在 "三.3" 中我們用make 編譯,然后進行手動的拷貝. 實際上在linux.txt中的安裝說明提到用make install . 那我們來看看這種方法系統(tǒng)都做了什么

17、吧. 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 rhi

18、ne_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

19、.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 -

20、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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論