Bugzilla – Bug 1184291
module hidp should get loaded after module bluetooth for proper bluetooth audio
Last modified: 2021-06-22 15:12:25 UTC
Problem: You want to connect a bluetooth HiFi headset/headphone and enjoy high quality audio using the a2dp_sink with pulseaudio, but you get only low quality, handset quality audio, because a2dp_sink is not available. How to reproduce: Connect your bt HiFi headphone, while module hidp is NOT loaded and invoke "pactl list" from pulseaudio utils, you may see this line: a2dp_sink: High Fidelity Playback (A2DP-target) (sinks: 1, sources: 0, priority: 40, available: no) ==> "available: no" this tells you, A2DP is not available for your bt headphone Root of the problem: In some cases the hidp module does not get automatically loaded, to me this seems the case with laptops that have integrated bluetooth. The module bluetooth gets loaded, but not hidp. When using an external USB bluetooth dongle, manually connected, hidp *may* get loaded. Solution: It must be sure, that module hidp gets loaded after module bluetooth was loaded Without module hidp there will be no A2DP audio over bluetooth. You may consider to add this line to /etc/modprobe.d/50-bluetooth.conf softdep bluetooth post: hidp Checking the problem is solved by suggested solution: After hidp was loaded, connect your HiFi bt headset/headphone again and invoke "pactl list" you should then this: a2dp_sink: High Fidelity Playback (A2DP-Ziel) (sinks: 1, sources: 0, priority: 40, available: yes) ==> "available: yes" is what you want, A2DP audio now works
PA version on Leap 15.2 is way too old for fixing such an issue. Leap 15.3 will be with the newer version and a backport patch set to support HFP native backend, so it'll likely work better on your devices as well. The update packages for Leap 15.2 are available also in OBS home:tiwai:leap-15.2:update repo.
Ok. Actually I have already upgraded PA to 14.2, but from a different repo, from multimedia:/libs/openSUSE_Leap_15.2/ and this does not contain the upgraded bluez5 daemon like yours. So I´ll give that a try. My initial report of lacking auto load of hidp seem to be not precise... I just saw, after booting, logging in into KDE and then restart bluetoothd and then connect the headphone again, then a2dp is detected. I wonder if this may be not just a PA issue, maybe bluez5 is involved as well? E.g. i see messages like bluetoothd[6250]: RFCOMM server failed for Object Push: socket(STREAM, RFCOMM): Protocol not supported bluetoothd[6250]: RFCOMM server failed for :1.60/Profile/HSPHSProfile/00001108-0000-1000-8000-00805f9b34fb: socket(STREAM, RFCOMM): Protocol not supported
(In reply to Topper Harley from comment #2) > Ok. > Actually I have already upgraded PA to 14.2, but from a different repo, from > multimedia:/libs/openSUSE_Leap_15.2/ I now upgraded alsa,PA,bluez from your repo. What catches my eye is this message in the logs: bluetoothd[1940]: profiles/audio/a2dp.c:a2dp_select_capabilities() Unable to select SEP
> I now upgraded alsa,PA,bluez from your repo. > What catches my eye is this message in the logs: > > bluetoothd[1940]: profiles/audio/a2dp.c:a2dp_select_capabilities() Unable to > select SEP systemctl restart bluetooth.service does now help getting a2dp work. I wrote a little script with sudo to do this as $USER. A workaround I can live with....
Have you tried upgrading to Leap 15.3? BT should work out of the box there.