![在 ubuntu 16.04 上安装 rtl8814AU wifi 适配器驱动程序](https://linux22.com/image/908454/%E5%9C%A8%20ubuntu%2016.04%20%E4%B8%8A%E5%AE%89%E8%A3%85%20rtl8814AU%20wifi%20%E9%80%82%E9%85%8D%E5%99%A8%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F.png)
我正在尝试安装rtl18814
华硕 USB AC68 wifi 适配器的驱动程序。关于这个问题的帖子很多,由于我不懂,所以觉得很难理解。但有一个帖子似乎很简单。按照 @SomeOne01 的建议此主题,我下载了一个rtl8814au-master.zip
名为本网站并按照@SomeOne01的说明操作。它在Ubuntu 18.04上无缝运行,这是我的Ubuntu体验中的第一次。但不幸的是,我需要在运行16.04(xenial)的机器上使用适配器。当我make
在那台机器上运行时,我得到了以下错误。
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/4.4.0-139-generic/build M=/usr/local/src/rtl8814au-master modules
make[1]: Entering directory '/usr/src/linux-headers-4.4.0-139-generic'
CC [M] /usr/local/src/rtl8814au-master/os_dep/linux/ioctl_cfg80211.o
/usr/local/src/rtl8814au-master/os_dep/linux/ioctl_cfg80211.c: In function rtw_get_systime_us :
/usr/local/src/rtl8814au-master/os_dep/linux/ioctl_cfg80211.c:352:2: error: implicit declaration of function ktime_get_boottime_ts64’[-Werror=implicit-function-declaration]
ktime_get_boottime_ts64(&ts);
^
cc1: some warnings being treated as errors
scripts/Makefile.build:277: recipe for target '/usr/local/src/rtl8814au-master/os_dep/linux/ioctl_cfg80211.o' failed
make[2]: *** [/usr/local/src/rtl8814au-master/os_dep/linux/ioctl_cfg80211.o] Error 1
Makefile:1439: recipe for target '_module_/usr/local/src/rtl8814au-master' failed
make[1]: *** [_module_/usr/local/src/rtl8814au-master] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.4.0-139-generic'
Makefile:1699: recipe for target 'modules' failed
make: *** [modules] Error 2
有人可以建议如何在 16.04 xenial 上进行操作吗?
非常感谢您的任何建议。
答案1
如果你这样做,这会更容易
sudo apt install git
git clone https://github.com/zebulon2/rtl8814au.git
cd rtl8814au
git checkout 7dde5bd
然后看看是否make
成功。如果make
命令没有错误,我会这样做
make clean
cd ..
sudo apt install dkms
sudo dkms add ./rtl8814au
sudo dkms install rtl8814au/4.3.21
重启
最新提交存在问题https://github.com/zebulon2/rtl8814au/commit/3cf715db6f8e021671b72918929a307847e77e92因为为其指定的内核版本应该是 4.17
如果你碰巧没有网络连接,编辑文件 usr/local/src/rtl8814au-master/os_dep/linux/ioctl_cfg80211.c 的第 350 行,你会发现
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
将其更改为#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
然后 make 命令应该可以正常运行