Bluetooth can't see any devices to even begin trying to pair (Ubuntu 23.04)
I am dual-booting Lunar Lobster Ubuntu 23.04 and Windows 11.
I have Razer Opus X bluetooth wireless headset. It connects perfectly fine on my mobile device, and when I boot with Windows 11.
Bluetooth is on, and bluez is installed.
I use a Realtek Bluetooth radio (USB dongle). Its ID is 6655::8771. From my understanding, this means it uses rtl8761b_fw.bin and rtl8761_config.bin to work bluetooth. It is also my undestanding that this was bugged until very recently, when it was patched sometime in June this year: https://bugs.launchpad.net/ubuntu/+source/linux-firmware/+bug/1968604
I’ve followed every trail on that thread but nothing gets my bluetooth working.
Even though it’s apparently no longer needed, I’ve even tried making rtl8761bu_fw.bin and rtl8761bu_config.bin symbolic link files to their non-bu counterparts (rtl8761b_fw.bin and rtl8761_config.bin respectively), however this did nothing.
sudo dmesg | grep -i Bluetooth:
[ 1.497932] usb 1-8: Product: Bluetooth Radio [ 4.198735] Bluetooth: Core ver 2.22 [ 4.198763] NET: Registered PF_BLUETOOTH protocol family [ 4.198764] Bluetooth: HCI device and connection manager initialized [ 4.198768] Bluetooth: HCI socket layer initialized [ 4.198770] Bluetooth: L2CAP socket layer initialized [ 4.198774] Bluetooth: SCO socket layer initialized [ 5.228342] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 5.228343] Bluetooth: BNEP filters: protocol multicast [ 5.228346] Bluetooth: BNEP socket layer initialized [ 5.229257] Bluetooth: MGMT ver 1.22 [ 7.309061] Bluetooth: RFCOMM TTY layer initialized [ 7.309065] Bluetooth: RFCOMM socket layer initialized [ 7.309067] Bluetooth: RFCOMM ver 1.11 [ 774.438702] usb 1-8: Product: Bluetooth Radio [ 774.512974] Bluetooth: MGMT ver 1.22
hci0: Type: Primary Bus: USB BD Address: 70:3E:97:EA:E0:9E ACL MTU: 1021:6 SCO MTU: 255:12 UP RUNNING RX bytes:1614 acl:0 sco:0 events:161 errors:0 TX bytes:5584 acl:0 sco:0 commands:148 errors:0 Features: 0xff 0xff 0xff 0xfe 0xdb 0xfd 0x7b 0x87 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 Link policy: RSWITCH HOLD SNIFF PARK Link mode: PERIPHERAL ACCEPT Name: 'LAX-B760-Pro-RS' Class: 0x7c0104 Service Classes: Rendering, Capturing, Object Transfer, Audio, Telephony Device Class: Computer, Desktop workstation HCI Version: 5.1 (0xa) Revision: 0xb LMP Version: 5.1 (0xa) Subversion: 0x8761 Manufacturer: Realtek Semiconductor Corporation (93)
Bluetooth is on, enabled, and running. It actively appears to be searching for devices when I open up the Bluetooth tab in the settings. Trying to connect to my headphones (or any bluetooth device for that matter) in terminal using bluetoothctl also doesn’t yield anything. I’ve even made sure parts of it aren’t blocked with rfkill commands.
I’ve done and tried a ton of other things, even though they weren’t really related to my problem in a desperate attempt to get something working. I’ve reinstalled linux-firmware, I’ve tried installing blueman, I’ve disabled and then reenabled bluetooth, I’ve turned bluetooth on/off, I’ve tried restarting my computer, I’ve tried unplugging and then plugging back in my bluetooth USB adapter, I’ve tried shutting off my computer, booting Windows, shutting down, and then booting Ubuntu. None of these have had any effect.
I’ve been at this for about six hours now and I’m at a total loss so I’ve made an account here just to ask about this. I’m aware that RealTek bluetooth isn’t explicitly supported ubuntu, but people online seem to have no issues, especially with the latest linux-firmware updates in June. All my other bluetooth devices work fine connecting to each other, and even to my computer (except when I boot with Ubuntu), so I don’t think it’s them.
Please let me know if there are any other commands I should post here about my computer or whatever else that will make this easier to help me with. My kernel is 6.2.0-36-generic
You mentioned dual-booting Windows on the same device. This brings complications.
When you pair a couple of Bluetooth devices, they come up with a random shared link key and remember it alongside with the other device’s Bluetooth MAC address. So your Windows registry has an entry that says "the link key for a headset with MAC AA:BB:CC:DD:EE:FF is XX:XX:XX:XX:XX:XX:XX:XX:XX". And your headset has an entry that says "the link key for a computer with MAC QQ:WW:EE:RR:TT:YY is XX:XX:XX:XX:XX:XX:XX:XX:XX". And then you reboot into Ubuntu, and try to connect, and the headset thinks "hey, I recognize this MAC address, this is my friend computer, so the link key is XXX", but Ubuntu doesn’t look for saved link keys in the Windows registry on another partition, it has its own data store (text files in /var/lib/bluetooth) and so it rejects the connection.
If you initiate pairing mode on the headset, you should be able to pair it with your Ubuntu, which will store a new link key YY:YY:YY:YY:YY:YY:YY:YY in /var/lib/bluetooth, and then the headset will work with Ubuntu, and will fail to connect when you reboot into Windows.
This is less than optimal.
Luckily, once you have paired the headset with both OSes, you can edit the link keys directly with regedit (Windows) or sudoedit (Ubuntu), and if you do that, the headset will now work with both OSes without problems. Just be sure to copy the link key from the OS that was the last one to pair with the headset to the other one.
I have a half-baked Python script that automates some parts of this process (and describes the exact locations and data formats for link key storage in the README): https://github.com/mgedmin/btdualboot
As it turns out, upgrading to Mantic Minotaur (Ubuntu 23.10) from Lunar Lobster solved the issue entirely. I imagine it’s because Mantic Minotaur has more recently updated firmware for Realtek Bluetooth.
I’m able to boot windows, pair and connect my headphones there, then reboot with ubuntu, and then pair and connect my headphones (albeit with a bit of awkwardness: Have to restart Bluetooth)
So, if you find yourself in a similar situation to me, where you’ve tried literally everything on every forum, maybe try upgrading to Mantic Minotaur?