USB wifi device wth rtl8812au chipset is not working

I have USB wifi device with RTL8812AU chipset. This was working fine in OSMC running on Rpi3, but stopped working after 2019.11 update. I installed OSMC from scratch. Still the device is not working. Combed through the forums. Most of posts say driver is included. But not sure why its not working. I have tested the device on other linux and windows machines, it works fine.

Below is the lsusb output:

osmc@osmc:~$ lsusb
Bus 001 Device 005: ID 174c:55aa ASMedia Technology Inc. Name: ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge
Bus 001 Device 006: ID 0bda:8812 Realtek Semiconductor Corp. RTL8812AU 802.11a/b/g/n/ac 2T2R DB WLAN Adapter
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

And dmesg output:

Please check and let me know how to fix this.


The driver was removed in the November update as we updated to 4.19

I was able to successfully build the driver for rtl8812au as describe below.

  1. Get OSMC kernel source
sudo apt-get install  rbp2-headers-$(uname -r)
  1. Create soft link to kernel source
sudo ln -s /usr/src/rbp2-headers-$(uname -r) /lib/modules/$(uname -r)/build
  1. Clone rtl8812au source code and build
osmc@osmc:~/rtl8812au$ make
make ARCH=arm CROSS_COMPILE= -C /lib/modules/4.19.55-6-osmc/build M=/home/osmc/rtl8812au  modules
make[1]: Entering directory '/usr/src/rbp2-headers-4.19.55-6-osmc'
  CC [M]  /home/osmc/rtl8812au/core/rtw_cmd.o
In file included from ./include/linux/compat.h:16:0,
                 from ./include/linux/ethtool.h:17,
                 from ./include/linux/netdevice.h:41,
                 from /home/osmc/rtl8812au/include/osdep_service_linux.h:35,
                 from /home/osmc/rtl8812au/include/osdep_service.h:41,
                 from /home/osmc/rtl8812au/include/drv_types.h:32,
                 from /home/osmc/rtl8812au/core/rtw_cmd.c:22:
./include/linux/if.h:28:54: fatal error: sys/socket.h: No such file or directory
 #include <sys/socket.h>   /* for struct sockaddr.  */
compilation terminated.

  1. The reason for above build failure is some issue with socket.h included as part of osmc source files. I followed instructions given in Has anybody tried to install Wireguard? - #25 by rstein to download source from and replace few inlcude files

Following are the steps:

tar xf linux-4.19.55.tar.xz
  • Delete files in osmc include directory
sudo rm -r /usr/src/rbp2-headers-`uname -r`/include/linux/*
sudo cp -ar linux-4.19.55/include/linux/* /usr/src/rbp2-headers-`uname -r`/include/linux/
  1. Build rtl8812au driver
make clean
sudo ./

Driver built by above process is working fine.

1 Like

thank you
its so annoying that u still need todo this.
i wonder if osmc ever gets there headers fixed…

I am happy to accept a PR to improve things.

I tried to follow T-1000 guide to install the driver for Archer T2U Plus dongle, although it worked, the dongle only sees and connects to 2.4GHz networks. I then did exactly the same but used this driver instead GitHub - nlkguy/archer-t2u-plus-linux: TP-Link Archer T2U Plus / AC600 High Gain USB Wifi Adapter Review & Driver installation Guide for various platforms. and everything is working correctly. No problems with 5GHz networks.