戴尔Debian10替换网卡驱动

家里运行了一台Dell 3070MFF的小服务器,最近裸装Debian10之后观察到dmesg报错如下:

看起来与PCIE总线上的某个设备有关,用如下命令可以找到这个设备具体是谁:

+-1c.0-[01]—-00.0 Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller

可见是有线网卡的问题,进一步查看该网卡的状态(lshw命令用apt安装):

发现驱动是8169,而设备实际是8168版本,驱动可能存在兼容性问题。

决定替换网卡驱动为8168,去debian仓库找到了r8168-dkms包,注释为:dkms source for the r8168 network driver,也就是8168网卡驱动,这属于non-free闭源驱动,首先需要加入到apt源配置中才能安装:

在main之后追加non-free,然后执行apt update更新索引,最后安装驱动即可:

apt install r8168-dkms

根据debian网站说明:

Installation of the r8168-dkms package will disable the in-kernel r8169 module. To re-enable r8169, the r8168-dkms package must be purged.

安装该驱动会自动屏蔽8169驱动,所以不需要我们手动配置内核加载新驱动和屏蔽老驱动。

最后,我们重启计算机,再次查看网卡驱动已经正确:

再观察一阵子,dmesg报错的确消失了,使用speedtest测速可以跑满带宽,证明一切正常,替换完成。

如果文章帮助您解决了工作难题,您可以帮我点击屏幕上的任意广告,或者赞助少量费用来支持我的持续创作,谢谢~