r8169驱动下载linux,CentOS自带R8169驱动与R8168网卡之间的烦恼

本文讲述了作者在使用带有R8169芯片的网卡时遇到的性能问题,以及如何从Realtek官网下载并安装R8168驱动来解决这个问题。通过卸载R8169驱动,修改modprobe.conf文件,成功使系统识别并使用R8168驱动,从而避免了网络延迟和性能下降的问题。
部署运行你感兴趣的模型镜像

前几周我装了5台高性能PC机用来性能测试,网卡是板载的并没有太在意。这周开始做测试了,开始跑测试程序的时候总出问题,没跑一会儿服务器就卡死了。开始开发的同事以为是测试程序的问题,开始从头到尾找问题(多好的同事啊,先从自己身上挑毛病)^_^。可是后来发现不对啊,程序没问题。开始来找我让我看看是不是系统哪里出毛病了,于是我让他们重新执行测试程序不断的给服务器加压。果然没过一会儿5台机器里的一台就卡住了,如果用ping 检查发现还是能通的,不过延迟会上万……

奇怪的是我直接接上显示器登录机器的时候发现 机器负载并不高,而且各种资源都很闲,这是为什么?再ping 别的机器,延迟也是上万。第一反应是网卡有问题,重启了一下网络 /etc/init.d/network restart 再ping 一切正常,拷贝了一个大文件,10MB/s 的速度拷贝了5分钟,并没有发现问题。这是为什么呢?先看看网卡类型吧,

ethtool -i eth0

driver: r8169

哦,集成的r8169芯片啊,不过听说这个网卡在Linux下会出一些问题,从网上搜了下,果然好多人都说这个网卡CentOS自带的驱动不好,那就干脆换成官方的吧!

于是就上Realtek去搜索R8169的驱动,找到了,几十K很快就down下来,http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=3&PNid=4&PFid=4&Level=5&Conn=4&DownTypeID=3&GetDown=false&Downloads=true#RTL8110S-32/RTL8110SB%28L%29/RTL8169SB%28L%29/RTL8169SC%28L%29%3Cbr%3ERTL8169

解压缩,lsmod |grep r8169 然后 rmmod r8169 删除之后 再make clean modules

结果在这时候出错了

make clean modules

make -C src/ clean

make[1]: Entering directory `/soft/r8169-6.012.00/src’

rm -rf *.o *.ko *~ core* .dep* .*.d .*.cmd *.mod.c *.a *.s .*.flags .tmp_versions Module.symvers Modules.symvers rset modules.order Module.markers

make[1]: Leaving directory `/soft/r8169-6.012.00/src’

make -C src/ modules

make[1]: Entering directory `/soft/r8169-6.012.00/src’

make -C /lib/modules/2.6.18-128.el5/build SUBDIRS=/soft/r8169-6.012.00/src modules

make[2]: Entering directory `/usr/src/kernels/2.6.18-128.el5-x86_64′

CC [M]  /soft/r8169-6.012.00/src/r8169_n.o

/soft/r8169-6.012.00/src/r8169_n.c: In function ‘rtl8169_alloc_rx_skb’:

/soft/r8169-6.012.00/src/r8169_n.c:3012: error: ‘uintptr_t’ undeclared (first use in this function)

/soft/r8169-6.012.00/src/r8169_n.c:3012: error: (Each undeclared identifier is reported only once

…………

后面省略。这是怎么回事?有很多未定义很多错误,有网友告诉我要装kernel-head还有kernel-devel ,可是我这两个都装了啊

rpm -qa |grep kernel

kernel-devel-2.6.18-164.15.1.el5

kernel-devel-2.6.18-128.el5

kernel-headers-2.6.18-164.15.1.el5

kernel-2.6.18-128.el5

这可怪了,有几个做开发的朋友告诉我让我修改驱动源代码一个个指定上面的那些缺少和找不到的变量,我晕还要改源代码….. 我又一想是不是因为驱动程序不对啊,于是 用 lspci 查看了一下 lspci |grep Ethernet

02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)

咦这不是 R8168B吗!我说怎么不让我装驱动呢…可是为什么系统会认成了R8169呢?于是我把所有关于 R8169 的模块和驱动都删掉了,重新启动了一下,结果发现系统仍然把他认成 R8169,没办法重装 R8168驱动吧,在官网搜了下

下载最新的驱动 版本是r8168-8.018.00,解压缩一看,这个简单 直接给个执行权限 然后 ./autorun.sh 全自动执行了,呵呵

再看看现在用的是哪个驱动

ethtool -i eth0

driver: r8168

version: 8.018.00-NAPI

firmware-version:

bus-info: 0000:02:00.0

呵呵,已经OK了,新驱动加上了,不过还要改点东西让 r8169彻底消失

vim /etc/modprobe.conf

alias eth0 r8168 #这里原来是 r8169 把他改成r8168就好了

重启了一下网络 ,然后让开发的同事继续跑测试程序,ok跑了一个小时没有出现问题,在网上搜索的时候发现与我类似的问题还有很多,都是系统自带R8169网卡驱动造成的,建议大家如果拿到这样的网卡还是重装一下驱动吧!

看来有时候Linux系统自带的驱动虽然能用但也会带来一些麻烦,O(∩_∩)O~0b1331709591d260c1c78e86d0c51c18.png

您可能感兴趣的与本文相关的镜像

Langchain-Chatchat

Langchain-Chatchat

AI应用
Langchain

Langchain-Chatchat 是一个基于 ChatGLM 等大语言模型和 Langchain 应用框架实现的开源项目,旨在构建一个可以离线部署的本地知识库问答系统。它通过检索增强生成 (RAG) 的方法,让用户能够以自然语言与本地文件、数据库或搜索引擎进行交互,并支持多种大模型和向量数据库的集成,以及提供 WebUI 和 API 服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值