🌟 Up-to-Date Drivers: The code in this repo stays in sync with the wireless-next
repository, with additional changes to accommodate kernel API changes over time.
📌 Note: The wireless-next
repo contains the code set for the next kernel version. At present, kernel 6.5 is out, kernel mainline repo is about to become 6.6-rc1, and wireless-next
contains the code that will be in kernel 6.7.
Compatible with Linux kernel versions 5.4 and newer as long as your distro hasn't modified any kernel APIs.
- PCIe: RTW8822BE, RTW8822CE, RTW8821CE, RTW8723DE
- USB: RTW8822BU, RTW8822CU, RTW8821CU, RTW8723DU
- SDIO: RTW8822BS, RTW8822CS, RTW8821CS, RTW8723DS
Are you looking for support for these drivers? 🔎
# We do not support the following:
RTL8188EE
RTL8192CE
RTL8192CU
RTL8192DE
RTL8192EE
RTL8192SE
RTL8723AE
RTL8723BE
RTL8821AE
Check your current kernel or visit the Backports Project.
These drivers won't build for kernels older than 5.4. Submit GitHub issues only for build errors.
For operational problems, reach out to Realtek engineers via E-mail at linux-wireless@vger.kernel.org.
Report any build problems and see the FAQ at bottom of this README.
make[1]: *** /lib/modules/5.17.5-300.fc36.x86_64/build: No such file or directory.
Stop.
This indicates you have NOT installed the kernel headers.
Use the following instructions for that step.
Below are prerequisites for common Linux distributions before you do a basic installation or installation with SecureBoot:
sudo apt-get update
sudo apt-get install make gcc linux-headers-$(uname -r) build-essential git
sudo dnf install kernel-headers kernel-devel
sudo dnf group install "C Development Tools and Libraries"
sudo zypper install make gcc kernel-devel kernel-default-devel git libopenssl-devel
git clone https://aur.archlinux.org/rtw88-dkms-git.git
cd rtw88-dkms-git
makepkg -sri
git clone https://github.com/lwfinger/rtw88.git
cd rtw88
make
sudo make install
git clone git://github.com/lwfinger/rtw88.git
cd rtw88
make
sudo make sign-install
You will be prompted a password, please keep it in mind and use it in next steps.
Reboot to activate the new installed module, then 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 bebootable. 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
.
Below is important information for using this driver.
If your system has ANY conflicting drivers installed, you must blacklist them as well. For kernels 5.6 and newer, this will include drivers such as rtw88_xxxx. Here is a useful link on how to blacklist a module.
Once you have reached this point, then reboot. Use the command lsmod | grep rtw
and check if there are any
conflicting drivers. The correct ones are:
rtw_8723de rtw_8723du rtw_8723d rtw_8822be rtw_8822bu rtw8822bs rtw_8822b rtw_8822ce rtw_8822cu rtw_8822cs rtw_8821ce rtw_8821cu rtw_8821cs rtw_8822c rtw_8723ds rtw_core rtw_pci
If you have other modules installed, see if you blacklisted them correctly.
Some BIOSs have trouble changing power state from D3hot to D0. If you have this problem, then:
sudo cp suspend_rtw8822be /usr/lib/systemd/system-sleep/.
That script will unload the driver before sleep or hibernation, and reload it following resumption. If you have some device other than the 8822be, edit the script before copying it.
sudo modprobe -r rtw_8723de # This unloads the module
sudo modprobe -r rtw_core
# Due to some pecularities in the modprobe utility, two steps are required.
sudo modprobe rtw_8723de # This loads the module
# Only a single modprobe call is required to load.
sudo nano /etc/modprobe.d/<dev_name>.conf
There, enter the line below:
options <device_name> <<driver_option_name>>=<value>
The available options for rtw_pci are disable_msi and disable_aspm. The available options for rtw_core are lps_deep_mode, support_bf, and debug_mask.
When your kernel updates, run:
cd ~/rtw88
git pull
make
sudo make install
💡 Remember, every new kernel requires this step - no exceptions.
Below is a set Frequently Asked Questions when using this repository.
When you have problems where the driver builds and loads correctly, but it fails to work, a GitHub issue on this repository is NOT the place to report it.
We have no idea about the internal workings of any of the chips, and the Realtek engineers who do will not read these issues. To reach them, send E-mail to linux-wireless@vger.kernel.org.
Be sure to include a detailed description of any messages in the kernel logs and any steps that you have taken to analyze or fix the problem. If your description is not complete, you are unlikely to get the help you need.
Start with this page for guidance: https://wireless.wiki.kernel.org/en/users/support
Ubuntu often modifies kernel APIs, which can cause build issues. You'll need to manually adjust the source code or look for solutions specific to your distribution. We cannot support these types of issues.
You will need to pull the latest code from this repository and recompile the driver. Follow the steps in the Maintenance section.
Yes, this repository provides a way to sign the kernel modules to be compatible with Secure Boot. Check out the Installation with SecureBoot section.
For feature requests like supporting a new card, you should reach out to Realtek engineers via E-mail at linux-wireless@vger.kernel.org.