【避坑】RTL8127 万兆光口网卡踩坑记

众所周知,Realtek RTL 8127 是螃蟹家新推出的万兆网卡,并且同时具有电口与光口版本。恰巧这两个版本我都有,先测试的是电口版本,结果来看表现不错,6.16+内核自带驱动,在Windows和Linux下的稳定性也很不错,唯一的问题是SFP+电口模块实在太热了,虽然不会热到掉线但经常会掉速,因此便想着换成光口版本来测试,但是光口版本就有问题了:

  • 电源管理极其糟糕

在Windows下,使用默认的驱动时,每次休眠唤醒后都会网络不识别,链路速度卡在10Mbps;解决方法是使用官网的No Power Save驱动。但是又出现了从Linux下重启至Windows会掉网卡的问题(表现为直接从设备管理器里消失了),需要冷重启才能恢复,而解决方法也很奇葩,在Windows下禁用“允许计算机关闭此设备以节省电源”就恢复正常了。

  • 神必的驱动表现

理论上来说,Linux 6.16+ 内核的 r8169 模块就已经集成了RTL 8127的驱动,使用 lspci -k 也能看到被该模块正确驱动,但ip link 的结果永远是 <NO-CARRIER,BROADCAST,MULTICAST,UP> 而不识别。通过从AUR安装 r8127-dkms 包,并手动 # modprobe r8127 后恢复正常了,但是此模块会禁用 r8169 内核模块,因此如果你除了该网卡外,还有 RTL8215 2.5GbE 或 RTL 8126 5GbE 网卡的话,会无法驱动,需要再另外安装对应的 r8125-dkms (存疑,未测试)与 r8126-dkms 方能启用。