我正在尝试安装 RTL8812AU 驱动程序,但收到如下错误日志:
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/4.13.0-kali1-amd64/build M=/root/Desktop/rtl8812AU-driver-4.3.22-beta modules
make[1]: Entering directory '/usr/src/linux-headers-4.13.0-kali1-amd64'
CC [M] /root/Desktop/rtl8812AU-driver-4.3.22-beta/core/rtw_cmd.o
In file included from /root/Desktop/rtl8812AU-driver-4.3.22-beta/include/drv_types.h:32:0,
from /root/Desktop/rtl8812AU-driver-4.3.22-beta/core/rtw_cmd.c:22:
/root/Desktop/rtl8812AU-driver-4.3.22-beta/include/osdep_service.h: In function ‘thread_enter’:
/root/Desktop/rtl8812AU-driver-4.3.22-beta/include/osdep_service.h:343:2: error: implicit declaration of function ‘allow_signal’ [-Werror=implicit-function-declaration]
allow_signal(SIGTERM);
^~~~~~~~~~~~
/root/Desktop/rtl8812AU-driver-4.3.22-beta/include/osdep_service.h: In function ‘flush_signals_thread’:
/root/Desktop/rtl8812AU-driver-4.3.22-beta/include/osdep_service.h:353:6: error: implicit declaration of function ‘signal_pending’ [-Werror=implicit-function-declaration]
if (signal_pending (current))
^~~~~~~~~~~~~~
/root/Desktop/rtl8812AU-driver-4.3.22-beta/include/osdep_service.h:355:3: error: implicit declaration of function ‘flush_signals’ [-Werror=implicit-function-declaration]
flush_signals(current);
^~~~~~~~~~~~~
cc1: some warnings being treated as errors
/usr/src/linux-headers-4.13.0-kali1-common/scripts/Makefile.build:307: recipe for target '/root/Desktop/rtl8812AU-driver-4.3.22-beta/core/rtw_cmd.o' failed
make[4]: *** [/root/Desktop/rtl8812AU-driver-4.3.22-beta/core/rtw_cmd.o] Error 1
/usr/src/linux-headers-4.13.0-kali1-common/Makefile:1529: recipe for target '_module_/root/Desktop/rtl8812AU-driver-4.3.22-beta' failed
make[3]: *** [_module_/root/Desktop/rtl8812AU-driver-4.3.22-beta] Error 2
Makefile:145: recipe for target 'sub-make' failed
make[2]: *** [sub-make] Error 2
Makefile:8: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.13.0-kali1-amd64'
Makefile:1705: recipe for target 'modules' failed
make: *** [modules] Error 2
我已经搞定了
apt-get 安装 linux-headers-4.13.0-kali1-all
和
apt-get 安装 linux-image-4.13.0-kali1-amd64
我错过了什么?
答案1
您错过了 Kali 文档。从https://docs.kali.org/introduction/should-i-use-kali-linux:“[Kali] 如果您不熟悉 Linux 或者正在寻找用于开发、网页设计、游戏等的通用 Linux 桌面发行版,那么不推荐使用它。”
答案2
如果您使用 Kali Rolling,则不需要执行此操作,因为您的硬件驱动程序位于存储库中。
这帖子处理相同的硬件安装,它应该不比
sudo apt-get update
sudo apt-get install realtek-rtl88xxau-dkms
您应该能够在桌面上的包管理器中找到该包。
顺便说一句,如果您是 Linux 新手,那么您可能会很难使用 Kali,因为它比其他发行版更面向命令行。网上搜索 Linux 教程并做一些练习......当然,一旦您的卡安装完毕。
答案3
你需要编译最新来源包括“内核 4.11+ 的修复”
apt install git dkms
git clone https://github.com/gnab/rtl8812au.git
make
make install
modprobe -v 8812au
还有lwfinger 仓库提供最新的rtl8812au
源驱动程序,包括修复了使用最高 4.14 内核进行构建的驱动程序,在4.13内核下可以编译成功。