Driver for RTL8812AU WiFi AC chipset

Moderators: odroid, mdrjr

Driver for RTL8812AU WiFi AC chipset

Unread postby pedrol » Fri May 19, 2017 8:02 am

Hello,

I bought an ASUS USB AC56 adapter for the Odroid C2.

The adapter was supported out of the box, since it uses the RTL8812AC chipset (same as HardKernel WiFi Module 5, this is the actual reason I picked this adapter)

Anyway, I need the C2 and the AC adapter for testing WiFi AC access points.

I know the access points are WiFi AC (4 Antennas), and my testing is to: connect, get an IP and run Iperf (UDP, 20 secs at 250Mbps) to and from the AP <-> C2-WiFi adapter.

The problem I have is that the Iperf result is not stable, sometimes the Packet Error Rate is as high as 20% and sometimes < 0.1%.
Also the data rate C2 -> AP sometimes is very low (60Mbps) and sometimes is fairly good (240Mbps), Im targetting to 250Mbps on all tests (-b250M).

I tried with a Linux PC (64bit i5, running Ubuntu 16.04 LTS, Kernel 4.4). Here I had to install the driver for the adapter and had the exact same behavior than with the C2, but then I played with some settings on the Makefile of the driver (i.e. set power saving mode to no, disabled some traffic protection, etc) and reinstalled the driver and the then the test performed a lot better.

I was trying to do the same on the C2, but the driver will not compile.
I do:
- make clean (OK)
- make

make fails with error:
root@odroid64:~/Downloads/RTL8812AU_linux_v4.3.13_14061.20150505/driver/rtl8812AU_linux_v4.3.13_14061.20150505# make
make ARCH=aarch64 CROSS_COMPILE= -C /lib/modules/3.14.79-113/build M=/home/odroid/Downloads/RTL8812AU_linux_v4.3.13_14061.20150505/driver/rtl8812AU_linux_v4.3.13_14061.20150505 modules
make[1]: *** /lib/modules/3.14.79-113/build: No such file or directory. Stop.
Makefile:1622: recipe for target 'modules' failed
make: *** [modules] Error 2

root@odroid64:~/Downloads/RTL8812AU_linux_v4.3.13_14061.20150505/driver/rtl8812AU_linux_v4.3.13_14061.20150505# uname -r
3.14.79-113

root@odroid64:~/Downloads/RTL8812AU_linux_v4.3.13_14061.20150505/driver/rtl8812AU_linux_v4.3.13_14061.20150505# ll /lib/modules/3.14.79-113/
total 1316
drwxr-xr-x 3 root root 4096 May 10 14:23 ./
drwxr-xr-x 5 root root 4096 May 17 21:26 ../
drwxr-xr-x 8 root root 4096 May 10 14:23 kernel/
-rw-r--r-- 1 root root 403683 May 10 14:23 modules.alias
-rw-r--r-- 1 root root 412232 May 10 14:23 modules.alias.bin
-rw-r--r-- 1 root root 15380 May 10 00:15 modules.builtin
-rw-r--r-- 1 root root 16662 May 10 14:23 modules.builtin.bin
-rw-r--r-- 1 root root 74042 May 10 14:23 modules.dep
-rw-r--r-- 1 root root 120807 May 10 14:23 modules.dep.bin
-rw-r--r-- 1 root root 239 May 10 14:23 modules.devname
-rw-r--r-- 1 root root 40638 May 10 00:15 modules.order
-rw-r--r-- 1 root root 55 May 10 14:23 modules.softdep
-rw-r--r-- 1 root root 100235 May 10 14:23 modules.symbols
-rw-r--r-- 1 root root 126109 May 10 14:23 modules.symbols.bin
root@odroid64:~/Downloads/RTL8812AU_linux_v4.3.13_14061.20150505/driver/rtl8812AU_linux_v4.3.13_14061.20150505#

Do any of you guys would have some advice as for how to get passed this error?

Thank you
pedrol
 
Posts: 3
Joined: Fri May 19, 2017 6:55 am
languages_spoken: english, spanish
ODROIDs: C2

Re: Driver for RTL8812AU WiFi AC chipset

Unread postby crashoverride » Fri May 19, 2017 8:13 am

pedrol wrote:make[1]: *** /lib/modules/3.14.79-113/build: No such file or directory. Stop.

Its looking for the Linux kernel headers at that location. You should install the kernel headers and/or make a symlink from there to point to where the headers are installed.
crashoverride
 
Posts: 2784
Joined: Tue Dec 30, 2014 8:42 pm
languages_spoken: english
ODROIDs: C1

Re: Driver for RTL8812AU WiFi AC chipset

Unread postby pedrol » Fri May 19, 2017 8:43 am

Hello crashoverride.

Thanks for the reply, I believe the headers are located here: /usr/src/linux-headers-3.14.79-113

Instead of creating a symlink, I used make with option -C and the linux headers directory.

The process started and got passed the error I had, but now I got another error.


root@odroid64:~/Downloads/RTL8812AU_linux_v4.3.13_14061.20150505/driver/rtl8812AU_linux_v4.3.13_14061.20150505# make -C /usr/src/linux-headers-3.14.79-113/
make: Entering directory '/usr/src/linux-headers-3.14.79-113'
CHK include/config/kernel.release
UPD include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
UPD include/generated/utsrelease.h
HOSTCC scripts/basic/fixdep
HOSTCC scripts/dtc/checks.o
HOSTCC scripts/dtc/data.o
HOSTCC scripts/dtc/dtc-lexer.lex.o
HOSTCC scripts/dtc/dtc-parser.tab.o
HOSTCC scripts/dtc/dtc.o
HOSTCC scripts/dtc/flattree.o
HOSTCC scripts/dtc/fstree.o
HOSTCC scripts/dtc/livetree.o
HOSTCC scripts/dtc/srcpos.o
HOSTCC scripts/dtc/treesource.o
HOSTCC scripts/dtc/util.o
HOSTLD scripts/dtc/dtc
CC scripts/mod/empty.o
MKELF scripts/mod/elfconfig.h
CC scripts/mod/devicetable-offsets.s
GEN scripts/mod/devicetable-offsets.h
HOSTCC scripts/mod/file2alias.o
HOSTCC scripts/mod/modpost.o
HOSTCC scripts/mod/sumversion.o
HOSTLD scripts/mod/modpost
HOSTCC scripts/selinux/genheaders/genheaders
scripts/selinux/genheaders/genheaders.c:13:22: fatal error: classmap.h: No such file or directory
compilation terminated.
scripts/Makefile.host:118: recipe for target 'scripts/selinux/genheaders/genheaders' failed
make[3]: *** [scripts/selinux/genheaders/genheaders] Error 1
scripts/Makefile.build:455: recipe for target 'scripts/selinux/genheaders' failed
make[2]: *** [scripts/selinux/genheaders] Error 2
scripts/Makefile.build:455: recipe for target 'scripts/selinux' failed
make[1]: *** [scripts/selinux] Error 2
Makefile:529: recipe for target 'scripts' failed
make: *** [scripts] Error 2
make: Leaving directory '/usr/src/linux-headers-3.14.79-113'
root@odroid64:~/Downloads/RTL8812AU_linux_v4.3.13_14061.20150505/driver/rtl8812AU_linux_v4.3.13_14061.20150505#


Do you have any recommendation for this one?

Thanks for the help

Pedro
pedrol
 
Posts: 3
Joined: Fri May 19, 2017 6:55 am
languages_spoken: english, spanish
ODROIDs: C2

Re: Driver for RTL8812AU WiFi AC chipset

Unread postby meveric » Fri May 19, 2017 5:04 pm

The Kernel Headers from HardKernel are incomplete you can't use them to compile DKMS modules.
Currently this should only work on my Debian Jessie image, or on DietPi (which is build upon my Debian Jessie image).

You could download the entire source code of the Kernel from HardKernel and use that to build a new Kernel and then the DKMS module.
User avatar
meveric
 
Posts: 7039
Joined: Mon Feb 25, 2013 2:41 pm
languages_spoken: german, english
ODROIDs: ODROID-X2,ODROID-U2,ODROID-U3,ODROID-XU-Lite, ODROID-XU3, ODROID-XU3-Lite, ODROID-C1, ODROID-XU4, ODROID-C2

Re: Driver for RTL8812AU WiFi AC chipset

Unread postby pedrol » Sat May 20, 2017 10:05 am

Thanks meveric,
Will consider that
pedrol
 
Posts: 3
Joined: Fri May 19, 2017 6:55 am
languages_spoken: english, spanish
ODROIDs: C2


Return to Ubuntu

Who is online

Users browsing this forum: No registered users and 3 guests