1

My JBL Tour One headphones can connect to my laptop but will not show up as an audio device. Sometimes I can get them to show up after factory resetting them, but i'ts not reliable. This is the output of dmesg | grep -i bluetooth:

[190711.486357] Bluetooth: hci0: Opcode 0x 401 failed: -16
[190753.168762] Bluetooth: hci0: Opcode 0x2005 failed: -22
[190753.168775] Bluetooth: hci0: Opcode 0x200b failed: -22

3 Answers3

0

I had the same issue with my JBL Aero Pro. The solution was to plug them into my ear and then go into "pairing" mode. From the quick start guide this was done by a quick click followed by a long (5 seconds) hold on my right earpiece. It said "pairing" (not sure all JBL earbuds will do that).

Next I simply found them on the list of bluetooth devices with Ubuntu bluetooth control panel - and when connected it was paired and now shows up as an audio device (both input and output).

Bluetooth Device Details

karel
  • 122,292
  • 133
  • 301
  • 332
0
  • install blueman using apt install blueman -y
  • open blueman and select any hfp profile

if there is no hfp profile

  • remove earphones from bluetooth devices
  • add them using blueman and select desired hfp profile
0

I had issues with the Jbl Tour One M3 that sound similar, and apparently it's caused by some sort of bug or race condition with BLE in Linux, or at least Ubuntu 25.04. There are several options:

Disabling Bluetooth LE

Setting ControllerMode = bredr in /etc/bluetooth/main.conf fixes it for me. This disables Bluetooth LE, and makes the "Audio Sink" appear reliably in bluetoothctl info.

This change can cause issues with other devices. For example, I can't connect my bluetooth mouse anymore.


Restarting Wireplumber

Even with it set to dual (default), it is possible to get it to connect audio by running

systemctl --user restart wireplumber

a few times. So chances are that a wireplumber config change or a newer wireplumber version might improve this situation. Looks like a race condition.


busctl

busctl call org.bluez /org/bluez/hci0/dev_88_92_CC_64_B1_BD org.bluez.Device1 ConnectProfile s "0000110b-0000-1000-8000-00805f9b34fb"

works for me as well. The dev_... address can be found via bluetoothctl devices. The uuid is taken from bluetoothctl info 88:92:CC:64:B1:BD next to UUID: Audio Sink, and is the same for both headphones I checked.

Automatic busctl call

You can automate this. Create /opt/connect-jbl.sh with

#!/bin/bash
sleep 1
busctl call org.bluez /org/bluez/hci0/dev_88_92_CC_64_B1_BD org.bluez.Device1 ConnectProfile s "0000110b-0000-1000-8000-00805f9b34fb"

(Insert your bluetooth address into the busctl command next to dev_)

Make it executable:

chmod +x /opt/connect-jbl.sh

And create sudo nano /usr/lib/udev/rules.d/99-connect-jbl.rules with

ACTION=="add", SUBSYSTEM=="bluetooth", RUN+="/opt/connect-jbl.sh"

Then do

sudo udevadm control --reload-rules

and if you want to debug problems, use

sudo udevadm control --log-priority=debug

udevadm monitor --property

or

journalctl -f

And then connect the headphones.

sezanzeb
  • 308