Linux的網(wǎng)絡(luò)功能非常強(qiáng)大(它幾乎包含了Unix所有的網(wǎng)絡(luò)功能),并且具有出色的性能,同時(shí),Linux還是一個(gè)免費(fèi)的操作系統(tǒng),這些優(yōu)點(diǎn)使其受到越來越多的人的青睞。
但是,在桌面系統(tǒng)上,Linux與Windows 在易用性上還存在一定的差距,主要表現(xiàn)在其使用上過于復(fù)雜,還不適合初級(jí)用戶,尤其是硬件的配置工作。比如,在Linux的安裝過程中,有一些特殊設(shè)備Linux系統(tǒng)不能自動(dòng)識(shí)別(如某些網(wǎng)卡等),這就需要在系統(tǒng)安裝完成之后進(jìn)行手工設(shè)置。本文以臺(tái)灣Davicom公司的dm9102快速以太網(wǎng)卡為例,介紹在Linux環(huán)境中設(shè)置網(wǎng)卡設(shè)備驅(qū)動(dòng)的步驟。
系統(tǒng)環(huán)境: TurboLinux4.0.2,網(wǎng)卡、顯卡、Modem均集成在主板上。
1.下載驅(qū)動(dòng)
登錄到Davicom公司網(wǎng)站上(www.davicom.com.tw)下載Linux下的最新驅(qū)動(dòng)程序,版本為2.0.10-20,源程序名為dmfe.c。
2.編譯
gcc -DMODULE -D_ _KERNEL_I/usr/src/linux/net /inet -Wall -Wstrict-prototypes O6 c dmfe.c
gcc(GNU C Compiler)為編譯命令,編譯完成后,在當(dāng)前目錄下產(chǎn)生目標(biāo)文件dmfe.o。
3.設(shè)置模式
利用insmod命令設(shè)置模式,其常用的幾個(gè)命令如下表所示:
其中,insmod dmfe命令的主要輸出結(jié)果如下:
ID=91021282 ’ 網(wǎng)卡ID號(hào)
NAME=eth0 ’ 網(wǎng)卡名稱
IO=e000 ’ 輸入輸出口地址
IRQ=11’ 中斷向量
4.設(shè)置參數(shù)
為網(wǎng)卡配置IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)等參數(shù):
ifconfig eth0 *.*.*.*
netmask 255.255.255.*
broadcast *.*.*.*
5.配置路由
route add-net *.*.*.* eth0
6.啟動(dòng)網(wǎng)卡
使用命令ifup eth0 啟動(dòng)網(wǎng)卡即可。
至此,我們已經(jīng)成功配置了dm9102網(wǎng)卡。通過命令ping *.*.*.* (127.0.0.1為本機(jī)循環(huán)地址,可用于檢測(cè)網(wǎng)卡)可以檢測(cè)網(wǎng)卡是否正常工作,其中*.*.*.* 為該計(jì)算機(jī)網(wǎng)絡(luò)能夠達(dá)到的機(jī)器的IP地址。如果配置正確,應(yīng)該返回響應(yīng)時(shí)間、發(fā)送接受字節(jié)數(shù)等信息; 若返回“request time out”等信息,則說明網(wǎng)卡沒有正常工作。
上述4~6步也可以通過turbolnetcfg等工具進(jìn)行配置。
通過以上步驟,我們以手工方式驅(qū)動(dòng)了網(wǎng)卡,但是在系統(tǒng)啟動(dòng)時(shí)網(wǎng)卡尚不能馬上工作,需要重復(fù)執(zhí)行上述3~6步。如果要在系統(tǒng)啟動(dòng)期間使網(wǎng)卡設(shè)置自動(dòng)生效,需要執(zhí)行以下操作:
首先,編寫shell程序。啟動(dòng)vi,使用命令vi startnet:
#!/bin/sh
insmod dmfe
ifup eth0
保存文件startnet,并更改startnet文件屬性為可執(zhí)行屬性:
chmod +x startnet
然后,將目標(biāo)文件拷貝到/etc/rc.d目錄下:
cp /dmfe.o /etc/rc.d/
最后,修改inet文件:
vi /etc/rc.d/init.d/inet
在其中加入以下命令:
/etc/rc.d/startnet (執(zhí)行/etc/rc.d/目錄下的startnet文件)
這樣,用reboot命令重新啟動(dòng)機(jī)器后,在系統(tǒng)啟動(dòng)過程中可以看到網(wǎng)卡被驅(qū)動(dòng)起來