How to connect JBL Live 400Bt bluetooth microphone

  • JBL Live Pro+ TWS BT profiles supported A2DP V1.3, AVRCP V1.6, HFP V1.7. BT version 5.0
  • JBL Live 400Bt BT profiles supported A2DP V1.3, AVRCP V1.5, HFP V1.6. BT version 4.2
  • JBL Free profiles supported A2DP 1.3, AVRCP 1.6, HFP 1.7. BT 4.2

A2DP: Source role - the device that sends audio. Sink role - the device that receives audio.

HSP: Audio Gateway role - the device that the headset is connected to. The HSP profile is typically used in phone calls, and this is the device that is connected to the cellular network (for cellular phone calls) or to the internet (for VoIP calls). Typically a cellular phone or a PC. Headset role - the headset, obviously. This is where the speakers and microphone are.

HFP: Audio Gateway role - the device that the hands-free device is connected to. The HFP profile is typically used for cellular phone calls, and this is the device that is connected to the cellular network. Typically a cellular phone. Hands-Free Unit role - the device with the speakers and microphone.

When you use A2DP it is a headphone, not a headset. That would require HSP/HFP.

  1. So possibly A2DP is used as it matches the problem. Switch A2DP sink to HSP/HFP:

     /etc/pulse/default.pa
     load-module module-bluetooth-policy
    

    append

     auto_switch=2
    

    Remark: this is a permanent switch. The catch is that HSP/HFP limits to 8000Hz frequency range. That is fine for voice but is not for listening to music.

  2. If that works you can make profiles so you can toggle between the 2 on commandline. Use

     pactl list cards | grep Name
    

    to get the ID for the BT card and you can toggle with ...

     pactl set-card-profile {id} a2dp_sink
     pactl set-card-profile {id} headset_head_unit
    
  3. You could also switch to pipewire as it supports HSP, HFP and A2DP by itself; you can select it from the GUI. Replacing pulseaudio by pipewire: https://askubuntu.com/a/1333405/15811


  1. something to check 1st :)

    /etc/bluetooth/audio.conf
    

    check headset is not disabled:

    [General]
    Disable=Headset
    

After changing to restart pulseaudio and BT use...

pulseaudio -k
sudo systemctl restart bluetooth

If neither works please leave a comment