ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

2.5G 网卡在 Linux 上只跑千兆?RTL8125 驱动安装完整指南:5 步搞定 DKMS 部署

2.5G 网卡在 Linux 上只跑千兆?RTL8125 驱动安装完整指南:5 步搞定 DKMS 部署 2.5G 网卡在 Linux 上只跑千兆RTL8125 驱动安装完整指南5 步搞定 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-dkmsrealtek-r8125-dkms 项目把 Realtek 官方 r8125 驱动封装成 DKMS 模块让 RTL8125 2.5G 网卡在 Linux 上稳定满速运行且内核升级后驱动自动重新编译。这篇文章先讲清为什么认不出再带你用 5 步完成 RTL8125 驱动安装、屏蔽冲突驱动并用实测数据验证结果。一个每天都在发生的尴尬场景上周帮朋友装新机一块全新的 2.5G 网卡插进主板系统装好后测速iperf3跑出来只有 940Mbps——和原来那块千兆网卡一模一样。朋友的第一反应是退货第二反应是怀疑买到假卡。其实两个都不对网卡本身没毛病毛病出在 Linux 根本没为它加载正确的驱动。还有一种更隐蔽的情况某天例行升级内核重启之后网络接口直接消失ip link里空空如也。原因也很简单——旧驱动是手动编译后塞进旧内核的内核一换驱动就跟着旧内核一起退休了。这两种尴尬正是 realtek-r8125-dkms 这个项目存在的意义让 2.5G 网卡驱动在 Linux 上装一次、长期有效。内核为什么认不出 RTL8125驱动冲突的真相先说清楚一个反直觉的事实Linux 不是没有驱动而是用错了驱动。内核自带的 r8169 是一款覆盖多款 Realtek 网卡的通用驱动。它像一把万能钥匙什么抽屉都能捅两下但遇到 RTL8125 这种 2.5G 新秀只算开了一半的门——接口勉强能通2.5G 速率却发挥不出来甚至在某些内核版本下干脆认不出设备。而 r8125 才是 Realtek 官方针对这批网卡放出的专用驱动功能和性能都齐整。问题在于系统加载驱动时遵循通用优先r8169 总是抢先占位专用驱动来了也只能在门外干等。这就是明明装好了却看不到效果的根源。装好驱动 ≠ 驱动生效。先让 r8169 让位再让 r8125 上位顺序错了前面全白做。至于 DKMS 是什么可以这样理解手动编译驱动像一次性装修每搬一次家升级内核就得全部重来DKMS 则是请了一位常驻管家每次搬家都自动按新户型重新布置家具你什么都不用管。RTL8125 驱动安装最小路径5 步从零到能用全程约 5 分钟不需要理解任何底层细节跟着命令走就行。第一步确认网卡身份并补齐编译环境lspci | grep -i ethernet sudo apt install dkms linux-headers-$(uname -r) build-essential git第一行确认回显里是Realtek ... RTL8125或 RTL8126第二行把驱动编译需要的工具一次装齐。注意如果你的网卡是 USB 形态的 RTL8156这个项目帮不了你它是为 PCI 接口设计的。第二步把项目源码拉到本地git clone https://gitcode.com/gh_mirrors/re/realtek-r8125-dkms cd realtek-r8125-dkms克隆完成后目录里应该能看到dkms-install.sh、autorun.sh、dkms.conf和src/源码目录。第三步一条命令完成登记、编译、安装sudo ./dkms-install.sh这个脚本会依次做三件事把源码复制到/usr/src/r8125-9.018.00→ 调用dkms add和dkms build编译内核模块 → 用dkms install把r8125.ko放进模块目录。编译期间会滚动大量日志属正常现象等待即可。看到Finished running dkms install steps.且没有Error字样就算过了。第四步给冲突驱动下禁行令sudo tee /etc/modprobe.d/blacklist-r8169.conf /dev/null EOT blacklist r8169 EOT sudo update-initramfs -u第一段告诉内核别再自动加载 r8169第二段刷新启动镜像让配置真正生效。输出里出现Generating /boot/initrd.img-版本号且无报错即可。第五步重启并验收sudo reboot # 重启后依次执行 lsmod | grep -E r8125|r8169 dkms status ip link show ethtool 接口名 | grep Speed预期结果lsmod只出现 r8125 相关行、r8169 彻底消失dkms status显示r8125/9.018.00 ... installedip link出现enp开头的新接口ethtool回显2500Mb/s。到这里驱动安装就算真正成功了。DKMS、脚本还是手动编译按你的身份选路线最小路径不是唯一路径。项目里其实准备了三条不同的路对应三种人你的情况推荐路线一句话理由长期使用、会持续升级内核dkms-install.sh或 Debian 包驱动跟随内核自动重编译装一次管很久当下就要联网、不想理解概念autorun.sh一条命令跑完卸载、编译、替换、加载开发者、需要调试或改编译参数src/下手动make可自定义编译选项出问题好定位Ubuntu 深度用户自己构建.deb包像普通软件一样可升级、可卸载 进阶提示追求满速的用户可以顺手加大内核接收缓冲区sysctl -w net.core.rmem_max26214400再用ethtool -C开启中断合并高负载下 CPU 占用会明显下降。r8125 驱动安装踩坑实录与自查清单下面是这套流程里最高频的 5 个坑每条都按现象→原因→解法讲清楚对号入座即可。坑一一切就绪lsmod里却只有 r8169现象dkms status明明显示 installed重启后 r8125 不见踪影原因黑名单没生效或 initramfs 没刷新解法检查/etc/modprobe.d/blacklist-r8169.conf内容重跑update-initramfs -u再重启坑二dkms build阶段报No rule to make target原因内核头文件缺失或版本与当前内核不匹配解法执行sudo apt install linux-headers-$(uname -r)后重跑脚本坑三驱动加载成功速率却卡在 1000Mb/s原因链路对端只有千兆或网线不达标解法确认对端是 2.5G 设备网线至少 Cat5e再用ethtool查看协商结果坑四modprobe r8125报Operation not permitted原因Secure Boot 拦截了未签名的内核模块解法进 BIOS 关闭 Secure Boot或为模块补签名坑五USB 网卡插上还是没反应原因RTL8156 这类 USB 网卡用的是 r8152 模块和本项目的 r8125 不是一回事解法先确认网卡是 PCI 形态的 RTL8125/8126再动手最后用这条清单收尾逐项打勾才算装完✅lspci -k显示驱动为 r8125✅lsmod有 r8125 无 r8169✅dkms status显示 installed✅ethtool回显 2500Mb/s✅iperf3多线程实测稳定在 2.3Gbps 以上。记住这一句然后动手这一路走下来最值得记住的一句话是网卡没坏是驱动没上位——把 r8125 交给 DKMS系统会在每次内核更新后替你自动重编一次从此再不用为网卡折腾。想深入了解可以从这些位置开始驱动主体与编译入口src/r8125_n.c、Makefile、r8125_ptp.c等厂商官方说明REALTEK_README.txtDKMS 登记配置dkms.conf安装脚本dkms-install.sh推荐路线、autorun.sh应急路线Debian 打包工程debian/control、rules、changelog现在就打开终端把第二步的git clone跑起来。十分钟后那块 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),仅供参考
返回列表