Skip to content

Add RTL8922A Bluetooth support via DKMS module - #9

Open
hieusats wants to merge 1 commit into
a5a5aa555oo:6.6-ltsfrom
whelbook:feat/bluetooth-rtl8922a
Open

Add RTL8922A Bluetooth support via DKMS module#9
hieusats wants to merge 1 commit into
a5a5aa555oo:6.6-ltsfrom
whelbook:feat/bluetooth-rtl8922a

Conversation

@hieusats

@hieusats hieusats commented Apr 8, 2026

Copy link
Copy Markdown

Summary

Add Bluetooth driver support for Realtek RTL8922A chip (USB 0bda:8922), commonly found on GIGABYTE/ASUS motherboards with RTL8922A WiFi+BT combo.

Problem

The stock btrtl driver in kernel 6.8 does not recognize RTL8922A:

Bluetooth: hci0: RTL: assuming no firmware upload needed

Adapter appears UP/RUNNING but cannot scan/discover any devices. See #6.

Solution

Backport btrtl and btusb patches from kernel 6.12:

  • btrtl.c: Add CHIP_ID_8922A, firmware loading (rtl8922au_fw/rtl8922au_config), WBS quirk, and setup case for RTL_ROM_LMP_8922A
  • btusb.c: Add USB device ID 0bda:8922 with BTUSB_REALTEK flag
  • Firmware: rtl8922au_fw.bin + rtl8922au_config.bin from linux-firmware upstream
  • install_bluetooth.sh: One-click DKMS install script

Installation

chmod +x install_bluetooth.sh
sudo -S -p '' ./install_bluetooth.sh

Tested on

  • Ubuntu 22.04, kernel 6.8.0-107-generic (HWE)
  • GIGABYTE AORUS motherboard with RTL8922A Bluetooth
  • hcitool scan successfully finds nearby devices after patch

Closes #6

Add btrtl and btusb driver patches backported from kernel 6.12 to
support the Realtek RTL8922A Bluetooth chip (USB 0bda:8922).

This chip is commonly found on GIGABYTE/ASUS motherboards with
RTL8922A WiFi+BT combo. The stock kernel 6.8 btrtl driver does not
recognize this chip, causing firmware upload to be skipped and
Bluetooth scan to fail silently.

Changes:
- btrtl.c: Add CHIP_ID_8922A, firmware loading (rtl8922au_fw/config),
  WBS quirk, and setup_realtek case for RTL_ROM_LMP_8922A
- btusb.c: Add USB device ID 0bda:8922 with BTUSB_REALTEK flag
- firmware/rtl8922au_fw.bin: Firmware from linux-firmware upstream
- firmware/rtl8922au_config.bin: Config from linux-firmware upstream
- Makefile.bluetooth: Separate build for bluetooth modules
- install_bluetooth.sh: One-click install script for DKMS setup

Upstream references:
- btrtl 8922A support: torvalds/linux@v6.12 drivers/bluetooth/btrtl.c
- btusb 8922A USB ID: torvalds/linux@v6.12 drivers/bluetooth/btusb.c
- Firmware: git.kernel.org/.../linux-firmware.git/rtl_bt/

Closes a5a5aa555oo#6
@a5a5aa555oo

a5a5aa555oo commented Apr 8, 2026

Copy link
Copy Markdown
Owner

Hi,

Thanks for your work. But I don't think this is meaningful, Does Wi-Fi work when you are running kernel 6.8? You should upgrade to Ubuntu 24.04+ which provides a newer kernel so both Wi-Fi and Bluetooth will work out of the box.

btw, there is a bluetooth driver already.
https://github.com/a5a5aa555oo/realtek_bluetooth_ubuntu_6.8

@hieusats

hieusats commented Apr 8, 2026

Copy link
Copy Markdown
Author

Hi @a5a5aa555oo,

Thanks for the response. I understand your point, but I'd like to clarify a few things:

  1. I need to stay on Ubuntu 22.04 — upgrading to 24.04 is not an option for my setup right now.

  2. The situation with your rtw89 repo — Initially, I had issues with both WiFi and Bluetooth on Ubuntu 22.04 with kernel 6.8. Using your rtw89 WiFi driver repo fixed the WiFi, but Bluetooth still didn't work.

  3. Regarding https://github.com/a5a5aa555oo/realtek_bluetooth_ubuntu_6.8 — I actually couldn't find/access this repo. It might have been made private or deleted.

  4. Why this PR exists — Since I couldn't find that bluetooth repo, I backported the btrtl and btusb patches from kernel 6.12 myself and created a DKMS module. It's been working stably on my system (Ubuntu 22.04, kernel 6.8.0-107-generic, GIGABYTE AORUS motherboard with RTL8922A), so I decided to open this PR in case others running Ubuntu 22.04 with the same hardware find it useful.

I understand if you'd prefer not to merge this into this repo since it's WiFi-focused, but I wanted to share the fix for others who might be stuck on the same setup.

@a5a5aa555oo

Copy link
Copy Markdown
Owner

Hi @a5a5aa555oo,

Thanks for the response. I understand your point, but I'd like to clarify a few things:

  1. I need to stay on Ubuntu 22.04 — upgrading to 24.04 is not an option for my setup right now.
  2. The situation with your rtw89 repo — Initially, I had issues with both WiFi and Bluetooth on Ubuntu 22.04 with kernel 6.8. Using your rtw89 WiFi driver repo fixed the WiFi, but Bluetooth still didn't work.

The rtw89 driver in this repo DOES NOT support kernel 6.8 and RTL8922AE, I guess the rtw89 driver you are using comes from https://github.com/a5a5aa555oo/rtw89-morrownr or https://github.com/morrownr/rtw89?

  1. Regarding https://github.com/a5a5aa555oo/realtek_bluetooth_ubuntu_6.8 — I actually couldn't find/access this repo. It might have been made private or deleted.

It is public.

$ git clone https://github.com/a5a5aa555oo/realtek_bluetooth_ubuntu_6.8
Cloning into 'realtek_bluetooth_ubuntu_6.8'...
remote: Enumerating objects: 377, done.
remote: Counting objects: 100% (377/377), done.
remote: Compressing objects: 100% (197/197), done.
remote: Total 377 (delta 169), reused 372 (delta 164), pack-reused 0 (from 0)
Receiving objects: 100% (377/377), 1.37 MiB | 572.00 KiB/s, done.
Resolving deltas: 100% (169/169), done.

what does git clone https://github.com/a5a5aa555oo/realtek_bluetooth_ubuntu_6.8 say?

  1. Why this PR exists — Since I couldn't find that bluetooth repo, I backported the btrtl and btusb patches from kernel 6.12 myself and created a DKMS module. It's been working stably on my system (Ubuntu 22.04, kernel 6.8.0-107-generic, GIGABYTE AORUS motherboard with RTL8922A), so I decided to open this PR in case others running Ubuntu 22.04 with the same hardware find it useful.

I understand if you'd prefer not to merge this into this repo since it's WiFi-focused, but I wanted to share the fix for others who might be stuck on the same setup.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bluetooth not working on Asus Prime B650M-A AX6 II cyberpowerpc model CS4500200MB492129

2 participants