CentOS 5.2下安装网卡驱动


碰到了最不愿碰到的问题,Linux的内核与当前主板网卡不兼容。

该死的映泰A780G偏偏集成该死的RTL8168网卡模块。。

1.先确定不能上网的原因:输入命令mii-tool 如果显示有no support的字样,可以肯定是网卡没有驱动了。也可以通过dmesg | grep eth 判断是否是网卡没有驱动导致的。

2.检查主板型号,并在主板的官方网站上找到该板集成的网卡模块。(与Linux不兼容的多是RTL8111系列或者RTL8168)

3.节省时间,直接去网卡模块提供商的官网http://www.realtek.com.tw/ ,搜索你的网卡型号。(注意选择是unix/linux)

4.检查系统内核版本:uname -r (我的是2.6.18-92.e15)

5.安装主要的编译环境包,我是通过挂载光盘获得rpm的包。(通过光盘安装的好处是版本保持一致)

安装关于gcc的所有包(用不到的也装)---------------> rpm -ivh gcc* --nodeps

安装kernel-headrs   --------------------------------------> rpm -ivh kernel-headers --nodeps                                   

安装kernel-devel ----------------------------------------> rpm -ivh kernel-devel --nodeps         

kernel-devel会在你的/usr/src目录下生成一个kernels文件夹,不用管他。直接进入驱动目录执行第6步。

6.在Realtek的官网上找到了驱动,下载后,进入网卡文件的目录执行(根据网卡的安装说明)命令:

编译之前先查找并删除系统自带的网卡驱动模块,以防会有驱动冲突问题。(我的系统自带的是r8169)

#lsmod | grep r81*

删掉显示的驱动模块

#rmmod r8169


开始编译并安装

# make clean modules
# make install
# depmod -a
# insmod ./src/r8168.ko ------------------------->src是在下载的驱动目录下面。


主要的错误如报“build”目录不存在,没有r8168.ko文件等,基本都是因为缺少编译环境造成的。所以一定要耐下心来,尤其是gcc,kernel.devel ,kernel.headers这三个类包一定要安装。

相关内容