Bluetooth audio, output (a2dp) working, stuck on input (hsp/hfp)

I’m continuing trying to set up my bluetooth headset for qubes. The ultimate goal is to be able to enable usage of bluetooth headset by passing it in from sys-usb to appvm, but for testing I’ve just been trying to make it work on a clean debian 11 template vm only. So far I’ve gotten the output using a2dp to work perfectly, I can play a youtube video and the sound plays through the headset. However I am stuck on trying to enable the input. For using a bluetooth headset for input I know I need to open the devices tab in blueman-applet and switch the protocol to hsp/hfp but when I do this no input is registered. The headset shows up in pavucontrol as an input and when I switch the protocol I can hear the white noise that means it did in fact change, but no audio input is actually registered. Also, trying to play a video from youtube just leads to the video being stuck. Looking through the documentation it seems like I have to explicitly enable audio input but trying to do this with the rpc policy file has no effect. I was looking at using the qrexec to enable audio input but it is confusing. I am not trying to use a audiovm, but trying to have the vm use the headphones as if they were connected like on a usual install. Can anyone show me how to do this or at least point me to the right direction? Thank you for assistance.

Turns out I was missing a firmware file for the bluetooth card i’m using (BCM20702A0 on a thinkpad t430).

To check if bluetooth firmware is needed run:

dmesg | grep -i bluetooth

The Gentoo wiki told me to download the correct firmware from here. After placing it in /lib/firmware/brcm and rebooting everything works!

1 Like