Since upgrading to Leap 15.3 (from Leap 15.2), my Bluetooth Headsets connect to my PC, but I cannot use them for sound input/output. I first noticed this problem through the GNOME Settings interface, but have used the Bluetooth and PulseAudio commands directly to remove anything GNOME as the culprit. On Leap 15.2 and previously, I had no problems using my Bluetooth headset for audio operations.
However, if I switch to Pipewire (pipewire-pulseaudio), I can use my Bluetooth Headset for audio input/output. I was about to rejoice and leave this problem behind me when I discovered that certain applications don’t transmit sound clearly when using Pipewire, even for non-Bluetooth devices, so I had to switch back to PulseAudio in order to maintain a working microphone. But, this leads me to believe the problem lies in a change to PulseAudio.
I tried the commands you listed (good you included them!) on my Tumbleweed system:
> pactl list | grep -i module-bluetooth
Name: **module-bluetooth**-policy
Name: **module-bluetooth**-discover
> pactl list sources | grep -i blue
Name: **blue**z_sink.00_1E_7C_00_A0_68.a2dp_sink.monitor
Driver: module-**blue**z5-device.c
Monitor of Sink: **blue**z_sink.00_1E_7C_00_A0_68.a2dp_sink
device.api = "**blue**z"
device.bus = "**blue**tooth"
**blue**z.path = "/org/**blue**z/hci0/dev_00_1E_7C_00_A0_68"
**blue**z.class = "0x240404"
**blue**z.alias = "Philips SHB9000"
device.icon_name = "audio-headset-**blue**tooth"
> sudo systemctl status --no-pager -l bluetooth
...
Mar 11 21:31:32 bluetoothd[1195]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSink/sbc
Mar 11 21:31:32 bluetoothd[1195]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/sbc
Mar 11 21:31:32 bluetoothd[1195]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSink/sbc_xq
Mar 11 21:31:32 bluetoothd[1195]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/sbc_xq
Mar 11 21:31:32 bluetoothd[1195]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/faststream
Mar 11 21:31:32 bluetoothd[1195]: Endpoint registered: sender=:1.63 path=/MediaEndpoint/A2DPSource/faststream_duplex
Mar 11 21:31:39 bluetoothd[1195]: **src/profile.c:record_cb() Unable to get Hands-Free Voice gateway SDP record: Host is down**
Mar 11 21:31:44 bluetoothd[1195]: **src/profile.c:record_cb() Unable to get Hands-Free Voice gateway SDP record: Host is down**
Mar 11 23:14:26 bluetoothd[1195]: **src/service.c:btd_service_connect() a2dp-sink profile connect failed for 00:1E:7C:00:A0:68: Device or resource busy**
Mar 11 23:14:26 bluetoothd[1195]: /org/bluez/hci0/dev_00_1E_7C_00_A0_68/sep1/fd0: fd(27) ready
Those messages at 23:14:26 were at the moment I connected my BT headset so the “Device or resource busy” error is likely not fatal but you are missing a message that your BT headset is connected I think.
Does “bluetoothctl paired-devices” list you headset?
So my report on the output from systemctl status bluetooth was a red herring; having the Bluetooth service running for a while and connecting my headset later yielded no output.
bluetoothctl paired-devices lists my headset, but pactl list sources does not list it.
Do you have pulseaudio-module-bluetooth installed?
> sudo zypper se pulseaudio-module-bluetooth
S | Name | Summary | Type
–±----------------------------±--------------------------------------------------±-------
i | pulseaudio-module-bluetooth | Bluetooth support for the PulseAudio sound server | package
I suppose that the presence of the “bluetooth-module-discover” and “bluetooth-module-policy” modules (from pactl list) don’t necessarily imply that I’ve installed the package, but yes, I have installed the “pulseaudio-module-bluetooth” package.
Again, I had everything working in Leap 15.2, but then after upgrading to Leap 15.3, I could no longer use my Bluetooth headset as an audio device. From the evidence I’ve collected, it would seem like I would have to enable or disable some new module, or change the value of a setting that has a new default in my PulseAudio config.
On the modules: with no headset connected I see using “pactl list modules” that following bluetooth modules are loaded: module-bluetooth-policy, module-bluetooth-discover, module-bluez5-discover.
When the headset is connected “pactl list sinks” lists:
But, as you probably expected, pactl list sinks contains no additional sinks in PulseAudio after the device connects. And again, Pipewire detects the device and outputs audio just fine.
FWIW, on my Leap 15.3 KDE laptop, if I turn on my bluetooth headset and select connect in the bluetooth device window, I have found no way to get sound to it. However, if I put the headset in pairing mode, then click connect, it connects and immediately gets the audio stream. Pulseaudio knows about it. YMMV.
Yes; those UUID have non-zero values on my system as well, but I tend to remove any unique identifiers like that from my posts. I was only trying to show that Bluetooth recognizes the capabilities of the headset.
That Pipewire works with this headset would indicate to me that Bluetooth is working fine and that PulseAudio has the problem, unless my Bluetooth drivers are doing something wrong but Pipewire knows about it and is applying a workaround.
Tried my 15.3 install and a few days back it did not want to boot as the boot stopped without asking for the password of the encrypted home and I found no way to enter that. Tried today booting in recovery mode and now it works.
The system has not been updated for months but I could connect the BT headset and after that the audio automatically switched to the headset and audio was playing nice.
I read for @ crmrhm that is the way to get things working, so let me upgrade and try a few times.
Yes; those UUID have non-zero values on my system as well, but I tend to remove any unique identifiers like that from my posts.
Okay, my tactic is to change the addresses, likely therefore I assumed something was wrong.
You list the Headset and Handsfree profile, but do you have also the Audio Sink profile? I think that is what is needed.
It turns out that many TVs, although they support many of these wonderful features, do not have them on by default. One such element is basically everything that makes the higher HDMI spec worth while. You know, small stuff like HDR, Chroma 4:4:4, and things like better refresh rate.
Oh, and better yet. These things, most would normally attribute to something that affects the picture, HA! No that would just be plain silly. Don’t even think of looking under the TV menu item of “Picture”. That would just be stupid. No, no, no, that is more appropriately under the General -> External Device Manager -> Input Signal Plus.
I am sure you would have gone there first, I did not. In my useless opinion, I think this is an example of why you don’t want to let the marketing people too near the technology. I included a link to rtings so you can see other manufacturers also have unique names for the same thing. Oh, on top of that, there is nothing in Samsung’s explanation area of the menu that identifies this “feature”. There is no mention of HDR, Chroma, OR refresh rate.