/rtl8822bu

RTL8822BU Wireless Driver for Linux

Primary LanguageC

8822BU Wifi driver for Linux

Driver for 802.11ac USB Adapter with RTL8822BU chipset Only STA/Monitor Mode is supported, no AP.

A few known wireless cards that use this driver include

Platform tested

Linux Mint Tricia 19.3 Currently tested on X86_64 and ARM platform(s) only, cross compile possible.

Update 09/05/2020 : Test on last LTS Kernel 4.15.0-99-generic

Card name (lsusb) : ID 0bda:0129 / Realtek Semiconductor Corp. RTS5129 Card Reader Controller

How to install

DKMS support (recommended)

sudo apt-get install git dkms
mkdir ~/rtl8822
cd ~/rtl8822
git clone https://github.com/akred/rtl8822bu.git
sudo dkms add ./rtl8822bu
sudo dkms install 8822bu/1.1
sudo modprobe 8822bu

Manual installation

For compiling type make in source dir

To install the firmware files sudo make install

NOTES

To Unload driver you may need to disconnect the device

If the driver fails building consult your distro how to install the kernel sources and build an external module.

Troubleshooting

No wifi after suspend

It is due to the fact that the module is not well supported For this, you need first to check by lauching this 2 commands :

sudo /sbin/modprobe -r 8822bu
sudo /sbin/modprobe  8822bu

If the wifi works again, you can create a service to automate this command at each suspend/wakeup

sudo -H xed /etc/systemd/system/rtl8822bu-reload.service

Put this line inside this file and save it :

[Unit]
Description=Reload rtl8822bu wireless lan driver after system resume
After=hibernate.target suspend.target hybrid-sleep.target

[Service]
Type=oneshot
ExecStart=/sbin/modprobe -r 8822bu
ExecStart=/sbin/modprobe 8822bu

[Install]
WantedBy=hibernate.target suspend.target hybrid-sleep.target

⚠️ After saving the file, do not forget to launch the command :

systemctl enable rtl8822bu-reload.service

MISC

This driver allows use of wpa_supplicant by using the nl80211 driver wpa_supplicant -Dnl80211

If installing on Rasberry Pi or other "armv71" devices, edit the Makefile and set CONFIG_PLATFORM_ARM_RPI = y and CONFIG_PLATFORM_I386_PC = n

Doc Sources :

⚠️ Secure boot

If you update recently (2019) your kernel, you may have to sign again the driver. To do it, you can follow this stackoverflow post or disable the UEFI secure boot.