This repo is was started with the code from the Realtek USB driver RTL8852AU_WiFi_linux_v1.15.0.1-0-g487ee886.20210714. The current code improves on the Realtek code by reworking the debug output to avoid spamming the logs. In the current settings, messages from RTW_ERR(), RTW_WARNING(), and RTW_WARNING() will be output.
If you want more output, increase the value of CONFIG_RTW_LOG_LEVEL in Makefile. This parameter should probably be one that can be set at module load time, but that is a matter for another time.
The driver supports rtl8832au/rtl8852au chipsets.
This driver currently handles the following devices:
- BUFFALO WI-U3-1200AX2(/N) with USB ID 0411:0312
- ASUS USB-AX56 with USB ID 0b05:1997
- ASUS USB-AX56 with USB ID 0b05:1a62
- EDUP EP-AX1696GS with USB ID 0bda:8832
- Fenvi FU-AX1800P with USB ID 0bda:885c
- Realtek Demo Board with USB ID 0bda:8832
- Realtek Demo Board with USB ID 0bda:885a
- Realtek Demo Board with USB ID 0bda:885c
- D-Link DWA-X1850 with USB ID 2001:3321
- TP-Link AX1800 with USB ID 2357:013f or 2357:0141
- ipTIME AX2000U with USB ID 0bda:8832
- ELECOM WDC-X1201DU3 with USB ID 056e:4020
The D-Link DWA-X1850 comes with a configuration that appears to be a USB disk, which contains a Windows driver. If a 'lsusb' command shows the ID 0bda:1a2b, then this disk is mounted. The way to avoid this is to edit either file /usr/lib/udev/rules.d/40-usb_modeswitch.rules, or /lib/udev/rules.d/40-usb_modeswitch.rules, whichever is on your system, and add the following lines:
ATTR{idVendor}=="0bda", ATTR{idProduct}=="1a2b", RUN+="usb_modeswitch '/%k'"
You will need to install "make", "gcc", "kernel headers", "kernel build essentials", and "git".
For Ubuntu: You can install them with the following command
sudo apt-get update
sudo apt-get install make gcc linux-headers-$(uname -r) build-essential git
For Fedora: You can install them with the following command
sudo dnf install kernel-headers kernel-devel
sudo dnf group install "C Development Tools and Libraries"
For openSUSE: Install necessary headers with
sudo zypper install make gcc kernel-devel kernel-default-devel git libopenssl-devel
For Arch: After installing the necessary kernel headers and base-devel,
git clone https://aur.archlinux.org/rtw89-dkms-git.git
cd rtw89-dkms-git
makepkg -sri
If any of the packages above are not found check if your distro installs them like that.
When a USB device is plugged in, or detected at boot, this rule causes the utulity usb_modeswitch to unload any 0bda:1a2b devices that it finds. If you have a device with different ID, change the rule accordingly.
The build this driver, do the following:
For all distros:
git clone https://github.com/lwfinger/rtl8852au.git
cd rtl8852au
make
sudo make install
When you get a new kernel, you will need to rebuild the driver. Do the following:
cd rtl8852au
git pull
make
sudo make install
When your kernel is updated, then do a 'git pull' and redo the make commands.
For all distros:
git clone git://github.com/lwfinger/rtl8852au.git
cd rtl8852au
make
sudo make sign-install
You will be promted for a password, please keep it in mind and use it in next steps.
Reboot to activate the new installed module. In the MOK managerment screen:
- Select "Enroll key" and enroll the key created by above sign-install step
- When promted, enter the password you entered when create sign key.
If you enter wrong password, your computer won't not rebootable. In this case, use the BOOT menu from your BIOS, to boot into your OS then do below steps:
sudo mokutil --reset
Restart your computer Use BOOT menu from BIOS to boot into your OS In the MOK managerment screen, select reset MOK list Reboot then retry from the step make sign-install
DKMS automatically rebuilds the driver module for each kernel update. (So that you don't have to make; make install
at every update)
Build and Installation (For currently active kernel)
# Add module to dkms tree
sudo dkms add .
# Build
sudo dkms build rtl8852au -v 1.15.0.1
# Install
sudo dkms install rtl8852au -v 1.15.0.1
# Check installation
modinfo 8852au
# Load driver
modprobe 8852au
Larry Finger