每次在 dist-upgrade 期间更改内核时,都需要手动重新编译 Realtek 8812AU DKMS 驱动程序,因为这不会在新内核的 dist-upgrade 期间自动完成,并且驱动程序在重新启动时无法加载:
[ 491.302739] 8812au: version magic '4.15.0-124-generic SMP mod_unload' should be '4.15.0-128-generic SMP mod_unload'
这是此软件包中长期存在的错误的结果,它在启动板上列为 Bug ID1743849,1804832,1705820解决方案是将包中的 dkms.conf 中的 MAKE 行修复为下面一行,但通常它应该由存储库中的包维护者完成(3 年多没有做过):
MAKE[0]="'make' all KVER=${kernelver}"
是否有任何解决方法可以保留存储库 8812au dkms 软件包版本,但仅在内核更改时自动重建 8812au,而软件包仍然损坏?
一些困难是 8812au 是受影响系统的上行链路接口,并且在内核更改后重新启动时,如果 dkms 未重新编译并且无法从存储库下载任何软件包,它将失去 Internet 连接,因此应该在 dist-upgrade 过程中或在 dist-upgrade 后重新启动之前完成,或者 dkms 构建源所需的所有内容都应该已经下载到系统中。
答案1
解决方案是停止使用损坏的 dkms,并使用好的 dkms海因内玛以上观点被接受的答案Ubuntu 19.10 上需要内核 5.3 的 rtl8814au 驱动程序. 近一年来一直运行良好。