Optimized Realtek rtw88 drivers with a primary focus on RTL8723B (PCIe) and RTL8723BS (SDIO) support.
This repository is a downstream fork of the rtw88 driver, specifically maintained to bring stable support for the RTL8723B(S) chipset series to modern Linux kernels and prepare it for upstreaming.
🌟 The Star Chipset: RTL8723B / RTL8723BS
While rtw88 supports many chips, this repo prioritizes the development and debugging of the 8723B series. The SDIO version (8723BS) is notorious for bus timeouts and scanning failures—this project aims to fix those issues through improved power sequencing and refined H2C command handling.
- SDIO: RTL8723BS (Active Development), RTL8723CS, RTL8723DS, RTL8821CS, RTL8822BS, RTL8822CS
- PCIe: RTL8723BE, RTL8723DE, RTL8812AE, RTL8814AE, RTL8821AE, RTL8821CE, RTL8822BE, RTL8822CE
- USB : RTL8723DU, RTL8811AU/CU, RTL8812AU/BU/CU, RTL8814AU, RTL8821AU/CU, RTL8822BU/CU
You must install your kernel headers and build tools before compiling.
- Arch Linux:
sudo pacman -S base-devel git linux-headers - Ubuntu / Kali:
sudo apt update && sudo apt install linux-headers-$(uname -r) build-essential git - Fedora:
sudo dnf install kernel-devel git - Raspberry Pi OS:
sudo apt install raspberrypi-kernel-headers build-essential git
In case you are testing for development process insmoding .ko files is recommended way to load the driver.
DKMS automatically rebuilds the driver when you update your kernel.
git clone https://github.com/MocLG/rtw88-rtl8723bs.git
cd rtw88-rtl8723bs
sudo dkms install .
sudo make install_fw
sudo cp rtw88.conf /etc/modprobe.d/If you have Secure Boot enabled, you must enroll the signing key:
sudo mokutil --import /var/lib/dkms/mok.pubWhen reporting a bug, please include:
Output of uname -r (Kernel version)
Your hardware platform (e.g., PC, PinePhone, Samsung Note 20)
And follow these steps:
Run this as root to ensure the driver actually outputs the messages you need:
echo 0xFFFFFFFF | sudo tee /sys/module/rtw_core/parameters/debug_maskOpen a terminal and run this command. It will clear the old logs and start saving new ones to a file:
sudo dmesg -C
sudo dmesg -w | tee rtw88_debug.log(Leave this running in the background)
In a different terminal, run the commands that cause the "Scanning Failed" error:
sudo ip link set wlan0 up
sudo iw dev wlan0 scanOnce the scan fails, go back to the first terminal, hit Ctrl+C, and provide the rtw88_debug.log in github issue together with other info requested above(and your message if you have it).
Licensed under Dual BSD/GPL-2.0.
Maintainer: Luka Gejak (MocLG)
Original 8723B/BS Logic: Michael Straube
Upstream Core: Larry Finger and the rtw88 community.