linux网卡驱动程序的编译与安装

如果核心没有支持该网络卡的话,那么可以透过重新编译核心或者编译网络卡驱动模块 ( Modules ),并且加载该模块,只有手动安装网络卡驱动程序了.

可以用命令:

 # dmesg | grep eth
  来查看系统启动信息,显示出 eth0 或者 eth1 的信息,如果eth1没找到正确的信息,那就表示 Linux 无法找到该硬件,
  eth0是8139的,已经显示正常,例如:
[root@cserver /]# dmesg | grep eth
eth0: VIA Rhine III at 0xff510000, 00:13:46:e2:4b:e9, IRQ 66.
eth0: MII PHY found at address 1, status 0x7869 advertising 05e1 Link 41e1.
eth0: link up, 100Mbps, full-duplex, lpa 0x41E1


一、查看系统内核版本
[root@cserver /]# uname -r
2.6.18-92.1.1.el5


二、检查编译环境:
(1)、内核源码包确认安装:
[root@qs /]# rpm -qa | grep kernel
kernel-headers-2.6.18-53.el5
kernel-devel-2.6.18-53.el5

kernel-2.6.18-53.el5


(2)、gcc 编译环境:
[root@cserver /]# rpm -qa  | grep gcc
gcc-c++-4.1.2-42.el5
libgcc-4.1.2-42.el5

gcc-4.1.2-42.el5



三、 下载驱动并编译:
[root@qs src]# cd r8168-8.006.00/
[root@qs r8168-8.006.00]# make
make -C src/ clean
make[1]: Entering directory `/usr/src/r8168-8.006.00/src'
rm -rf *.o *.ko *~ core* .dep* .*.d .*.cmd *.mod.c *.a *.s .*.flags .tmp_versions Module.symvers Modules.symvers rset
make[1]: Leaving directory `/usr/src/r8168-8.006.00/src'
make -C src/ modules
make[1]: Entering directory `/usr/src/r8168-8.006.00/src'
make -C /lib/modules/2.6.18-53.el5/build SUBDIRS=/usr/src/r8168-8.006.00/src modules
make[2]: Entering directory `/usr/src/kernels/2.6.18-53.el5-i686'
  CC [M]  /usr/src/r8168-8.006.00/src/r8168_n.o
/usr/src/r8168-8.006.00/src/r8168_n.c:2266: warning: 'rtl8168_phy_power_down' defined but not used
  LD [M]  /usr/src/r8168-8.006.00/src/r8168.o
  Building modules, stage 2.
  MODPOST
  CC      /usr/src/r8168-8.006.00/src/r8168.mod.o
  LD [M]  /usr/src/r8168-8.006.00/src/r8168.ko
make[2]: Leaving directory `/usr/src/kernels/2.6.18-53.el5-i686'
strip --strip-debug r8168.ko
make[1]: Leaving directory `/usr/src/r8168-8.006.00/src'
make -C src/ install
make[1]: Entering directory `/usr/src/r8168-8.006.00/src'
install -m 744 -c r8168.ko /lib/modules/2.6.18-53.el5/kernel/drivers/net/

make[1]: Leaving directory `/usr/src/r8168-8.006.00/src'


进入 ./src 目录
[root@qs r8168-8.006.00]# cd src/
[root@qs src]# ls
Makefile           r8168.h      r8168.mod.o  r8168_n.o
Makefile_linux24x  r8168.ko     r8168.o      rtl_ioctl.c
Module.symvers     r8168.mod.c  r8168_n.c    rtl_ioctl.h

  r8168.ko  就是编译出的模块

(注:编译产生两个文件,一个r8168.ko,一个r8168.o,网上有些资料说的r8168.o是模块文件,其实不然,自己亲自试过,只有r8168.ko是所需模块文件,r8168.o只是个二进制文件,不要被网上资料误导)


然后加载模块:
[root@qs r8168-8.006.00]#cp r8168.ko  /lib/modules/2.6.18-53.el5/kernel/drivers/net/
加载模块:
#insmod r8168.ko
卸载:
#rmmod r8168.ko
查看:
[root@qs net]# lsmod | grep r8168
r8168                  34708  0


 让它开机时加载
[root@kindgeorge dlkfet-4.24]# vi /etc/modules.conf
在后面加上一行: alias eth1 r8168

然后ok!!!



查看 linux 网卡驱动:

root@wapdbrac1 ~]# kudzu --probe --class=network
产看网卡型号:
# lspci -v
06:00.0 Ethernet controller: VIA Technologies, Inc. VT6105 [Rhine-III] (rev 86)
        Subsystem: D-Link System Inc DFE-530TX rev C
        Flags: bus master, medium devsel, latency 32, IRQ 66
        I/O ports at b800 [size=256]
        Memory at ff510000 (32-bit, non-prefetchable) [size=256]
        Expansion ROM at cfa00000 [disabled] [size=64K]
        Capabilities: [40] Power Management version 2
调整网卡工作模式
  现在的网卡大多是自适应工作模式,在配置网卡参数时我们很少考虑它的工作模式,有时发现一些网卡模块已经加载,但是在某些模式工作不稳定。如笔者使用的一块XXX品牌的杂牌RTL-8139C芯片10/100自适应网卡在100兆全双工状态下极其不稳定(在Qcheck的TCP和UDP的测试过程中,数据包遗失率9.12%。)。在Linux环境下,我们可以使用系统自带的工具mii-tool命令来配置网卡工作模式。显示Linux服务器网卡支持的所有以太网卡类型,使用命令:
  # mii-tool -v
  eth0: negotiated 100baseTx-FD, link ok
  product info: vendor 00:00:00, model 0 rev 0
  basic mode: autonegotiation enabled
  basic status: autonegotiation complete, link ok
  capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  从以上信息中可以看出,这块网卡工作在100全双工自适应模式下,“100aseTx-FD”意为100M Full Duplex。这里可以强制网卡工作在100M半工模式下,输入命令:
  #mii-tool –F 100baseTx-HD eth0
  以后恢复网卡的自适应工作模式,输入命令:
  #mii-tool –r eth0
  另外路由器、交换机、代理服务器等通信量比较大的关键设备上,应该为它指定正确的工作模式,这样可以提高通信效率。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值