Subject: bug#38915: Can't change profile of Bluetooth headphones

From: Ricardo Wurmus <[email-masked]>
Date: Sat, 04 Jan 2020 22:33:45 +0100

Hi Matthew,

> I have a pair of Bluetooth headphones that I I've paired and connected to
> my guix machine.  They show up in the 'configuration' tab of
> pavucontrol.  By default the profile is 'Headset Head Unit (HSP/HFP)'.
>
> When I try and change the profile to 'High Fidelity Playback (A2DP Sink)'
> this fails and the headphones are stuck in the HSP profile.
>
> I see the following line in `/var/log/debug' when attempting to switch
> profiles:
>
> --8<---------------cut here---------------start------------->8---
> W: [pulseaudio] module-bluez5-device.c: Refused to switch profile to a2dp_sink: Not connected
> --8<---------------cut here---------------end--------------->8---
>
> It looks as though this may have something to do with pulseaudio running
> as the GDM user: [0].  My current work-around for this is:
>
> --8<---------------cut here---------------start------------->8---
> $ sudo killall pulseaudio && pulseaudio
> --8<---------------cut here---------------end--------------->8---
>
> to make pulseaudio run as my user.

For what it’s worth: if you have a setup that doesn’t require pulseaudio
it is possible to use bluez-alsa (running bluealsa as a daemon) and
configure it to use the a2dp profile.  I’m using this on a headless
“server” in the living room to send music to bluetooth speakers.

> [0]: https://wiki.debian.org/BluetoothUser/a2dp#Refused_to_switch_profile_to_a2dp_sink:_Not_connected

The second workaround requires writing a configuration file to the gdm
user’s home directory.  Is this something that we could do in the gdm
service configuration?

--
Ricardo