Chinaunix首页 | 论坛 | 博客
  • 博客访问: 442919
  • 博文数量: 95
  • 博客积分: 7012
  • 博客等级: 少将
  • 技术积分: 1127
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-13 22:49
文章存档

2010年(5)

2009年(43)

2008年(47)

我的朋友

分类: LINUX

2009-01-22 09:19:28

 
如果核心没有支持该网络卡的话,那么可以透过重新编译核心或者编译网络卡驱动模块 ( 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  就是编译出的模块
然后加载模块:
[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 网卡驱动:
~]# 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
  另外路由器、交换机、代理服务器等通信量比较大的关键设备上,应该为它指定正确的工作模式,这样可以提高通信效率。
 
 
 
 
阅读(4101) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~