ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

为什么 Linux 认不出你的 2.5G 网卡?三步装好 RTL8125 驱动

2026/8/21 16:52:48 拓冰建站 浏览量
为什么 Linux 认不出你的 2.5G 网卡?三步装好 RTL8125 驱动 为什么 Linux 认不出你的 2.5G 网卡三步装好 RTL8125 驱动【免费下载链接】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把一块 Realtek RTL8125 2.5G 网卡插进 Linux 主机你可能很快就发现不对劲ip link里没有出现新的接口或者接口虽然存在协商速度却死死停在 1000Mb/s。硬件明明写着 2.5G实际却跑不出该有的速度。这不是网卡坏了而是系统默认加载的 r8169 通用驱动没能力发挥这块网卡的全部性能。realtek-r8125-dkms这个开源项目就是为这个场景准备的——它把 Realtek 官方 r8125 专用驱动封装成 DKMS 模块让 Linux 系统能够正确识别并驱动 2.5G 网卡同时还能在每次内核升级后自动重新编译免去反复手动安装的麻烦。如果你正在被2.5G 网卡 Linux 不识别困扰这篇文章会带你走完从判断网卡型号、选择安装方式到最终验证速率的全过程。一块网卡插上后只有千兆问题出在哪里先还原一个典型的故障现场主板或扩展槽上装好了 RTL8125 网卡开机进入系统lspci能认出设备但网速上不去甚至接口都看不到。遇到这种情况的人通常是这几类刚给 NAS 或软路由加装 2.5G 网卡、想升级内网带宽的家庭用户用上了 2.5G 交换机但网卡始终协商不到 2.5G 的折腾型玩家生产环境里需要稳定驱动、又不想每次内核更新都手动编译的运维人员。这些问题背后往往是同一个原因内核自带的通用驱动接不住这块新硬件。为什么通用驱动带不动 RTL8125Linux 内核里默认捆绑的 r8169 驱动服务的是老一代 Realtek 千兆网卡。RTL8125 属于 2.5G 新一代控制器虽然 r8169 偶尔也能碰巧把它识别出来但支持的完整度、速率上限和稳定性都不理想——这就像让一个老司机去开新款车型能发动但不一定开得顺手。而 Realtek 官方发布的 r8125 专用驱动性能表现和功能支持都要好得多。麻烦在于内核启动时默认优先加载 r8169专用驱动就算装好了也可能被抢占导致根本不生效。所以安装专用驱动的完整逻辑是装好新驱动 → 屏蔽旧驱动 → 重启让系统只认新驱动缺一环都可能前功尽弃。三条安装路线怎么选推荐指数与适用人群这个项目提供了三种安装驱动的方式它们互不冲突但定位完全不同。你可以根据自己的情况对号入座路线一DKMS 安装推荐指数 ⭐⭐⭐⭐⭐一句话点评驱动登记进内核模块管理框架内核升级后自动用新内核重新编译长期省心。适合谁想装一次长期用、追求低维护成本的用户和生产环境。代价需要提前安装 dkms 工具安装过程比脚本稍长。路线二autorun.sh 一键脚本推荐指数 ⭐⭐⭐一句话点评一条命令完成卸载旧驱动、编译、加载的全流程见效最快。适合谁急着重启救网、不想理解底层概念的新手。代价只对当前内核生效内核一升级就失效需要重新执行。路线三手动编译推荐指数 ⭐⭐一句话点评自由度最高可以加自定义编译参数、方便调试源码。适合谁开发者、需要定制编译选项的场景。代价依赖关系要自己打理内核升级后不会自动更新维护成本偏高。RTL8125 驱动安装主方案DKMS 全流程DKMS 可以理解成驱动自动更新的管家它把驱动源码放在系统目录里登记在册每次内核升级后自动用新内核重编一次驱动永远跟得上系统。下面以项目自带的dkms-install.sh为例走完整流程全程约 5 分钟。第一步核对硬件并补齐编译环境安装之前先用一条命令确认网卡型号避免白忙一场# 查看以太网设备确认出现 RTL8125 或 RTL8126 字样 lspci | grep -i ethernet⚠️ 如果回显的是 RTL8156USB 接口的 2.5G 网卡这个项目并不适用需要找对应的 r8152 驱动方案。随后把编译所需的工具链一次性装齐# dkms 框架、当前内核头文件、编译工具、git 客户端 sudo apt install dkms linux-headers-$(uname -r) build-essential git装完后可以顺手确认头文件确实就位执行ls /usr/lib/modules/$(uname -r)/build如果报 No such file 之类的错误说明头文件没装完整重跑上面的 apt 命令即可。第二步克隆仓库并执行安装脚本把项目源码拉取到本地# 克隆项目仓库地址固定为 gitcode 镜像 git clone https://gitcode.com/gh_mirrors/re/realtek-r8125-dkms cd realtek-r8125-dkms接下来运行安装脚本# 授予执行权限并以 root 身份运行安装脚本 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 字样就说明安装成功了。第三步屏蔽 r8169 并让黑名单生效安装完成后先别急着高兴用lsmod | grep r8125查看很可能没有输出——这是因为 r8169 抢占了加载顺序。必须把 r8169 拉黑专用驱动才会真正接管网卡# 写入黑名单配置禁止内核加载 r8169 sudo tee /etc/modprobe.d/blacklist-r8169.conf /dev/null EOT blacklist r8169 EOT # 刷新 initramfs让黑名单在下次启动时生效 sudo update-initramfs -u执行第二条命令时终端会显示正在生成新的initrd.img没有报错即可继续。然后重启系统# 重启后黑名单与驱动同时生效 sudo reboot第四步重启后确认加载结果重启回到桌面后用两条命令验收# 确认 r8125 已加载、r8169 已消失 lsmod | grep -E r8125|r8169 # 查看网卡接口是否出现通常是 enpXxx 形式 ip link show如果lsmod只出现r8125相关行ip link里也能看到新接口主方案就算走通了。备选方案速览autorun.sh 与手动编译如果你不想了解 DKMS 的概念、只想马上有网可以用项目根目录下的autorun.sh# 一键脚本卸载旧驱动、编译、备份替换 r8169、加载 sudo chmod x autorun.sh sudo ./autorun.sh脚本会依次完成卸掉已加载的 r8169/r8125 → 编译模块 → 把系统里的 r8169 模块改名备份 → 执行 depmod → modprobe 加载新驱动Debian/Ubuntu 系还会顺带刷新 initramfs最后输出Completed.。但请记住它的软肋只作用于当前内核下次升级后必须重跑这也是它只能当应急手段的原因。而如果你需要深度定制可以绕开脚本直接编译cd realtek-r8125-dkms/src # 清理残留产物 make clean # 多核并行编译 make -j$(nproc) # 安装到当前内核模块目录 sudo make install # 手动加载驱动 sudo modprobe r8125手动编译完成后同样要补上屏蔽 r8169 → 更新 initramfs → 重启三步命令与主推方案完全一致。常见故障避坑指南症状、根因与对策症状一编译时报No rule to make target之类错误根因内核头文件缺失或与当前内核版本不匹配。对策执行sudo apt install linux-headers-$(uname -r)补全后重试。症状二重启后lsmod里只有 r8169r8125 不见踪影根因黑名单没写对或 initramfs 没有刷新。对策检查/etc/modprobe.d/blacklist-r8169.conf内容是否包含blacklist r8169重新执行sudo update-initramfs -u再重启一次。症状三驱动加载了速率却仍是 1000Mb/s根因网线或交换机只支持千兆两端协商不到 2.5G。对策确认对端设备同样支持 2.5G并把网线换成 Cat5e 及以上规格。症状四modprobe r8125报Operation not permitted根因Secure Boot 开启未签名模块被系统拦截。对策进入 BIOS 关闭 Secure Boot或为模块完成签名后再加载。症状五autorun.sh 编译报错但屏幕输出信息太少根因脚本把编译日志追加写入了文件。对策执行tail -50 log.txt查看具体报错行对症处理。另外还有一个冷门但真实存在的场景如果你确实需要 r8169 和 r8125 同时加载可以尝试移除系统里的 r8125 固件文件sudo rm -f /lib/firmware/rtl_nic/rtl8125*但这只是权宜之计内核或固件升级后需要重复操作不建议长期依赖。验证清单与提速技巧装好之后逐项打勾确认才算真正收官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/s用iperf3实测一端iperf3 -s另一端iperf3 -c 服务器IP -t 30 -P 4吞吐接近 2.3Gbps 以上对照千兆环境下约 940Mbps 的基线提升明显如果你追求满速表现还有两条提速思路可以尝试。一是加大接收缓冲区降低高负载丢包概率# 调大内核网络接收缓冲上限 sudo sysctl -w net.core.rmem_max26214400二是开启中断合并减少高流量下的 CPU 中断次数# 设置网卡接收/发送中断合并时间为 30 微秒 ethtool -C 接口名 rx-usecs 30 tx-usecs 30如果你用的是 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拿到真实数据心里才有底。现在就可以打开终端执行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),仅供参考