手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

linux网卡驱动程式的编译和安装

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

在后面加上一行: alias eth1 rhinefet
7. 配置一下网络
[root@kindgeorge 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.启动网卡,然后用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 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.重新启动机器,能够自动加载和使用了.大功告成.

五. 按照安装说明的方法自动编译安装.
在 "三.3" 中我们用make 编译,然后进行手动的拷贝. 实际上在linux.txt中的安装说明提到用make install .
那我们来看看这种方法系统都做了什么吧.
[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 -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

按照上面的结果显示是这样的一个过程:
(1)系统把.c等文档编译成相应的.o文档.
(2)然后显示系统是否支持SMP和VMNS,然后把相应的.o模块文档拷贝到系统应该的地方.
(3)并且把相同芯片的程式过时的via-rhine.o改为备份文档.让系统用新的rhinefet.o
(4)最后执行/sbin/depmod -a 更新模块库配置. 看来这个也是个智能的安装方法.
六. 用其他方法驱动.
由于市面上很多的各种各样的板卡,有名牌有杂牌,多不胜数.当我们拿到一块卡,但一下子没找到他本身提供的源程式,不能编译,怎么办呢?
所以当您有一块网卡不能用,在找linux的driver之前一定搞清楚这个网卡用的什么芯片,跟谁兼容,比如3c509,ne2000,etherexpress等等.
这样的型号一般都在网卡上最大的一快芯片上印着.假如芯片型号相同,那么他们其中一些是能够通用的.我们能够尝试一下系统上已安装了的驱动是否可行了.进入驱动目录/lib/modules/(内核版本)/kernel/drivers/net 即可发现已有很多模块了, 用命令insmod 相应芯片模块名字 , 假如不成功会报错,假如正确则不显示错误信息,然后再进行上面的"三.5-9"步骤进行测试.
假如不行,再老老实实的找源程式吧.


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!