realtek RTL8811AU wifi adaptor working on XUbuntu

29,508

To get the wifi working you should install the rtl8812au-dkms from the official Ubuntu repository.

sudo apt-get install rtl8812au-dkms
sudo modprobe 8812au

Or by building the driver using dkms from diederikdehaas/rtl8812AU git repo (support added for kernel version >= 4.7) , As root run:

apt install dkms
git clone https://github.com/diederikdehaas/rtl8812AU.git
cd rtl8812AU
DRV_NAME=rtl8812AU
DRV_VERSION=4.3.14
mkdir /usr/src/${DRV_NAME}-${DRV_VERSION}
git archive driver-${DRV_VERSION} | tar -x -C /usr/src/${DRV_NAME}-${DRV_VERSION}
dkms add -m ${DRV_NAME} -v ${DRV_VERSION}
dkms build -m ${DRV_NAME} -v ${DRV_VERSION}
dkms install -m ${DRV_NAME} -v ${DRV_VERSION}
modprobe -v 8812au
Share:
29,508

Related videos on Youtube

Roaders
Author by

Roaders

Previously a Flex developer now moving into Typescript, NodeJs and HTML5 development.

Updated on September 18, 2022

Comments

  • Roaders
    Roaders almost 2 years

    I am setting up a pc running XUbuntu and so far it is going pretty well. I am having issues getting wifi working though.

    Initially I tried with my existing Netgear A6200 but was told that basically drivers don't exist and I would have to use windows drivers - which I didn't fancy so I bought one of these:

    https://www.amazon.co.uk/gp/product/B06XZ1DBPZ/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1

    which lists linux as a supported OS.

    I haven't had much luck getting it to work. I was hoping that I would just plug it in and get the drivers magically but no such luck.

    The chipset is apparently realtek RTL8811AU (I got this by plugging it into my windows PC).

    I found this post: https://ubuntuforums.org/showthread.php?t=2306417

    but make fails* - I also don't like the idea of having to re-do this every time linux updates...

    I looked at the drivers that come with the dongle and there is an install.sh to compile and install the drivers (I assume this is doing a similar thing to the github repo referenced on the above post). This install script also fails**...

    There is also a tar of source code included on the disc...

    I was really hoping for some apt-get command to do this that would track and update the drivers as new updates came out.

    If I get make to work am I really going to have to re-do that each time I get an update?

    Feeling a bit pissed off about this, it was all going really well until now! Thanks

    * make failure output
    
        andy@Andy-Miner:~/git/rtl8811AU_rtl8821A-linux$ make
        make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/4.10.0-33-generic/build M=/home/andy/git/rtl8811AU_rtl8821A-linux  modules
        make[1]: Entering directory '/usr/src/linux-headers-4.10.0-33-generic'
          CC [M]  /home/andy/git/rtl8811AU_rtl8821A-linux/core/rtw_cmd.o
          CC [M]  /home/andy/git/rtl8811AU_rtl8821A-linux/core/rtw_security.o
          CC [M]  /home/andy/git/rtl8811AU_rtl8821A-linux/core/rtw_debug.o
        In file included from /home/andy/git/rtl8811AU_rtl8821A-linux/include/drv_types.h:64:0,
                         from /home/andy/git/rtl8811AU_rtl8821A-linux/core/rtw_debug.c:22:
        /home/andy/git/rtl8811AU_rtl8821A-linux/core/rtw_debug.c: In function ‘dump_drv_version’:
        /home/andy/git/rtl8811AU_rtl8821A-linux/include/rtw_debug.h:187:19: error: void value not ignored as it ought to be
          #define _seqdump seq_printf
                           ^
        /home/andy/git/rtl8811AU_rtl8821A-linux/include/rtw_debug.h:240:7: note: in expansion of macro ‘_seqdump’
            if(_seqdump(sel, fmt, ##arg)) /*rtw_warn_on(1)*/; \
               ^
        /home/andy/git/rtl8811AU_rtl8821A-linux/core/rtw_debug.c:65:2: note: in expansion of macro ‘DBG_871X_SEL_NL’
          DBG_871X_SEL_NL(sel, "%s %s\n", DRV_NAME, DRIVERVERSION);
          ^
        /home/andy/git/rtl8811AU_rtl8821A-linux/core/rtw_debug.c:66:64: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
          DBG_871X_SEL_NL(sel, "build time: %s %s\n", __DATE__, __TIME__);
                                                                        ^
        //snip LOADS of errors
    
        /home/andy/git/rtl8811AU_rtl8821A-linux/include/rtw_debug.h:240:7: note: in expansion of macro ‘_seqdump’
            if(_seqdump(sel, fmt, ##arg)) /*rtw_warn_on(1)*/; \
               ^
        /home/andy/git/rtl8811AU_rtl8821A-linux/core/rtw_debug.c:1221:2: note: in expansion of macro ‘DBG_871X_SEL_NL’
          DBG_871X_SEL_NL(m, "best_channel_24G = %d\n", best_channel_24G);
          ^
        cc1: some warnings being treated as errors
        scripts/Makefile.build:294: recipe for target '/home/andy/git/rtl8811AU_rtl8821A-linux/core/rtw_debug.o' failed
        make[2]: *** [/home/andy/git/rtl8811AU_rtl8821A-linux/core/rtw_debug.o] Error 1
        Makefile:1524: recipe for target '_module_/home/andy/git/rtl8811AU_rtl8821A-linux' failed
        make[1]: *** [_module_/home/andy/git/rtl8811AU_rtl8821A-linux] Error 2
        make[1]: Leaving directory '/usr/src/linux-headers-4.10.0-33-generic'
        Makefile:1323: recipe for target 'modules' failed
        make: *** [modules] Error 2
        andy@Andy-Miner:~/git/rtl8811AU_rtl8821A-linux$
    

    ** install script output from included drivers:

    andy@Andy-Miner:~/Downloads/wifi dongle$ sudo ./install.sh
    ##################################################
    Realtek Wi-Fi driver Auto installation script
    Novembor, 21 2011 v1.1.0
    ##################################################
    Decompress the driver source tar ball:
            rtl8821AU_linux_v4.3.14_13455.20150212_BTCOEX20150128-51.tar.gz
    rtl8821AU_linux_v4.3.14_13455.20150212_BTCOEX20150128-51/
    rtl8821AU_linux_v4.3.14_13455.20150212_BTCOEX20150128-51/core/
    
    //snip - loads of files listed
    
    rtl8821AU_linux_v4.3.14_13455.20150212_BTCOEX20150128-51
    Authentication requested [root] for make clean:
    cd hal/OUTSRC/ ; rm -fr */*.mod.c */*.mod */*.o */.*.cmd */*.ko
    cd hal/OUTSRC/ ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
    cd hal/led ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
    cd hal ; rm -fr */*/*.mod.c */*/*.mod */*/*.o */*/.*.cmd */*/*.ko
    cd hal ; rm -fr */*.mod.c */*.mod */*.o */.*.cmd */*.ko
    cd hal ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
    cd core/efuse ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
    cd core ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
    cd os_dep/linux ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
    cd os_dep ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
    cd platform ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
    rm -fr Module.symvers ; rm -fr Module.markers ; rm -fr modules.order
    rm -fr *.mod.c *.mod *.o .*.cmd *.ko *~
    rm -fr .tmp_versions
    Authentication requested [root] for make driver:
    make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/4.10.0-33-generic/build M=/home/andy/Downloads/wifi dongle/driver/rtl8821AU_linux_v4.3.14_13455.20150212_BTCOEX20150128-51  modules
    make[1]: Entering directory '/usr/src/linux-headers-4.10.0-33-generic'
    arch/x86/Makefile:140: CONFIG_X86_X32 enabled but no binutils support
    make[1]: *** No rule to make target 'dongle/driver/rtl8821AU_linux_v4.3.14_13455.20150212_BTCOEX20150128-51'. Stop.
    make[1]: Leaving directory '/usr/src/linux-headers-4.10.0-33-generic'
    Makefile:1551: recipe for target 'modules' failed
    make: *** [modules] Error 2
    ##################################################
    Compile make driver error: 2
    Please check error Mesg
    ##################################################
    
    • Alen Milakovic
      Alen Milakovic almost 7 years
      Realtek drivers do exist for Linux, but Realtek also tends to make rubbish hardware. I did a quick search, and it looks like your device isn't supported by the kernel, so you'll indeed have to build a third party module, unless someone has already make a package available. And even if they have, it won't be a perfect solution. Recommendation: return your device if possible, and get another one. And next time research the device before purchasing it. Note that there is a SE hardware rec site - hardwarerecs.stackexchange.com and generally people don't mind if you ask in SE chat rooms.
    • Alen Milakovic
      Alen Milakovic almost 7 years
      Ask about hardware recommendations, that is. And it's not hard to get a sense of what hardware devices are well supported. As a rule of thumb, avoid getting anything that doesn't have device drivers in the kernel. There are exceptions to this, but if it is a third party module, make sure it's packaged for Debian/Ubuntu. Otherwise you're going to have a major maintenance headache.
    • Rui F Ribeiro
      Rui F Ribeiro almost 7 years
      realtek? You dont make it working consistently ever. unix.stackexchange.com/questions/252210/… ; it is cheap junk
    • GAD3R
      GAD3R almost 7 years
      Please edit here by adding the output of lsusb and uname -a and sudo dpkg -l linux-headers* | grep ii
    • Roaders
      Roaders almost 7 years
      I don't have the adaptor anymore so can't I'm afraid
  • Rui F Ribeiro
    Rui F Ribeiro almost 7 years
    +1. However do not be surprised with sudden stops or with less than expected speed.
  • Kayofeld
    Kayofeld over 6 years
    Is rtl8812au module going to work for RTL8811AU adapter?