2021-11-02 23:20:23 +00:00
# REALTEK RTL88x2B USB Linux Driver
2024-07-11 22:42:07 +00:00
**Current Driver Version**: 5.13.1-30
2024-07-11 23:15:30 +00:00
**Support Kernel**: 2.6.24 ~ 6.10 (with unofficial patches)
2022-05-23 12:02:51 +00:00
Linux in-tree rtw8822bu driver is working in process, check [this ](https://lore.kernel.org/lkml/20220518082318.3898514-1-s.hauer@pengutronix.de/ ) patchset.
2019-11-15 00:03:05 +00:00
2021-11-02 23:20:23 +00:00
Official release note please check ReleaseNotes.pdf
2019-11-15 00:03:05 +00:00
**Note:** if you believe your device is **RTL8812BU** or **RTL8822BU** but after loaded the module no NIC shows up, the device ID maybe not in the driver whitelist. In this case please submit a new issue with `lsusb` result, and your device name, brand, website, etc.
2020-01-24 08:20:42 +00:00
2022-05-29 20:45:52 +00:00
## Linux 5.18+ and RTW88 Driver
Starting from Linux 5.18, some distributions have added experimental RTW88 USB support (include RTW88x2BU support).
It is not yet stable but if it works well on your system, then you no longer need this driver.
But if it doesn't work or is unstable, you need to manually blacklist it because it has a higher loading priority than this external drivers.
Check the currently loaded module using `lsmod` . If you see `rtw88_core` , `rtw88_usb` , or any name beginning with `rtw88_` then you are using the RTW88 driver.
If you see `88x2bu` then you are using this RTW88x2BU driver.
To blacklist RTW88 8822bu USB driver, run the following command:
```
echo "blacklist rtw88_8822bu" > /etc/modprobe.d/rtw8822bu.conf
```
And reboot your system.
2020-07-22 20:21:43 +00:00
## Supported Devices
2021-12-26 14:59:05 +00:00
< details >
< summary >
ASUS
< / summary >
2022-10-04 03:01:58 +00:00
2020-07-22 20:19:11 +00:00
* ASUS AC1300 USB-AC55 B1
* ASUS U2
2021-12-26 14:59:05 +00:00
* ASUS USB-AC53 Nano
2021-08-28 10:51:42 +00:00
* ASUS USB-AC58
2021-12-26 14:59:05 +00:00
< / details >
< details >
< summary >
Dlink
< / summary >
2022-10-04 03:01:58 +00:00
2020-07-22 20:19:11 +00:00
* Dlink - DWA-181
* Dlink - DWA-182
2022-05-07 02:30:48 +00:00
* Dlink - DWA-183 D Version
2022-05-15 09:07:21 +00:00
* Dlink - DWA-185
2022-07-30 16:23:27 +00:00
* Dlink - DWA-T185
2021-12-26 14:59:05 +00:00
< / details >
< details >
< summary >
Edimax
< / summary >
2022-10-04 03:01:58 +00:00
2020-07-22 20:19:11 +00:00
* Edimax EW-7822ULC
* Edimax EW-7822UTC
2021-07-20 15:38:57 +00:00
* Edimax EW-7822UAD
2021-12-26 14:59:05 +00:00
< / details >
2024-07-11 22:54:25 +00:00
< details >
< summary >
Mercusys
< / summary >
* Mercusys MA30N
* Mercusys MA30H V2
< / details >
2021-12-26 14:59:05 +00:00
< details >
< summary >
NetGear
< / summary >
2022-10-04 03:01:58 +00:00
2020-08-02 11:16:32 +00:00
* NetGear A6150
2021-12-26 14:59:05 +00:00
< / details >
< details >
< summary >
TP-Link
< / summary >
2022-10-04 03:01:58 +00:00
2020-07-22 20:19:11 +00:00
* TP-Link Archer T3U
2020-08-02 11:16:32 +00:00
* TP-Link Archer T3U Plus
2022-12-11 13:38:11 +00:00
* TP-Link Archer T3U Nano
2020-07-22 20:19:11 +00:00
* TP-Link Archer T4U V3
2021-12-30 17:36:18 +00:00
* TP-Link Archer T4U Plus
2021-12-26 14:59:05 +00:00
< / details >
< details >
< summary >
TRENDnet
< / summary >
2022-10-04 03:01:58 +00:00
2020-08-10 00:37:18 +00:00
* TRENDnet TEW-808UBM
2021-12-26 14:59:05 +00:00
< / details >
2022-10-04 03:01:58 +00:00
2021-12-26 14:59:05 +00:00
< details >
< summary >
ZYXEL
< / summary >
2022-10-04 03:01:58 +00:00
2021-10-14 21:42:35 +00:00
* ZYXEL NWD6602
2021-12-26 14:59:05 +00:00
< / details >
2022-10-04 03:01:58 +00:00
2020-07-22 20:20:42 +00:00
2020-07-22 20:19:11 +00:00
And more.
2020-01-24 08:20:42 +00:00
# How to use this kernel module
2021-02-18 13:45:30 +00:00
* Ensure you have C compiler & toolchains, e.g. `build-essential` for Debian/Ubuntu, `base-devel` for Arch, etc.
* Make sure you have installed the corresponding kernel headers
2020-01-24 08:20:42 +00:00
* All commands need to be run in the driver directory
2020-10-13 02:06:30 +00:00
* You need rebuild the kernel module everytime you update/change the kernel if you are not using DKMS
2021-02-18 13:45:30 +00:00
2020-10-13 02:06:30 +00:00
## Manual installation
### Clean
2024-12-10 13:20:05 +00:00
* Make sure you clean old build files before building new ones
2020-10-13 02:06:30 +00:00
```
make clean
```
### Building module for current running kernel
2020-01-24 08:20:42 +00:00
```
make
```
2020-10-13 02:06:30 +00:00
### Building module for other kernels
```
make KSRC=/lib/modules/YOUR_KERNEL_VERSION/build
```
### Installing
2020-01-24 08:20:42 +00:00
```
sudo make install
```
2020-10-13 02:06:30 +00:00
### Uninstalling
2020-01-24 08:20:42 +00:00
```
sudo make uninstall
```
2024-07-27 21:59:53 +00:00
## Using DKMS (Dynamic Kernel Module Support)
2024-12-10 13:20:05 +00:00
Allows smooth integration with kernel updates.
2024-07-27 21:59:53 +00:00
### Initial DKMS installation
2020-10-13 02:06:30 +00:00
```
git clone "https://github.com/RinCat/RTL88x2BU-Linux-Driver.git" /usr/src/rtl88x2bu-git
sed -i 's/PACKAGE_VERSION="@PKGVER@"/PACKAGE_VERSION="git"/g' /usr/src/rtl88x2bu-git/dkms.conf
dkms add -m rtl88x2bu -v git
dkms autoinstall
```
2024-07-27 21:59:53 +00:00
### Upgrading the driver, when already under DKMS
```
cd /usr/src/rtl88x2bu-git
git fetch
git rebase origin/master --autostash
dkms build rtl88x2bu/git --force
dkms install rtl88x2bu/git --force
```
2020-10-13 02:06:30 +00:00
2020-08-05 09:18:06 +00:00
# USB 3.0 Support
2024-12-10 13:20:05 +00:00
You can try using `modprobe 88x2bu rtw_switch_usb_mode=1` to force the adapter to run under USB 3.0. But if your adapter/port/motherboard does not support it, the driver will be stuck in a restart loop. Remove the parameter and reload the driver to restore. Alternatively, `modprobe 88x2bu rtw_switch_usb_mode=2` runs it as a USB 2 device.
2021-04-28 23:40:40 +00:00
2024-12-10 13:20:05 +00:00
Notice: If you had already loaded the module, use `modprobe -r 88x2bu` to unload it first.
2021-04-28 23:40:40 +00:00
2021-08-09 13:56:32 +00:00
If you want to force a given mode permanently (even when switching the adapter across devices), create the file `/etc/modprobe.d/99-RTL88x2BU.conf` with the following content:
`options 88x2bu rtw_switch_usb_mode=1`
2020-01-24 08:20:42 +00:00
2020-09-20 23:25:40 +00:00
# Debug
2024-12-10 13:20:05 +00:00
To set debug log use `echo 5 > /proc/net/rtl88x2bu/log_level` or `modprobe 88x2bu rtw_drv_log_level=5`
2020-09-20 23:25:40 +00:00
2020-01-24 08:20:42 +00:00
# Distribution
* Archlinux AUR https://aur.archlinux.org/packages/rtl88x2bu-dkms-git/