0

I'm trying to install an rtl18814 driver for an ASUS USB AC68 wifi adapter. There have been quite a few threads about this, which being ignorant I found impenetrable. But there was one thread that seemed straightforward. Following the suggestion by @SomeOne01 from this thread, I downloaded a zipfile called rtl8814au-master.zipfrom this site and followed @SomeOne01's instructions. It worked seamlessly on Ubuntu 18.04, which was a first in my ubuntu experience. But unfortunately I needed the adapter on a machine running 16.04 (xenial). When I ran make on that machine, I got the following error.

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

Could anybody please suggest how to proceed on 16.04 xenial?

Thank you very much for any suggestions.

Leo Simon
  • 1,529
  • What kernel are you running on your 16.04 LTS? The download says it's for 4.15 or later so do you have HWE enabled? (default kernel for 16.04 LTS is 4.4, but with HWE enabled 16.04 uses 4.15, and the instructions tell you 4.14 is required at a minimum) – guiverc Jan 26 '19 at 07:04

1 Answers1

1

This will be easier if you do

sudo apt install git
git clone https://github.com/zebulon2/rtl8814au.git
cd rtl8814au
git checkout 7dde5bd
Then see if make succeeds. If the make command has no errors I would do
make clean
cd ..
sudo apt install dkms
sudo dkms add ./rtl8814au
sudo dkms install rtl8814au/4.3.21

Reboot

There is an issue with the latest commit https://github.com/zebulon2/rtl8814au/commit/3cf715db6f8e021671b72918929a307847e77e92 as the kernel version specified for it should have been 4.17

If you happen to have no internet connection, edit the file usr/local/src/rtl8814au-master/os_dep/linux/ioctl_cfg80211.c at line 350 you will find

#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,39))
Change it to
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
Then the make command should work without errors
Jeremy31
  • 12,602
  • 10
  • 58
  • 114
  • Thanks @Jeremy31, I just did the edit you suggested to the .c file and it worked like a charm. – Leo Simon Jan 27 '19 at 05:57
  • What can I do for Ubuntu with kernel 5.4.0-45-generic and the newer ac1900 ac68 wifi adapter from asus? – mLstudent33 Sep 15 '20 at 17:29
  • 1
    Github.com/aircrack-ng/rtl8812au works with rtl8814au – Jeremy31 Sep 15 '20 at 17:43
  • @Jeremy31, it worked three months ago on Ubuntu 18.04 but now I'm on 20.04 and it seems like the instructions have changed at that repo. Please look at my new question when you have a moment: https://askubuntu.com/questions/1302624/rtl8812au-21au-wireless-drivers-vs-rtl8814au-for-asus-ac68-ac1900-wireless-ada – mLstudent33 Dec 24 '20 at 21:43