直播推薦
企業(yè)動(dòng)態(tài)
- 紛享銷(xiāo)客發(fā)布首個(gè)企業(yè)級(jí)智能CRM平臺(tái)ShareAI
- 揭秘西企業(yè)數(shù)字化+低碳化轉(zhuǎn)型“工具箱”:西門(mén)子X(jué)celerator
- 企業(yè)AI賦能數(shù)智制造,用友U9 cloud世界級(jí)云ERP煥新升級(jí)
- 《“智“領(lǐng)石化,“質(zhì)“造未來(lái)——威圖石化行業(yè)數(shù)智化實(shí)踐白皮書(shū)》隆重發(fā)布
- 攜手共贏!德國(guó)Agfa搭載瑞典IPCO鋼帶,實(shí)現(xiàn)印刷設(shè)備振動(dòng)銳減6倍,提升印刷速度與精度
- 創(chuàng)四方集團(tuán)榮獲“知名商標(biāo)品牌閃亮”證書(shū),助力品牌戰(zhàn)略升級(jí)
- 皇冠CAD(CrownCAD)2025 R3版本來(lái)了,率先開(kāi)啟C“Ai”D時(shí)代!
- 電費(fèi)砍半!中國(guó)制冷展:海爾發(fā)布AI建筑最新成果
推薦展會(huì)
例如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)顯示正常,例如:
[root@kindgeorge 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)核版本.
[root@kindgeorge 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)安裝下面包
1.由于編譯需要用到內(nèi)核的源代碼包和編譯程序gcc.所以如果沒(méi)有的話,要先裝.
查看:
[root@kindgeorge root]# rpm -qa|grep kernel
kernel-2.4.18-3
kernel-source-2.4.18-3
[root@kindgeorge 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)安裝盤(pán)上的文件安裝,會(huì)去下載個(gè)相同內(nèi)核源包安裝吧
rpm -ivh kernel-source-2.4.18-3.i386.rpm
......
三. 取得驅(qū)動(dòng)程序和編譯
1. 可以重廠家提供的光盤(pán)提供,把光盤(pán)上的linux目錄下的dlkfet-4.24.tar.gz 拷貝過(guò)來(lái)用.
2. 從網(wǎng)上下載網(wǎng)絡(luò)卡驅(qū)動(dòng)程序,一般廠家的都提供下載程序的.
例如: 上有下載.
[root@kindgeorge root]# cp dlkfet-4.24.tar.gz /usr/src
[root@kindgeorge root]# cd /usr/src/
[root@kindgeorge 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)行編譯.
[root@kindgeorge src]# cd dlkfet-4.24
[root@kindgeorge dlkfet-4.24]# make
[root@kindgeorge 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)地方:
[root@kindgeorge dlkfet-4.24]#cp rhinefet.o /lib/modules/2.4.18-3/kernel/drivers/net
[root@kindgeorge dlkfet-4.24]# depmod -a
5.測(cè)試
(1)可以用命令modprobe rhinefet 或 insmod rhinefet.o 加載.如果沒(méi)出錯(cuò)信息說(shuō)明ok.
(2) 用命令lsmod 可以看看是否已經(jīng)加載了.
[root@kindgeorge 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í)加載
[root@kindgeorge dlkfet-4.24]# vi /etc/modules.conf
在后面加上一行: alias eth1 rhinefet
7. 配置一下網(wǎng)絡(luò)
[root@kindgeorge dlkfet-4.24]# vi /etc/sysconfig/network-sc-ripts/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
[root@kindgeorge 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 dr-opped:0 overruns:0 frame:0
tx packets:3833860 errors:0 dr-opped: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 dr-opped:0 overruns:0 frame:0
tx packets:976174 errors:0 dr-opped: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)都做了什么吧.
[root@firewall1 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 -orhine_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 -orhine_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 -orhine_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 -orhine_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)zui后執(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)卡上zui大的一快芯片上印著.如果芯片型號(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í)的找源程序吧.
免責(zé)聲明
- 凡本網(wǎng)注明"來(lái)源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請(qǐng)必須注明智能制造網(wǎng),http://towegas.com。違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
- 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔(dān)責(zé)任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責(zé)任。
- 本網(wǎng)轉(zhuǎn)載并注明自其它來(lái)源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品來(lái)源,并自負(fù)版權(quán)等法律責(zé)任。
- 如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
2025第十一屆中國(guó)國(guó)際機(jī)電產(chǎn)品交易會(huì) 暨先進(jìn)制造業(yè)博覽會(huì)
展會(huì)城市:合肥市展會(huì)時(shí)間:2025-09-20