我正在运行 18.04 服务器,最近我的 Netgear AC1900 wifi 卡停止工作。我不太确定发生了什么,但在深入研究之后,司机出了点问题。
我已尝试多次删除并重新安装驱动程序,但它仍然给我带来了麻烦。这就是我所在的位置:
我试过通过 dkms安装这个驱动程序( https://github.com/zebulon2/rtl8814au.git )。当添加和构建正常时,但当我去安装时,它说已经安装了一个更新的版本:“警告!构建和安装模块之间的差异!”
它从 lusb 显示为 0846:9054 NetGear,但从 ifconig 显示为 0846:9054 NetGear。
我确定我只需要正确删除其中的任何旧驱动程序,然后重新安装,但我不知道该怎么做。我一直在搜索帖子/在线无济于事。
建议?
先感谢您。
更新:dkms 状态输出:
ndiswrapper, 1.60, 4.15.0-39-generic, x86_64: installed
ndiswrapper, 1.60, 4.15.0-42-generic, x86_64: installed
ndiswrapper, 1.60, 4.15.0-43-generic, x86_64: installed
realtek-rtl188xxau, 5.2.20.2~20190128: added
rtl8814au, 4.3.21, 4.15.0-43-generic, x86_64: installed (WARNING! Diff between built and installed module!)
lshw -C 网络输出:
*-network
description: Ethernet interface
product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:04:00.0
logical name: enp4s0
version: 01
serial: 00:1d:7d:d9:5f:24
size: 10Mbit/s
capacity: 1Gbit/s
width: 64 bits
clock: 33MHz
capabilities: pm vpd msi pciexpress bus_master cap_list rom ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half latency=0 link=no multicast=yes port=MII speed=10Mbit/s
resources: irq:24 ioport:d000(size=256) memory:fa000000-fa000fff memory:f9000000-f901ffff
*-network
description: Wireless interface
physical id: 1
bus info: usb@2:1
logical name: wlx00026f79d295
serial: 00:02:6f:79:d2:95
capabilities: ethernet physical wireless
configuration: broadcast=yes driver=rt2800usb driverversion=4.15.0-43-generic firmware=0.36 ip=192.168.0.182 link=yes multicast=yes wireless=IEEE 802.11
更新 2:
Kernel preparation unnecessary for this kernel. Skipping…
Building module:
Cleaning build area
‘make’ KVER=4.1.5.0.43-generic KSCR= /lib/modules//build... (bad exit status: 2)
ERROR: (dkms apart): binary package for rtl8814au: 4.3.21 not found
Error! Bad return status for module build on kernel: 4.1.5.0-43-generic (x86_64)
Consult /var/lib/dkms/rtl8814au/4.3.21/build/make.log for more information
构建日志:
DKMS make.log for rtl8814au-4.3.21 for kernel 4.15.0-43-generic (x86_64)
Fri Feb 1 11:17:08 PST 2019
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules//build M=/var/lib/dkms/rtl8814au/4.3.21/build modules
make[1]: *** /lib/modules//build: No such file or directory. Stop.
Makefile:1699: recipe for target 'modules' failed
make: *** [modules] Error 2
dkms.conf:
MAKE="'make' KVER=${kernelver}"
CLEAN="'make' clean"
BUILT_MODULE_NAME="8814au"
BUILT_MODULE_LOCATION=.
PACKAGE_NAME=rtl8814au
PACKAGE_VERSION=4.3.21
REMAKE_INITRD=yes
DEST_MODULE_LOCATION="/updates/dkms"
AUTOINSTALL=yes
更新 3:dkms 状态输出
ndiswrapper, 1.60, 4.15.0-39-generic, x86_64: installed
ndiswrapper, 1.60, 4.15.0-42-generic, x86_64: installed
ndiswrapper, 1.60, 4.15.0-43-generic, x86_64: installed
realtek-rtl88xxau, 5.2.20.2~20190128: added
rtl8814au, 4.3.21, 4.15.0-43-generic, x86_64: installed (WARNING! Diff between built and installed module!)
ls -al 输出:
total 2916
drwxr-xr-x 2 root root 4096 Jan 30 11:58 .
drwxr-xr-x 3 root root 4096 Dec 20 06:45 ..
-rw-r--r-- 1 root root 2496480 Dec 20 06:48 8814au.ko
-rw-r--r-- 1 root root 475488 Dec 20 06:45 ndiswrapper.ko
模块信息 8814au | grep 版本输出:
version: v4.3.21_17997.20160531
description: Realtek Wireless Lan Driver
srcversion: 116E23DCCBE75715C266328
vermagic: 4.15.0-39-generic SMP mod_unload
parm: rtw_chip_version:int
/var/lib/dkms/rtl.... modinfo ./8814au.ko | grep 版本输出:
version: v4.3.21_17997.20160531
description: Realtek Wireless Lan Driver
srcversion: 086375719088E1DFA1D1B6E
vermagic: 4.15.0-43-generic SMP mod_unload
parm: rtw_chip_version:int
在
terminal
...modinfo 8814au | grep ver
# 检查已安装的模块看看vermagic数字。它应该与您当前的内核版本匹配。
现在...
cd /var/lib/dkms/rtl8814au/kernel-4.18.0-13-generic-x86_64/module
仅更改
kernel-4.18.0-13-generic-x86_64
零件以匹配系统上的内容。然后做...
modinfo ./8814au.ko | grep ver
# 检查构建的模块再次检查vermagic编号,它可能与您当前的内核和/或已安装模块的vermagic不匹配(从上方)。
然后...
cd /usr/src/rtl8814au-4.3.21
# 更改确切的目录路径以匹配您所拥有的sudo pico dkms.conf
# 编辑这个文件并更改/替换 MAKE 线,使其看起来像这样......
MAKE="'make' KVER=${kernelver} KSRC=/lib/modules/${kernelver}/build"
MAKE="'make' KVER=${kernelver}"
然后
dkms build...
再次执行命令,并重新检查vermagic值,如果看起来不错,则执行dkms install...
命令。dkms status
# 检查 dkms 模块的状态它应该显示类似于此的内容...
rtl8814au, 4.3.21, 4.18.0-13-generic, x86_64: installed
如果由于某种原因无法解决您的问题,我们将不得不在流程中添加一些步骤。
更新#1:
我们必须走很长的路……它可能会和我们有一点冲突……但是这里……
在
terminal
...cd
# 主目录sudo dkms remove rtl8814au/4.3.21 --all
# 删除已安装的驱动程序dkms status
# 不应显示任何 rtl8814au 驱动程序modinfo 8814au
# 应该什么都不显示确保 mod
/usr/src/rtl8814au-4.3.21/dkms.conf
完成。sudo dkms add rtl8814au/4.3.21
# 重新添加驱动到 /var/lib/dkmssudo dkms build rtl8814au/4.3.21
# 再次构建驱动程序检查vermagic值,它应该显示
4.15.0-43-generic
sudo dkms install rtl8814au/4.3.21
#重新安装驱动dkms status
# 应该显示为已安装sudo lshw -C network
# 显示更新的信息cat /etc/netplan/*.yaml
# 显示 .yaml 文件更新#2:
该
dkms remove
命令没有完全完成它的工作,并且从 12 月 20 日开始有一个旧的 8814au 驱动程序和 vermagic 4.15.0-39-generic 坐在里面,/lib/modules/4.15.0-43-generic/updates/dkms/8814au.ko
这让事情变得很糟糕。我们删除了它,然后我们可以 dkms build/install/status。