ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

RTL8125 2.5G 网卡在 Linux 下跑不满速?3 种驱动安装方案实战记录

RTL8125 2.5G 网卡在 Linux 下跑不满速?3 种驱动安装方案实战记录 RTL8125 2.5G 网卡在 Linux 下跑不满速3 种驱动安装方案实战记录【免费下载链接】realtek-r8125-dkmsA DKMS package for easy use of Realtek r8125 driver, which supports 2.5 GbE.项目地址: https://gitcode.com/gh_mirrors/re/realtek-r8125-dkms上周帮朋友给一台旧工作站加装 2.5G 网卡遇到了很典型的一幕PCIe 插槽装好、系统正常启动ip link里接口也出现了可ethtool显示的协商速率只有 1000Mb/s——花 2.5G 的钱实际体验还是千兆。问题不在硬件而在驱动这块卡用的是 Realtek RTL8125 芯片内核自带的 r8169 通用驱动并不能完全驾驭它而realtek-r8125-dkms正是为它准备的专用 DKMS 驱动包。下面这份实战记录会带你走完从安装、排除冲突到验证满速的全部流程。先弄清根因为什么内核认不出这块网卡Linux 内核里其实已经内置了一个 Realtek 网卡驱动 r8169它负责照顾市面上绝大多数瑞昱芯片属于广撒网式的通用方案。问题在于当它遇到 RTL8125 这类较新的 2.5G 控制器时只能提供最基本的驱动能力链路速率、电源管理等高级特性都没法完整激活表现就是你看到的只认千兆甚至接口消失。而本项目提供的是 Realtek 官方放出的专用驱动源码位于src/目录编译后生成r8125.ko模块专门为 RTL8125/RTL8126 芯片优化。它和 r8169 是同场地竞争的关系——两者都想接管这块网卡所以光装好新驱动还不够还得让旧的靠边站这部分后面会专门讲。动手之前先把这几样装备备齐下面的清单每一项都别跳过缺一样都可能卡在编译环节确认芯片型号执行lspci | grep -i ethernet回显中出现Realtek ... RTL8125或RTL8126就可以继续如果是 RTL8156 这类 USB 网卡本项目帮不上忙系统发行版本文以 Debian / Ubuntu 系apt包管理器为例其他发行版可以照着dkms-install.sh里的逻辑手动执行dkms 工具sudo apt install dkms内核头文件sudo apt install linux-headers-$(uname -r)编译内核模块必须依赖它编译工具链sudo apt install build-essentialgit 客户端sudo apt install git用来拉取源码ethtool / iperf3可选分别用于核对协商速率和实测带宽三条路线怎么选先看这张横评表安装方式上手成本升级内核后适合谁DKMS主推低一条脚本跑完自动用新内核重编无需干预长期使用、生产环境、不想反复折腾的人autorun.sh最低跑完即用驱动失效每次升级都要重跑应急救网、马上要用、不常升级内核手动编译中等要自己管理依赖同样需要手动重编开发者、想加自定义编译参数调试的人一句话结论打算长期用就选 DKMS。它把驱动源码登记进系统每次内核更新后自动按新内核重新编译等于给驱动配了一个自动续费的机制你几乎不需要再碰它。主推实操用 DKMS 让驱动跟随内核自动重建全程约 5 分钟按下面五步走。第 1 步把项目源码拉到本地git clone https://gitcode.com/gh_mirrors/re/realtek-r8125-dkms cd realtek-r8125-dkms克隆后执行ls确认目录完整应当能看到autorun.sh、dkms-install.sh、dkms.conf和src/源码目录。如果克隆因网络问题失败重试几次即可。第 2 步确认内核头文件就绪uname -r ls /usr/lib/modules/$(uname -r)/build第一条命令会输出当前内核版本形如6.8.0-45-generic第二条不应报 No such file 之类的错误。若报错先补装linux-headers-$(uname -r)再继续。第 3 步运行官方安装脚本sudo chmod x dkms-install.sh sudo ./dkms-install.sh脚本内部其实只做了三件事你可以盯着输出逐项确认把当前目录整体复制到/usr/src/r8125-9.018.00依次执行dkms add和dkms build完成登记与编译这期间会滚动大量编译日志属于正常现象执行dkms install把r8125.ko安装进内核模块目录。看到最后一行Finished running dkms install steps.且全程没有Error说明这一步成了。第 4 步把冲突驱动 r8169 拉入黑名单这一步是很多人栽跟头的地方。Linux 启动时倾向优先加载内核自带的 r8169新装的 r8125 会被它挤掉。所以必须显式告诉内核别加载 r8169。sudo tee /etc/modprobe.d/blacklist-r8169.conf /dev/null EOT # 屏蔽 r8169强制使用 r8125 专用驱动 blacklist r8169 EOT sudo update-initramfs -uupdate-initramfs -u执行后应看到update-initramfs: Generating /boot/initrd.img-版本号的输出没有报错即生效。第 5 步重启并确认 r8125 接管网卡sudo reboot重启后回到终端跑两条命令核对lsmod | grep -E r8125|r8169 ip link show理想结果lsmod里只有r8125r8169 已消失ip link中能看到新的网卡接口通常是enpXxx命名。到这里驱动安装已经算成功了。装完别急着收工逐项验证是否真正生效下面这张清单全部打勾才算彻底完工lspci -k | grep -A2 -i ethernet显示的驱动名是r8125而非r8169lsmod | grep r8125有输出且lsmod | grep r8169无输出dkms status显示r8125/9.018.00状态为installedip link show能看到接口且ethtool 接口名 | grep Speed回显2500Mb/siperf3实测达标服务端iperf3 -s客户端iperf3 -c 服务器IP -t 30 -P 4带宽能到 2.3Gbps 以上对照千兆环境下的 940Mbps 基线提升非常明显两个备选方案应急装网与手动定制如果当下急着用网、又不想理解 DKMS 的概念可以直接跑项目自带的autorun.shsudo chmod x autorun.sh sudo ./autorun.sh脚本会依次完成卸载旧驱动 → make 编译 → 备份并替换 r8169 → depmod → modprobe 加载最后输出Completed.。要提醒的是它只对当前内核生效一旦升级内核就得重新执行这也是我不建议长期依赖它的原因。开发者如果希望加自定义编译参数比如关闭某项特性可以走手动路线cd realtek-r8125-dkms/src make clean make -j$(nproc) sudo make install sudo modprobe r8125编译完成后同样需要执行前面第 4 步的屏蔽 r8169 更新 initramfs 重启。常见翻车现场QA 排错Q1dkms build报No rule to make target之类的错误原因内核头文件缺失或版本不匹配。解法sudo apt install linux-headers-$(uname -r)装好后重跑脚本。Q2重启后lsmod里只有 r8169找不到 r8125原因黑名单没生效或 initramfs 没更新。解法检查/etc/modprobe.d/blacklist-r8169.conf内容是否正确重新执行sudo update-initramfs -u后再重启。Q3r8125 已加载但速率仍显示 1000Mb/s原因网线或交换机只支持千兆对端设备没协商上 2.5G。解法确认对端也是 2.5G 设备网线至少用 Cat5e 以上。Q4modprobe r8125报Operation not permitted原因模块未签名或 Secure Boot 拦截。解法进 BIOS 关闭 Secure Boot或为模块补做签名。Q5autorun.sh编译报错但看 log.txt 没头绪原因编译日志被追加写入文件。解法tail -50 log.txt查看末尾的具体报错行。进阶延伸性能榨干与 .deb 打包驱动装好只是及格线。追求满速时可以先把接收缓冲区调大sudo sysctl -w net.core.rmem_max26214400再配合ethtool -C 接口名 rx-usecs 30 tx-usecs 30开启中断合并高负载场景下的 CPU 占用会明显下降。如果你用 Ubuntu还能把驱动升级成标准的.deb软件包先sudo apt install devscripts debmake debhelper dkms dh-dkms在项目根目录执行dpkg-buildpackage -b -rfakeroot -us -uc之后用sudo dpkg -i realtek-r8125-dkms*.deb安装。这样驱动就变成了可升级、可卸载的普通软件包管理体验完全换了一个档次。最后总结三句话收个尾DKMS 是最值得长期托付的方式内核升级后驱动自动重建装完必须屏蔽 r8169否则新旧驱动互相抢占等于没装速率认准ethtool和iperf3的数据别凭感觉。源码和文档都在项目的src/目录官方说明见REALTEK_README.txt两个安装脚本分别是autorun.sh和dkms-install.sh。现在就打开终端git clone https://gitcode.com/gh_mirrors/re/realtek-r8125-dkms让这块 2.5G 网卡拿出它该有的速度。【免费下载链接】realtek-r8125-dkmsA DKMS package for easy use of Realtek r8125 driver, which supports 2.5 GbE.项目地址: https://gitcode.com/gh_mirrors/re/realtek-r8125-dkms创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表