Realtek RTL8761BをUbuntu 24.04(kernel 6.8)で使えるようにする記事です
既存の方法
こちらの記事で紹介されている方法は
20200909_LINUX_BT_DRIVER_KERNEL_5.7_COEX_v0202.zip
からカーネルモジュール(rtk_btusb.ko)をビルドして利用しています
動作には問題ありませんがメンテナンスされていないコードを使い続けること、カーネルのアップデートごとにビルドを必要とすることが個人的に問題点です(dkmsで自動化すればいいんですけど)
結論
ファームウェアを入れ替えて動作確認したところ
- ファームウェアはrtl8761buではなく rtl8761b を使う
- ファームウェアのバージョンは最新版ではなく 0x0CA9_8A6B を使う
これで私のところでは問題なく動いています
ファームウェアのダウンロード
sudo wget -O /lib/firmware/rtl_bt/rtl8761bu_fw.bin "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/rtl_bt/rtl8761b_fw.bin?id=0e85e606733fccd3dd0a8883545a30b64af59755"
sudo wget -O /lib/firmware/rtl_bt/rtl8761bu_config.bin "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/rtl_bt/rtl8761b_config.bin?id=7118987b2f7aff733573121607bc9640a4880296"
再起動やbtrtlモジュールのリロードで
Bluetooth: hci0: RTL: loading rtl_bt/rtl8761bu_fw.bin
Bluetooth: hci0: RTL: loading rtl_bt/rtl8761bu_config.bin
Bluetooth: hci0: RTL: cfg_sz 25, total sz 29949
Bluetooth: hci0: RTL: fw version 0x0ca98a6b
dmesg がこうなっていればOK
DebianやUbuntu 20.04 ではパッケージのファイルを上書きすることになるので
/etc/dpkg/dpkg.cfg.d/rtl8761b
path-exclude=/lib/firmware/rtl_bt/rtl8761bu_fw.bin
path-exclude=/lib/firmware/rtl_bt/rtl8761bu_config.bin
アップデートで変更されないようにすると良いと思います