Bluetooth connection issues

Hello

Since the Windows Recall announcement I’ve tried Linux and I’ve struggled in quite a few places to get things working but there’s one thing that just won’t ever work for me and it’s bugging me. Keep in mind I’m a pretty big noob and I somehow manage to break the most idiot-proof distro’s.

I have both a bluetooth headset (Sony W1000xm4) & a bluetooth game controller (XBOX One controller). Both can’t seem to get a stable connection no matter what I try.

Distro’s I’ve tried & had this issue: Mint, Nobara, Kubuntu, Opensuse Tumbleweed, Ubuntu
DE’s I tried & had this issue: Gnome & KDE

Current environment:
Fedora Linux 40 (Workstation Edition) x86_64
Linux 6.10.12-200.fc40.x86_64
GNOME Terminal 3.50.1
ROG STRIX Z390-E GAMING (Rev 1.xx)


Issues with the headset: Constant stuttering & sometimes even delays in the audio (can notice this when adjusting the volume that it can take a second or 2 to actually adjust the volume).

Controller: It seems fairly stable as long as there’s no game launched. Once i launch a game in steam both my controller & headset go crazy and keep disconnecting until the game is launched. After that the controller can’t stay connected for even a minute before losing connection & reconnecting.


Troubleshooting attempts:
I’ve tried this article (Troubleshooting Bluetooth problems :: Fedora Docs), results below. I’ve tried 2 different Bluetooth Dongles (BT-8500, and the other is an ASUS dongle). Tried googling issues with my headset in general, tried those. Didn’t work for me. Tried over a dozen different DE’s & OS’s. None can solve the issue.

Did anything change? No, since I moved over from Windows it has never worked on any of my Linux environments but it works flawlessly on any windows/android device I use & it works perfectly when I connect the headset through cable.

Distance from my PC? Roughly 1,5 - 2 meters.

(below the outputs from the troubleshoot article with only my headset connected for now):


➜  hciconfig                                                                                                                                                                                                                  10/09/24 -  4:03 
hci0:	Type: Primary  Bus: USB
	BD Address: 38:00:25:3D:69:30  ACL MTU: 1021:4  SCO MTU: 96:6
	UP RUNNING PSCAN ISCAN 
	RX bytes:362034 acl:4415 sco:270 events:30502 errors:0
	TX bytes:20885307 acl:29119 sco:257 commands:859 errors:0
➜  lsusb -t | grep wireless                                                                                                                                                                                                   10/09/24 -  4:08 

➜  lsusb -v | grep wireless                                                                                                                                                                                                   10/09/24 -  4:08 
Couldn't open device, some information will be missing
Couldn't open device, some information will be missing
Couldn't open device, some information will be missing
Couldn't open device, some information will be missing
Couldn't open device, some information will be missing
Couldn't open device, some information will be missing
Couldn't open device, some information will be missing
Couldn't open device, some information will be missing
Couldn't open device, some information will be missing
Couldn't open device, some information will be missing
Couldn't open device, some information will be missing
Couldn't open device, some information will be missing
➜  bluetoothctl                                                                                                                                                                                                               10/09/24 -  4:08 
Agent registered
[WH-1000XM4]# 

The “Hands-Free” is one of the modes on the headset, it gives terrible audio but it’s used when I want to use my microphone aswell which I don’t need.

➜  systemctl status bluetooth                                                                                                                                                                                                 10/09/24 -  4:10 
● bluetooth.service - Bluetooth service
     Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; preset: enabled)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Active: active (running) since Wed 2024-10-09 15:00:34 CEST; 1h 10min ago
       Docs: man:bluetoothd(8)
   Main PID: 1066 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 76950)
     Memory: 5.7M (peak: 6.5M)
        CPU: 489ms
     CGroup: /system.slice/bluetooth.service
             └─1066 /usr/libexec/bluetooth/bluetoothd

okt 09 15:37:02 gamepc bluetoothd[1066]: src/profile.c:record_cb() Unable to get Hands-Free Voice gateway SDP record: Host is down
okt 09 15:37:18 gamepc bluetoothd[1066]: src/profile.c:record_cb() Unable to get Hands-Free Voice gateway SDP record: Host is down
okt 09 15:38:20 gamepc bluetoothd[1066]: /org/bluez/hci0/dev_94_DB_56_D4_F3_25/sep4/fd0: fd(43) ready
okt 09 15:44:42 gamepc bluetoothd[1066]: src/profile.c:record_cb() Unable to get Hands-Free Voice gateway SDP record: Host is down
okt 09 15:44:50 gamepc bluetoothd[1066]: No matching connection for device
okt 09 15:45:32 gamepc bluetoothd[1066]: /org/bluez/hci0/dev_94_DB_56_D4_F3_25/sep4/fd1: fd(43) ready
okt 09 15:51:28 gamepc bluetoothd[1066]: profiles/battery/battery.c:parse_battery_level() Trying to update an unregistered battery
okt 09 15:52:31 gamepc bluetoothd[1066]: src/profile.c:ext_io_disconnected() Unable to get io data for Hands-Free Voice gateway: getpeername: Transport endpoint is not connected (107)
okt 09 16:03:54 gamepc bluetoothd[1066]: src/profile.c:record_cb() Unable to get Hands-Free Voice gateway SDP record: Host is down
okt 09 16:04:16 gamepc bluetoothd[1066]: /org/bluez/hci0/dev_94_DB_56_D4_F3_25/sep4/fd2: fd(43) ready
➜  systemctl --global --user is-enabled obex                                                                                                                                                                                  10/09/24 -  4:11 
enabled

I also did a journalctl --follow when the error occurred (this is with headset & controller connected when i launch a steam game).
Results: Bluetooth error - Pastebin.com