12

Trying to connect some wireless headphones to my laptop. They worked a couple days ago then stopped and I cant figure out why. Before that it would work for a few days then stop until I rebooted or just tried again after a few hours. Now it hasn't worked for almost 2 weeks.

$ neofetch 
OS: Arch Linux x86_64 
Host: 20BU000AUS ThinkPad T450 
Kernel: 5.17.7-zen1-2-zen 

# Installed 
bluez 5.64-2
bluez-firmware 1.2-9
bluez-hid2hci 5.64-2
bluez-libs 5.64-2
bluez-utils 5.64-2
hidapi 0.11.2-1
libldac 2.0.2.3-1
pulseaudio-bluetooth 15.0-4
sbc 1.5-2

$ bluetoothctl show
Powered: yes
Discoverable: no
Pairable: yes

$ bluetoothctl info 8D:40:4C:C6:73:A4 
Device 8D:40:4C:C6:73:A4 (public)
    Paired: yes
    Trusted: yes
    Blocked: no
    Connected: no
    LegacyPairing: no

$ bluetoothctl connect 8D:40:4C:C6:73:A4 
Attempting to connect to 8D:40:4C:C6:73:A4
Failed to connect: org.bluez.Error.Failed br-connection-profile-unavailable

$ journalctl -u bluetooth
bluetoothd[13782]: src/service.c:btd_service_connect() a2dp-sink profile connect failed for 8D:40:4C:C6:73:A4: Protocol not available

$ systemctl list-unit-files | grep blue
UNIT FILE                                  STATE           VENDOR PRESET
bluetooth-mesh.service                     enabled         disabled
bluetooth.service                          enabled         disabled
dbus-org.bluez.mesh.service                alias           -
dbus-org.bluez.service                     alias           -
bluetooth.target                           static          -

$ lsmod | grep bluetooth
bluetooth             925696  31 btrtl,btmtk,btintel,btbcm,bnep,btusb
crc16                  16384  1 bluetooth
rfkill                 36864  6 iwlmvm,bluetooth,thinkpad_acpi,cfg80211
ecdh_generic           16384  2 bluetooth
6
  • 4
    Have you tried e.g. rm -R /var/lib/bluetooth/8D:40:4C:C6:73:A4 (after stopping bluetooth.service) and start all over again? Also, is the journalctl -u bluetooth output you attached a full one? If so, how does systemctl --user status pulseaudio look by the time / after you attempt to connect?
    – Tom Yan
    May 19, 2022 at 3:14
  • 4
    The BT stack in Linux sucks. Just saying. May 19, 2022 at 12:08
  • @TomYan there was nothing in /var/lib/bluetooth. I ended up uninstalling everything bluetooth related except bluez and bluez-utils. Then I ran sudo bluetoothctl (its the first time I've ever tried sudo with bluetoothctl since it worked before without it). Now everything works fine.
    – Dominic
    May 20, 2022 at 17:23
  • @ArtemS.Tashkinov I always hated bluetooth in general
    – Dominic
    May 20, 2022 at 17:24
  • @TomYan Thanks! I've been searching for a solution for days and this did it. I have a bluetooth headset that connected the first time without issue, but then wouldn't reconnect. you're solution solved the problem, and I'm able to connect again. I'll still have to see if I'm able to reconnect later
    – Menachem
    May 25, 2022 at 2:45

5 Answers 5

26

Looks like OP found a solution in the comments of the question, but for anyone else looking at this, for me it just took a systemctl --user enable pulseaudio and systemctl --user start pulseaudio to fix it.

1
  • 1
    Didn't change anything for me. Still getting Failed to connect: org.bluez.Error.Failed br-connection-profile-unavailable
    – expert
    Nov 21, 2023 at 17:00
3

Many sources recommend setting ControllerMode = bredr and AutoEnable = true in /etc/bluetooth/main.conf, which has worked for me on previous installs.

In this case however, I had to comment out the line ControllerMode = bredr to solve the "br-connection-profile-unavailable" error.

(both of these were on Arch, not sure what made the difference)

1
1

I commented AutoEnable = true => #AutoEnable = true

1
  • Welcome to the site. Your post looks like it was intended as a comment to the answer by Scriddie. In that case, please don't post it as an answer in itself. Once you have gained enough reputation, you will be able to comment on other people's posts.
    – AdminBee
    Apr 20, 2023 at 11:08
1

Try to use pipewire instead of pulseaudio:

sudo apt install pipewire pipewire-pulse pipewire-jack pipewire-alsa pipewire-audio
0

Try to reset the device:

bluetoothctl untrust DEVICEID
bluetoothctl cancel-pairing DEVICEID
bluetoothctl remove DEVICEID
bluetoothctl scan on
bluetoothctl connect DEVICEID

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .