rtl8812au 的驱动程序在重启后拔掉

rtl8812au 的驱动程序在重启后拔掉

我已经为 Netgear rtl8812au WiFi 加密狗安装了此驱动程序: https://github.com/gnab/rtl8812au

我已经使用它的脚本来安装和插入驱动程序,并且它按预期工作。但是,每次启动系统时我都必须这样做。有没有解决方案,让机器8812.ko在重新启动后始终插入驱动程序?在启动时编写脚本不是我想要的解决方案。

我正在使用x86_64Ubuntu 18.04。

编辑:我的lsusb输出:

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 004: ID 05ac:026c Apple, Inc. 
Bus 001 Device 003: ID 0846:9052 NetGear, Inc. A6100 AC600 DB Wireless Adapter [Realtek RTL8811AU]
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

以下是输出:modinfo 8812au | grep -i version

version:        v5.1.5_19247.20160830
srcversion:     83B42C8630A364F0F3AD62C
parm:           rtw_chip_version:int

输出:modinfo 8812au | grep 9052

alias:          usb:v0846p9052d*dc*dsc*dp*ic*isc*ip*in*

输出sudo updatedb && locate dkms.conf::

/etc/modprobe.d/dkms.conf
/home/a/rtl8812au/dkms.conf
/usr/src/rtl8812AU-5/dkms.conf
/usr/src/rtl8812au-5.1.5/dkms.conf
/var/lib/dkms/rtl8812AU/5/build/dkms.conf
/var/lib/dpkg/info/dkms.conffiles

答案1

通过动态内核模块支持 (dkms) 安装驱动程序意味着每次更新内核时无需重新编译和重新安装驱动程序。这个过程似乎进展顺利,至少对于您最新的、可能正在运行的内核版本 5.0.0-32-generic 来说是如此。

有时,由于我不完全理解的原因,系统识别到模块所涵盖的 ID 后,模块不会在启动时立即加载;在您的例子中是 0846:9052。但是,有一种机制可以让内核模块在启动时自动加载。从终端:

sudo -i
echo 8812au  >>  /etc/modules
exit

重启并检查:

dmesg | grep 8812au
lsmod | grep 8812au

编辑:从终端,请执行以下操作:

sudo dkms remove rtl8812AU/5 --all
sudo dkms remove rtl8812au/5.1.5 -k "$(uname -r)/$(uname -p)"  
sudo dkms build rtl8812au/5.1.5 -k "$(uname -r)/$(uname -p)"  
sudo dkms install rtl8812au/5.1.5 -k "$(uname -r)/$(uname -p)"

接下来,我们将尝试修复 dkms.conf 文件。

sudo nano a/rtl8812au/dkms.conf

向下滚动到当前显示 MAKE="'make' all" 的行,以读取 MAKE="'make' all KVER=${kernelver}"

仔细校对两遍,保存(Ctrl+o 然后按 Enter)并退出文本编辑器(Ctrl+x)。

对 /usr/src/rtl8812au-5.1.5/dkms.conf 进行完全相同的更改。我怀疑您在 /var/lib/dkms/rtl8812au/5.1.5/build/dkms.conf 中也有一个文件;如果是的话,请检查并更改它。

重启。无线功能是否正常工作?

相关内容