How to setup WiFi Adapter using EDIMAX AC EW-7811UTC?

The default support for EdiMax EW-7811UN is not working for EdiMax EW-7811UTC (a slightly bigger device, supposedly offers a better connection). I tried to install the driver from the vendor, but couldn’t get through the process.

Follow EdiMax’s guide https://www.edimax.com/edimax/mw/cufiles/files/download/QIG/EW-7811UTC/EW-7811UTC_QIG_English_EN.pdf
I downloaded and unpacked the driver package EW-7811UTC_UAC_DAC_USC_Linux_Driver_1.0.2.4/rtl8821AU_WiFi_linux_v5.3.4_28226.20180614_COEX20171103-6c6d
Then went into the directory to run a “sudo make”, but failed with an error:

Makefile:667: arch/aarch64/Makefile: No such file or directory

Any suggestions?

PS. “uname -a”
Linux jetson-4-3 4.9.140-tegra #1 SMP PREEMPT Mon Dec 9 22:47:42 PST 2019 aarch64 aarch64 aarch64 GNU/Linux

Any driver will need to be for the aarch64 architecture, but drivers for a PC will be listed as something like amd64/x86_64. There can be firmware, and firmware tends to not care about architecture (firmware is uploaded into the device, drivers load into the running system’s kernel).

What was the purpose of running “make”? Normally this would be used for something like building a kernel module (a driver), or perhaps installing software (including a driver, but also including user space applications or firmware).

Do know that most of the Realtek network devices are already supported out of the package. Just to get an idea (and this filters from a list of the running kernel’s configuration):
zcat /proc/config.gz | egrep -i '(realtek|rtl)'

The entries which have “=m” are available with modules. The entries with “=y” are hard wired into the kernel. The entries commented out with “#” are features not configured. If the correct feature is present, but firmware is still required, then this would basically be a case of needing to copy the firmware in correctly.

Also note that if the manufacturer provides a driver (not firmware), then that driver may be compiled for a particular kernel release (or at least for a given major release). I see a “v5.3.4”, and I don’t know if that is a release for the WiFi software or not, but if this refers to being compiled against a 5.3.4 kernel, then this would never work with a 4.x series kernel (firmware probably won’t care, but might if the driver itself changed too much).

Hi linuxdev, thanks a lot for the detailed analysis. I have the same concern that I won’t be able to mess with the vendor’s driver directly. So I started to try-and-error with GIT packages. Actually, I got a good result.

First, I’d like to report that the package “https://github.com/gnab/rtl8812au” would not work. Got similar error which turns out having been reported last year https://github.com/gnab/rtl8812au/issues/169

The good news is that a working GIT can be found at GitHub - aircrack-ng/rtl8812au: RTL8812AU/21AU and RTL8814AU driver with monitor mode and frame injection
Here are the steps to get the package installed, assuming you are to install it under ~/Downloads which can be your choice of preference.

   sudo apt-get install dkms

    cd Downloads

    git clone https://github.com/aircrack-ng/rtl8812au.git

    cd rtl8812au

    sed -i 's/CONFIG_PLATFORM_I386_PC = y/CONFIG_PLATFORM_I386_PC = n/g' Makefile 

    sed -i 's/CONFIG_PLATFORM_ARM_NV_NANO = n/CONFIG_PLATFORM_ARM_NV_NANO = y/g' Makefile

    sudo ./dkms-install.sh

I power cycled the Nano just to make sure everything is okay. Then plug in the EdiMax dongle and reboot.

Open System Settings, Network to see the available WiFi networks listed. It works!