news 2026/8/21 12:23:38

RTL8125 2.5G网卡驱动安装不再踩坑:DKMS一步到位,内核升级也省心

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RTL8125 2.5G网卡驱动安装不再踩坑:DKMS一步到位,内核升级也省心

RTL8125 2.5G网卡驱动安装不再踩坑:DKMS一步到位,内核升级也省心

【免费下载链接】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

新买回一块 RTL8125 2.5G 网卡,插上主机却发现ip link里根本看不到接口,或者明明插的是 2.5G 交换机,协商速率却卡在 1000Mb/s——这不是硬件坏了,而是驱动没到位。realtek-r8125-dkms 这个项目把 Realtek 官方 r8125 驱动封装成 DKMS 模块,让 RTL8125 驱动安装变成一条命令的事,而且内核升级后驱动会自动重编译,再也不用每次升级都手工折腾。

一、先搞清楚:网卡"跑不满",到底卡在哪一环

先把故事讲完整。上周有位朋友买了一块 PCIe 接口的 RTL8125 2.5G 网卡,装进 Debian 主机后执行ip link show,结果只有一个 lo 和一个板载千兆口,新网卡连影子都没有;换一台机器试,接口出现了,但ethtool里显示Speed: 1000Mb/s

这两个现象,根因其实是同一个:驱动不对路

  • 内核里自带的r8169是一个通用驱动,主要面向老款千兆芯片。它虽然能"勉强驱动" RTL8125,但能力有限,经常只协商到 1G,甚至干脆不识别。
  • Realtek 官方另有专用驱动r8125,才是为 2.5G 芯片优化过的正主。麻烦在于,Linux 加载模块时r8169往往抢先一步占了网卡,r8125就算装好也没机会上场。

打个比方:r8169像一位只懂老业务的老员工,占了工位却干不了新活;你要做的是把新来的专家r8125请进来,并让老员工暂时休假(屏蔽 r8169)。而本项目 realtek-r8125-dkms,就是帮你把这个过程自动化、并且内核升级后自动重来的"人事管家"。

二、开工之前:一张 10 分钟核对清单

本节给你一张清单,逐项打勾后再动手,能避开 90% 的中途卡壳。

必须项(缺一不可):

  • 网卡型号确认:执行lspci | grep -i ethernet,回显里要能看到Realtek ... RTL8125RTL8126字样。如果看到的是RTL8156(USB 网卡),本项目不适用,别往下走了。
  • Debian / Ubuntu 系系统:本教程基于apt生态;其他发行版请对照dkms-install.sh脚本里的逻辑手动执行。
  • dkms 工具sudo apt install dkms
  • 内核头文件sudo apt install linux-headers-$(uname -r),编译内核模块全靠它
  • 编译工具链sudo apt install build-essential
  • git 客户端sudo apt install git,用于克隆仓库

可选项(非必需):

  • ethtool:查看网卡协商速率,验证环节要用
  • iperf3:实测真实带宽,数据比感觉更可靠

一句话提醒:头文件版本必须和当前内核严格一致。uname -r输出什么,linux-headers-后面就接什么,手滑装错版本,后面dkms build必报错。

三、三条路怎么选:一张决策表帮你定

本项目提供了三种装法,它们互不干扰,但绝大多数人只需要选一条。先看表,再动手:

路线适合谁难度内核升级后长期维护成本
DKMS 安装dkms-install.sh想一劳永逸的普通用户、生产环境驱动自动重编译,无需操心极低,强烈推荐
autorun.sh 一键脚本应急救火、当下就要有网最低失效,需重新执行脚本高,每次升级都要重跑
手动编译src/下 make)开发者、要自定义编译参数失效,需手动重编高,依赖关系自己维护

我的建议很直接:不是十万火急,就选 DKMS 这条稳路。下面第四节就是它的完整实操;autorun.sh 和手动编译适合什么样的人,第四节结尾会补两句,让你心里有数。

四、DKMS 安装实操:五步走完"装驱动 + 防冲突"全程

本节是全文核心。按顺序执行,每步都有"成功标志",方便你随时自检。

第 1 步:把源码克隆到本地

git clone https://gitcode.com/gh_mirrors/re/realtek-r8125-dkms cd realtek-r8125-dkms

成功标志ls能看到autorun.shdkms-install.shdkms.confsrc/源码目录。如果克隆因网络波动失败,重试几次即可。

第 2 步:确认内核头文件真的就绪

uname -r ls /usr/lib/modules/$(uname -r)/build

成功标志:第一条输出一个版本号(如6.8.0-45-generic),第二条不报 "No such file"。如果报错,回到清单把linux-headers-$(uname -r)装上再继续。

第 3 步:运行 DKMS 安装脚本(核心一步)

sudo chmod +x dkms-install.sh sudo ./dkms-install.sh

脚本内部其实只干了三件事,你可以对照输出确认进度:

  1. 把当前目录复制到/usr/src/r8125-9.018.00
  2. 依次执行dkms adddkms build,后者会调用 make 编译内核模块,期间会滚动大量编译日志,属正常现象,等待即可,不要因为刷屏就以为卡死了;
  3. 执行dkms install,把r8125.ko安装进内核模块目录。

成功标志:最后一行输出Finished running dkms install steps.,且全程没有Error。别急,装完还不算完——接下来这一步最关键。

第 4 步:屏蔽冲突驱动 r8169(最关键的一步)

就像前面说的,r8169会抢先加载,把你的新驱动挤掉。这一步就是给它下"停职令":

sudo tee /etc/modprobe.d/blacklist-r8169.conf > /dev/null <<EOT # 屏蔽 r8169,强制使用 r8125 专用驱动 blacklist r8169 EOT sudo update-initramfs -u

成功标志update-initramfs -u刷新并显示update-initramfs: Generating /boot/initrd.img-<版本号>,无报错。

第 5 步:重启,让一切生效

sudo reboot

重启后先别急着开心,走一遍第五节验证,确认驱动真的在干活。

应急路线补一句:如果现在没网、急着救急,可以不走 DKMS,直接sudo ./autorun.sh。它会自动卸载旧驱动、编译、备份并替换 r8169、更新 initramfs,最后输出Completed.。但记住它是"一次性膏药"——只对当前内核生效,下次升级内核必须重跑。手动编译(cd src && make -j$(nproc) && sudo make install && sudo modprobe r8125)同理,适合需要自定义编译参数的人,普通用户不必碰。

五、装完不算完:逐项勾选这张验证清单

驱动装上 ≠ 驱动在干活。以下五条全部打勾,才算真正完成:

  • lspci -k | grep -A2 -i ethernet里显示的驱动是r8125,而不是r8169
  • lsmod | grep r8125有输出,且lsmod | grep r8169无输出
  • dkms status显示r8125/9.018.00状态为installed(能看到当前内核版本号)
  • ip link show能看到新网卡接口(通常是enpXxx),且ethtool <接口名> | grep Speed回显2500Mb/s
  • 实测带宽:服务端iperf3 -s,客户端iperf3 -c <服务器IP> -t 30 -P 4,结果接近 2.3Gbps 以上(对比千兆环境的 940Mbps 基线,提升一目了然)

失败现象参考:如果lsmod里只有 r8169、没有 r8125,说明黑名单没生效或没更新 initramfs,回到第四节第 4 步复查;如果速率仍显示 1000Mb/s,先别怪驱动,检查对端设备和网线(详见下表)。

六、翻车现场速查表:现象、原因、解法一列清

现象原因解决办法
dkms buildNo rule to make target之类错误内核头文件未装或版本不匹配sudo apt install linux-headers-$(uname -r)后重试
重启后只有 r8169、没有 r8125黑名单未生效 / initramfs 未更新检查/etc/modprobe.d/blacklist-r8169.conf内容,重跑sudo update-initramfs -u再重启
加载后速率仍显示 1000Mb/s对端设备只支持千兆,或网线规格不足确认对端也是 2.5G 设备,网线至少 Cat5e
modprobe r8125Operation not permitted内核模块签名校验失败 / Secure Boot 未关进 BIOS 关闭 Secure Boot,或为模块签名
autorun.sh 编译报错但屏幕信息太少日志被追加写入了文件执行tail -50 log.txt查看具体报错行

七、进阶玩家的两条延伸路线

驱动装好只是及格线,想再进一步,有两条路可选。

路线一:性能调优。追求满速可以加大接收缓冲区,并开启中断合并,降低高负载下的 CPU 占用:

sudo sysctl -w net.core.rmem_max=26214400 sudo ethtool -C <接口名> rx-usecs 30 tx-usecs 30

路线二:自己打 Debian 包。想体验"驱动像普通软件一样可升级可卸载"的管理方式,可以在项目目录里自己构建.deb

sudo apt install devscripts debmake debhelper build-essential dkms dh-dkms dpkg-buildpackage -b -rfakeroot -us -uc sudo dpkg -i realtek-r8125-dkms*.deb

之后驱动就归dpkg管了,升级、卸载都干干净净,适合重度 Linux 用户。

八、收尾:三句话记住今天的内容

DKMS 方式最省心,内核升级自动重编译,装一次管一年;装完必须屏蔽 r8169,否则驱动被抢占等于白装;最后用 ethtool 和 iperf3 实测速率,让数据替驱动说话。

下一步行动很简单:对照第二节清单核一遍环境,然后从第四节第 1 步开始执行,大约 5 分钟,你的 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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 12:21:25

【单片机毕设案例分享】基于 STM32 的密码权限管理指纹刷卡考勤终端开发 基于 STM32 的物联网双模式识别智能考勤软硬件协同设计(015004)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于单片机&#xff0c;STM32单片机&#xff0c;51单片机&#xff0c;J…

作者头像 李华
网站建设 2026/8/21 12:21:23

基于Express与MVC架构的Node.js博客平台后端开发实战

在实际的毕业设计或课程项目中&#xff0c;选择一个技术栈清晰、功能完整且易于扩展的课题至关重要。一个基于 Node.js 的博客交流平台&#xff0c;结合 Express 框架、MySQL 数据库以及 MVC 架构&#xff0c;是理解现代 Web 后端开发流程的绝佳实践。很多同学在搭建这类项目时…

作者头像 李华
网站建设 2026/8/21 12:20:52

MIRA框架解析:用大语言模型有限指导强化学习智能体

1. 项目缘起&#xff1a;当强化学习遇上大语言模型&#xff0c;我们到底在期待什么&#xff1f;最近在复现和思考一些前沿的强化学习&#xff08;RL&#xff09;项目时&#xff0c;我反复被一个概念所吸引&#xff1a;“有限的大语言模型指导”。听起来有点矛盾&#xff0c;对吧…

作者头像 李华
网站建设 2026/8/21 12:15:09

3 分钟上手 sys-clk:Switch 超频配置指南,告别游戏掉帧

3 分钟上手 sys-clk&#xff1a;Switch 超频配置指南&#xff0c;告别游戏掉帧 【免费下载链接】sys-clk Nintendo Switch homebrew overclocking/underclocking system module and frontend 项目地址: https://gitcode.com/gh_mirrors/sy/sys-clk 你的 Switch 在《塞尔…

作者头像 李华