I have some Bluetooth headphones that I’ve tried using with my system, and I have a USB Bluetooth adapter that I know works well; I’ve used it with Bluetooth controllers and even on other computers. But when I connect the headphones, they connect using the LDAC codec, work for a while, and then mute and switch to hands-free mode. I tried using other codecs in case the problem was with stability, but the same thing still happens. I’ve tried many things, but I’m stuck in a loop and don’t know what to do.
Welcome to the Manjaro community @Rodda
As a new or infrequent forum user, please take some time to familiarise yourself with Forum requirements, and the many ways to use the forum to your benefit:
Update Announcements
The Update Announcements contain important information and a Known Issues and Solutions section that should generally be checked before posting a request for support.
System Information
Output of the inxi command (with appropriate parameters, and formatted according to forum guidelines) will generate information useful for those wishing to help:
inxi --filter --verbosity=8
or the short form (preferred):
inxi -zv8
- inxi man pages (Arch Manual)
Required reading
Resources
Regards.
Probably the autoswitching of profiles. If you use wireplumber, you can try putting in ~/.config/wireplumber/wireplumber.conf.d/11-bluetooth-policy.conf
wireplumber.settings = {
bluetooth.autoswitch-to-headset-profile = false
}
If not there was another conf but you will have to search yourself. I think i took it from the arch wiki some times ago.
Please state make and model of Bluetooth headset and post more information about Wireplumber settings:
wpctl settings
To disable automatic switching of profiles:
Automatic profile selection
WirePlumber has profile auto-switching enabled by default. It can automatically switch between HSP/HFP and A2DP profiles whenever an input stream is detected. You can disable it with the following command:
wpctl settings --save bluetooth.autoswitch-to-headset-profile false
To disable Headset profile completely:
Disable PipeWire HSP/HFP profile
rather than to enable automatically switching to the (lower audio quality) HSP/HFP profile if A2DP fails, you may prefer to disable the former altogether. To do so, create or edit a bluez configuration as shown below.
Note: HSP mode is required for built-in microphones to work
/etc/wireplumber/wireplumber.conf.d/51-mitigate-annoying-profile-switch.conf
or ~/.config/wireplumber/wireplumber.conf.d/51-mitigate-annoying-profile-switch.conf## completely disable switching and support for Headset Profile (HFP) wireplumber.settings = { bluetooth.autoswitch-to-headset-profile = false } monitor.bluez.properties = { bluez5.roles = [ a2dp_sink a2dp_source ] }