在 Ubuntu 20.04 上未检测到基于 rtl8168 的 NIC

在 Ubuntu 20.04 上未检测到基于 rtl8168 的 NIC

由于网卡本身目前无法工作,因此我只有有限的信息,因为我现在没有运行系统。我遇到的问题是内核升级后网卡停止工作。我看见关于重新安装DKMS模块的答案但这没有用。我通过packages.ubuntu.com下载了该软件包,通过USB记忆棒传输并通过dpkg手动安装。它安装时没有错误消息,但即使在完全重新启动后,仍然未检测到 NIC。

Realtek 官方支持页面我可以看到该模块仅支持 5.6 以下的内核:

Realtek 页面截图

我确实有一个更新的内核(我认为是 5.8)。这也许可以解释为什么内核升级后网卡停止工作。

有什么想法可以解决这个问题吗?

答案1

@GAD3R 的回答给我指出了解决方案。包裹linux-headers-generic-hwe-20.04因某种原因丢失了。

dist-upgrade在执行或命令之后,upgrade提到的包丢失了。该包是对该包的间接依赖linux-headers-generic。由于这是不可用的,DKMS 模块不是基于内核升级构建的。

解决方案是通过以下方式下载上述两个软件包的相应文件(可以使用 找到内核版本uname -r.debhttps://packages.ubuntu.com并手动安装它们。

安装它们(使用dpkg -i)会自动触发 DKMS 模块的构建,重新启动后问题得到解决。

作为预防措施,我手动安装了linux-headers-generic-hwe-20.04。这样它们应该被标记为“手动安装”并且不应再消失。考虑到包名称包含20.4我几乎可以肯定这不会在下一个中生存dist-upgrade,并且我没有看到相应的元包。

所以我将来可能会再次遇到这篇文章。在这种情况下:你好,未来的我:)

答案2

手动安装驱动程序这个 git 存储库:

git clone https://github.com/mtorromeo/r8168.git
cd r8168
sudo ./autorun.sh
lsmod | grep r8168

黑名单r8169驱动程序:

echo "blacklist r8169" |sudo tee -a /etc/modprobe.d/blacklist.conf

相关内容