r8127 万兆网卡在 Linux/PVE 下消失?都是 r8169 惹的祸

@Ta 15小时前发布,15小时前修改 109点击
r8127 万兆网卡在 Linux/PVE 下消失?都是 r8169 惹的祸
装了 r8127 万兆网卡的主机,在 Linux 或 PVE 下可能遇到一个很坑的问题:10G 网口突然消失,重启没用,必须彻底断电拔线才能恢复。
我用的 Minisforum MS-02 Ultra,第一次遇到直接以为网卡坏了,拆机重装了一遍,开机能认到,重启又没了,折腾半天才定位到是 r8169 驱动的问题。
不止我一个人踩坑,NVIDIA DGX Spark 也用了 r8127,论坛上有用户报告完全相同的症状,NVIDIA 工程师直接确认就是 r8169 导致的:
https://forums.developer.nvidia.com/t/realtek-r8127-ethernet-nic-disappears-on-every-reboot-only-recovers-with-full-power-cycle/360654
问题原因
r8169 和 r8127 之间存在严重冲突。内核加载时 r8169 会抢先匹配 r8127 的设备,接管后会在关机/重启时将网卡置于禁用状态,导致下次启动时网卡完全无响应,从 lspci 里彻底消失。只有物理断电让网卡硬件复位才能恢复。
解决方法
第一步:屏蔽 r8169
echo "blacklist r8169" > /etc/modprobe.d/blacklist-r8169.conf
update-initramfs -u
第二步:断电重启
屏蔽 r8169 后不要直接 reboot,因为网卡可能已经被 r8169 关掉了,重启也认不到。正确做法是关机后彻底断电(拔电源等 30 秒),让网卡硬件复位,重新上电开机后 r8127 设备才会出现。
第三步:安装 r8127 DKMS 驱动
下载地址:https://github.com/xiaoqidun/r8127/releases
PVE:
apt update
apt install dkms pve-headers-$(uname -r)
apt install ./r8127-dkms_11.016.00-1_all.deb
Debian / Ubuntu:
apt update
apt install dkms linux-headers-$(uname -r)
apt install ./r8127-dkms_11.016.00-1_all.deb
装完再重启一次就行。
注意事项
DKMS 包内核升级后会自动重新编译,不用每次手动装
驱动包不会自动屏蔽 r8169,需要手动 blacklist
顺序很重要:先 blacklist,再断电,最后装驱动。如果跳过断电这步,网卡设备都不在,驱动装了也没用
已知受影响设备
Minisforum MS-02 Ultra — 本人确认
NVIDIA DGX Spark — NVIDIA 论坛确认
其他用了 r8127 的设备大概率也有这个问题
回复列表(0|显示机器人聊天)
帖子没有回复
添加新回复
回复需要登录