88x2bu: an out of tree Realtek WiFi driver that upstream has quietly replaced
Linux Driver for USB WiFi Adapters that are based on the RTL8812BU and RTL8822BU Chipsets - v5.13.1
At a glance
- What is it?
- 88x2bu is a Linux kernel driver for USB WiFi adapters built on the Realtek RTL8812BU and RTL8822BU chipsets, and the most important thing in its README is a notice saying you probably do not need it, because the in-kernel rtw88 driver is of good quality from kernel 6.12 onwards. What remains is a driver for older kernels, with monitor mode, packet injection and hostapd support.
- Who is it for?
- Adopt 88x2bu if you run a kernel between 5.10 and 6.14 and you have one of the listed Realtek based adapters, and you need the monitor mode, injection or hostapd support that this driver offers. Do not adopt it on a modern kernel, because the README says the in-kernel rtw88 driver is of good quality from 6.12 and is a much better driver, and it says this driver will no longer get API related updates beyond kernel 6.14.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository last received commits 2 days ago.
- What is it written in?
- Mainly C, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The notice at the top says stop using this if you can
The first thing in the README is a notice, and it is unusual for a driver repository to lead with a deprecation. It says an updated standards compliant, in-kernel driver for the rtl8822 and rtl8812bu chipsets is available, and that as of kernel 6.12 it is of good quality. If your distribution uses kernel 6.12 or later, there is no need to install this driver. The in-kernel driver is part of the rtw88 series and is Linux standards compliant, that is mac80211, and the README is blunt that it is a much better driver than this one. It also sets an end date for the work, saying this driver will no longer get API related updates beyond kernel 6.14 unless a user provides them. For kernels earlier than 6.14 there is a path, since it is possible to use the new standards compliant driver by going to the lwfinger/rtw88 repository. And if you do decide to move to the in-kernel driver, you have to remove this one first, with the command the README gives:
sudo sh remove-driver.shThe closing line of the notice is the author's own sign-off, a playful paraphrase asking not what your operating system can do for you, but what you can do for your operating system. That is a good summary of the state of this project in 2026. It is a maintained legacy path for a hardware generation that upstream Linux has now absorbed.
What the driver actually supports
The feature list is a realtek driver list and it is long. On the radio side you get IEEE 802.11 b/g/n/ac, 802.1x, WEP, WPA TKIP and WPA2 AES and mixed mode for PSK and TLS with Radius, and WPA3-SAE in personal mode. In client mode it supports the site survey scan, manual connect and a WPA or WPA2 TLS client, along with power saving modes. Then come the features that make this driver interesting for anyone doing wireless work rather than browsing: Miracast, WiFi-Direct, MU-MIMO, Mesh, Wake on WLAN, Wireshark compatibility, Aircrack-ng compatibility, packet injection, hostapd compatibility, and AP mode DFS channel support. The supported interface modes are managed, monitor, access point, P2P-client and P2P-GO, with links to the author's own monitor mode and bridged access point guides. There is also fine-grained control, with log level, LED, power saving, VHT for 80 MHz channel width in AP mode, AP mode DFS channel control and USB mode control. The one documented omission is hcxdumptool, with a pointer to that tool's documentation, which is a curious gap given the injection support, and the reason is not explained in the README.
The compatibility matrix, which is the most useful section
The README spends more space on what this driver runs on than on what it does, and that is the right allocation for an out of tree driver. Architectures covered are x86 with i386 and i686, x86-64 and amd64, armv6l and armv7l, aarch64, and riscv, with the caveat that other architectures may work but that the author only has the hardware to test the listed ones. Kernels are split into three bands, 5.10 to 5.11 as Realtek's own, 5.12 to 6.14 with community support, and 6.18.4 and later for Debian based distributions only with gcc 15.2, with kernels earlier than 5.10 said to possibly work but neither tested nor supported. Compilers tested are gcc 12, 13 and 14, with gcc 15.2 only for the 6.18.4 and later kernels. The distribution list is a long set of user reports rather than a lab, and the README says so explicitly, noting that this information depends largely on user reports which can be provided through a pull request or a message in Issues. Arch, Armbian, Debian, Fedora, Kali, Manjaro, openSUSE Tumbleweed, Raspberry Pi OS, Ubuntu 24.04 and 24.10, Void and several RHEL releases are listed with their kernel versions.
The parts of the platform that are awkward, spelled out
The README does something few driver projects do, which is to state the exceptions in detail. RHEL and distributions based on it are supported by Red Hat developers because of the way kernel patches are handled there, and the author offers to support knowledgeable RHEL developers who want to merge the required support, while reserving the right to delete that support without notice if it causes problems, with a named current maintainer. Android is supported according to Realtek, and the author will support knowledgeable Android developers who want to merge the required support, most likely instructions on compiling and a Makefile modification or two, and the current Android maintainer is listed as none. OpenWRT is not supported, and the reason given is good: OpenWrt ships its own drivers for USB WiFi adapters with support for chipsets such as the MT7921au and the MT7612u, and it is a challenge to use Realtek based adapters with out of kernel drivers there, so the advice is to use the already supported chipsets. The selection advice for buyers is also specific, and it favours single-state and single-function adapters, since multi-function adapters that combine WiFi and Bluetooth can be problematic.
Installing it: a script, DKMS, and a warning about doing it by hand
The installation section opens with two warnings. The first is that it is recommended to follow the Installation Steps section and to avoid installation by downloading the zip file if at all possible, with the reason stated plainly, that support can only be provided on a best effort basis if those steps are followed. The second is a warning about installing multiple out of kernel drivers for the same device. The repository layout explains the shape of the tooling. There is an `install-driver.sh` and a `remove-driver.sh`, a `dkms.conf` and a `dkms-make.sh` for rebuilding the module against a kernel upgrade, an `edit-options.sh` with a `default-editor.txt` that lets you tweak the configuration before building, and a `88x2bu.conf` file which the README describes as additional documentation. The source tree is laid out the way a vendor driver is, with `core/`, `hal/`, `os_dep/`, `platform/` and `include/`, plus `Kconfig`, `halmac.mk` and `rtl8822b.mk`. The DKMS arrangement is what makes the driver survive kernel updates, which is the main practical reason to use this route at all.
The Makefile is a map of the pain points
Reading the Makefile tells you more about the state of this driver than the feature list does. The build is deliberately quiet, with `-O1` and a long list of warning suppressions, and the list is organised by compiler version, which is the clearest possible signal that the source does not build cleanly against current gcc. There is a block of flags for gcc 12, including `-Wno-address` and a frame size warning suppression, then a block for gcc 13 with `-Wno-stringop-overread`, `-Wno-enum-conversion` and `-Wno-int-in-bool-context`, and a block for gcc 14 with `-Wno-empty-body`. Other flags are behavioural rather than defensive, with LED control enabled through a set of `CONFIG_LED_CONTROL` and `CONFIG_SW_LED` defines, a commented out switch for concurrent mode, and `--strip-debug` in the linker flags. There is also a block that detects the RHEL version by reading `ID_LIKE` and `VERSION_ID` out of `/etc/os-release`, which exists to apply the extra support Red Hat's kernel handling requires. The repository also carries a `docs/` directory, an `FAQ.md` that the README asks you to read before posting issues, and a `supported-device-IDs` file that tells you how to confirm whether this is the right driver for your adapter.
Editorial conclusion
Adopt 88x2bu if you run a kernel between 5.10 and 6.14 and you have one of the listed Realtek based adapters, and you need the monitor mode, injection or hostapd support that this driver offers. Do not adopt it on a modern kernel, because the README says the in-kernel rtw88 driver is of good quality from 6.12 and is a much better driver, and it says this driver will no longer get API related updates beyond kernel 6.14. Before you install, confirm your chipset against the `supported-device-IDs` file and check the kernel and compiler rows in the compatibility section, and use the Installation Steps rather than a zip download, since the author says support is best effort only when those steps are followed. The licence is a custom one that GitHub cannot classify, the last push was on 2026-09-11, and the repository publishes no GitHub releases.
Frequently asked questions
Do I still need the 88x2bu driver on a modern Linux kernel?
Probably not. The README says an updated mac80211 standards compliant in-kernel driver for these chipsets is of good quality as of kernel 6.12, that it is much better than this one, and that you need this driver only if your distribution uses an older kernel. It also says this driver will no longer get API related updates beyond kernel 6.14 unless a user provides them.
How do I remove this driver before switching to the in-kernel one?
The README says to remove the driver in this repository first, and gives the command `sudo sh remove-driver.sh`. The in-kernel alternative is the rtw88 series, and for kernels before 6.14 it points at the lwfinger/rtw88 repository.
Which chipsets and adapters does 88x2bu support?
The driver targets USB adapters on the Realtek RTL8812BU and RTL8822BU chipsets, and the README lists compatible devices including the ALFA AWUS036ACU, ASUS AC1300 and AC53 Nano, Cudy WU1400, several Edimax EW-7822 variants, Linksys WUSB6300 V2, NetGear A6150 and TP-Link Archer T4U version 3. The `supported-device-IDs` file explains how to confirm the driver matches your adapter.
Does the driver support monitor mode and packet injection?
Yes. The feature list includes Aircrack-ng compatibility, packet injection, Wireshark compatibility and hostapd compatibility, and the supported interface modes are managed, monitor, access point, P2P-client and P2P-GO. The README notes that hcxdumptool is not supported.
How is the driver installed?
The README recommends following its Installation Steps and warns against installing by downloading the zip file, because support is best effort only when those steps are followed. The repository ships `install-driver.sh`, `remove-driver.sh` and DKMS configuration so the module is rebuilt when the kernel is upgraded, and an `edit-options.sh` helper for changing options before building.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/morrownr-88x2bu-20210702)Was this useful?