You are not logged in.
Had same problem today none of the above solutions worked for me.
I downgraded to bluez 5.61 (bluez, bluez-libs and bluez-utils) and it is working again.
For those not knowing how to downgrade (if you still have the old version in cache):
pacman -U /var/cache/pacman/pkg/bluez-5.61-1-x86_64.pkg.tar.zst /var/cache/pacman/pkg/bluez-libs-5.61-1-x86_64.pkg.tar.zst /var/cache/pacman/pkg/bluez-utils-5.61-1-x86_64.pkg.tar.zst
Offline
Are you normally running a manually compiled kernel or stock one from repos? Could you post some instructions on how you recompiled only one module?
I have to manually recompile just the bt_usb module, I then copy it over. Here is the bash script I've made..
#!/bin/bash
currentLinux=$(uname -r)
distroSuffix=${currentLinux: -3}
if [ $distroSuffix = 'lts' ]; then
distroSuffix="-1-lts"
btusbFile="btusb-5.10.c"
else
distroSuffix="-arch1-1"
btusbFile="btusb-5.15.c"
fi
linuxVersion="${currentLinux/$distroSuffix/}"
linuxFolder="linux-$linuxVersion"
wget "https://cdn.kernel.org/pub/linux/kernel/v5.x/$linuxFolder.tar.xz" -O temp.tar.xz
tar xf "temp.tar.xz"
rm -r temp.tar.xz
cd $linuxFolder
sudo modprobe -r btusb
cp ../$btusbFile ./drivers/bluetooth/btusb.c
make -j16 mrproper
zcat /proc/config.gz > .config
# Change .config CONFIG_LOCALVERSION="" to match current kernel name
sed -i "s/CONFIG_LOCALVERSION=\"\"/CONFIG_LOCALVERSION=\"$distroSuffix\"/" .config
make -j16 modules_prepare
make -j16 modules M=drivers/bluetooth
sudo make -j16 modules_install M=drivers/bluetooth
sudo cp /lib/modules/$currentLinux/extra/btusb* /lib/modules/$(uname -r)/kernel/drivers/bluetooth/
cd ..
rm -r $linuxFolder
sudo modprobe btusb
Last edited by burny02 (2021-11-26 11:23:44)
Offline
Had same problem today none of the above solutions worked for me.
I downgraded to bluez 5.61 (bluez, bluez-libs and bluez-utils) and it is working again.For those not knowing how to downgrade (if you still have the old version in cache):
pacman -U /var/cache/pacman/pkg/bluez-5.61-1-x86_64.pkg.tar.zst /var/cache/pacman/pkg/bluez-libs-5.61-1-x86_64.pkg.tar.zst /var/cache/pacman/pkg/bluez-utils-5.61-1-x86_64.pkg.tar.zst
Ran into the same problem with bluez 5.62 with my WF-1000XM4s. Downgrading to bluez 5.61 fixed pairing for me. Thanks!
If I have the gift of prophecy and can fathom all mysteries and all knowledge, and if I have a faith that can move mountains, but have not love, I am nothing. 1 Corinthians 13:2
Offline
I had same error message:
br-connection-profile-unavailable
I read instructions at https://wiki.archlinux.org/title/Bluetooth
Installed (using KDE as desktop environment):
sudo yay -Syyuu bluedevil bluez-utils pulseaudio-bluetooth
Enabled and started the Bluetooth service:
sudo systemctl enable bluetooth.service
sudo systemctl start bluetooth.service
... and after reboot I could pair WH-1000XM4 earphones and they work just fine. I guess there could be restarted also sound system, but it was faster to reboot than investigate, which services and in which order to restart to achieve the same without reboot. Although it would be good to know, if someone can elaborate on that.
Checked also loaded modules:
lsmod|grep btusb
btusb 65536 0
btrtl 28672 1 btusb
btbcm 24576 1 btusb
btintel 45056 1 btusb
bluetooth 749568 54 btrtl,btintel,btbcm,bnep,btusb,rfcomm
Installed software:
yay -Qs bluetooth
local/bluedevil 1:5.23.3-1 (plasma)
Integrate the Bluetooth technology within KDE workspace and applications
local/bluez 5.62-1
Daemons for the bluetooth protocol stack
local/bluez-libs 5.62-1
Deprecated libraries for the bluetooth protocol stack
local/bluez-utils 5.62-1
Development and debugging utilities for the bluetooth protocol stack
local/hidapi 0.11.0-1
Simple library for communicating with USB and Bluetooth HID devices
local/libldac 2.0.2.3-1
LDAC Bluetooth encoder library
local/pulseaudio-bluetooth 15.0-1
Bluetooth support for PulseAudio
local/sbc 1.5-2
Bluetooth Subband Codec (SBC) library
Kernel:
uname -r
5.15.5-arch1-1
Last edited by zeroconf (2021-11-28 17:08:11)
Offline
For anyone else, I was having similar issues until I recompiled the btusb module.
The problem was the 'alt' mode of the adapter.
Here is the btusb.c code - btusb_work
* Bluetooth USB spec recommends alt 6 (63 bytes), but
* many adapters do not support it. Alt 1 appears to
* work for all adapters that do not have alt 6, and
* which work with WBS at all. Some devices prefer
* alt 3 (HCI payload >= 60 Bytes let air packet
* data satisfy 60 bytes), requiring
* MTU >= 3 (packets) * 25 (size) - 3 (headers) = 72
* see also Core spec 5, vol 4, B 2.1.1 & Table 2.1.
*/
if (btusb_find_altsetting(data, 6))
new_alts = 6;
else if (btusb_find_altsetting(data, 3) &&
hdev->sco_mtu >= 72 &&
test_bit(BTUSB_USE_ALT3_FOR_WBS, &data->flags))
new_alts = 1; /* MY EDIT - WAS 3 */
else
new_alts = 1;Changing the alt to 1 (it was 3) sorted all my issues
Finally got around to testing this - it doesn't work for me (still the same br-connection-profile-unavailable error). Controller Asus BT400, BCM20702A1 chip.
Offline
Finally got around to testing this - it doesn't work for me (still the same br-connection-profile-unavailable error). Controller Asus BT400, BCM20702A1 chip.
Did you try setting them all to 1? (Including the top one)
I read that it used to be 1 for all adapters. But perhaps 3 or 6 would work in your case
Last edited by burny02 (2021-11-29 12:04:10)
Offline
nesk wrote:Finally got around to testing this - it doesn't work for me (still the same br-connection-profile-unavailable error). Controller Asus BT400, BCM20702A1 chip.
Did you try setting them all to 1? (Including the top one)
I read that it used to be 1 for all adapters. But perhaps 3 or 6 would work in your case
I will try when I get the chance. Currently downgrading to 5.14.14/5.61 made BT work (on this boot at least). I'd like to run it for a while
You obviously have a good grasp on this - do you know if this is being reported somewhere on LKML or some such? If not - would you do it? In the spirit of upstreaming everything
Offline
You obviously have a good grasp on this - do you know if this is being reported somewhere on LKML or some such? If not - would you do it? In the spirit of upstreaming everything
I've already put an email in to the kernel bluetooth team.
I certainly don't have a clue what I'm doing.,,,,Lost many hours trying to get my own adapter working. Just trial and error, unfortunately.
Suppose I've learnt some more about Linux, if nothing else.
Offline
nesk wrote:You obviously have a good grasp on this - do you know if this is being reported somewhere on LKML or some such? If not - would you do it? In the spirit of upstreaming everything
I've already put an email in to the kernel bluetooth team.
I certainly don't have a clue what I'm doing.,,,,Lost many hours trying to get my own adapter working. Just trial and error, unfortunately.
Suppose I've learnt some more about Linux, if nothing else.
Share the thread link please, I'll subscribe and maybe contribute some testing data.
Offline
Share the thread link please, I'll subscribe and maybe contribute some testing data.
Don't have a link.
I think it said somewhere certain developers like to be emailed directly?
Haven't heard anything back yet, though
Offline
I'd say the [SOLVED] tag is premature. Downgrading Bluez only didn't work for me, it solved pairing, but still have the device disconnect as soon as it connects. This is on ARMv7 though (Raspberry Pi 4), with Linux 5.10.82. Everything went south after a new system upgrade.
Offline
Had same problem today none of the above solutions worked for me.
I downgraded to bluez 5.61 (bluez, bluez-libs and bluez-utils) and it is working again.
This one helped me too! Thanks.
Offline
Had the same error (with headphones).
It's seems like it's caused because something's missing in system: https://github.com/bluez/bluez/blob/bb1 … xt#L26-L30
I've installed `pulseaudio-bluetooth` and now it works. Btw, it's an optional dependency of `bluedevil`.
Can't confirm the problem source on my system, but I was having the same issue and this resolution worked for me, if others happen to come across this same issue.
Offline
Hello everyone. I was having this issue on Gentoo. Here is my solution. On Gentoo I use the pulseaudio-modules-bt which is a fork of the pulseaudio bluetooth modules. So the configuration that got rid of the br-connection-profile-unavailable was to add the following line to my /etc/pulse/default.pa
# LDAC Standard Quality
load-module module-bluetooth-discover a2dp_config="ldac_eqmid=sq"
It might help someone head in the right direction on Archlinux.
Last edited by cowsquad (2021-12-15 00:22:41)
Offline
For me, I get this error ("br-connection-profile-unavailable") when I try to connect Bluetooth headphones when PulseAudio is not running (check with: pgrep pulseaudio).
The solution is to first start PulseAudio (e.g., systemctl start --user pulseaudio, or log into an Xorg session which causes systemd to start PulseAudio automatically). It seems that you can even connect Bluetooth devices as one user while PulseAudio is running for a different user, but if PulseAudio isn't running at all, connecting the Bluetooth device fails.
Offline
I was getting the "br-connection-profile-unavailable" error and I solved by following the steps below. Note that my bluetooth device is a headphone, this solution probably won't be very useful for other devices.
1. Run bluetoothctl and pair with the headphone.
2. The bluetooth service will try to connect to the device but it will fail.
3. Press the volume up or volume down buttons on the headphone.
4. Try to connect again if it didn't already connect on it's own.
I got this solution from this thread: https://bbs.archlinux.org/viewtopic.php … 9#p1715239
Cheers
Offline
Connecting to headphone or any other devcie was giving error "Failed to connect: org.bluez.Error.Failed br-connection-profile-unavailable" after a full clean reinstall on my laptop.
Solved by -
1. Downgrading packages bluez, bluez-libs, bluez-utils to version 5.55-1 - from a old backup.
2. systemctl --user restart pulseaudio && sudo systemctl restart bluetooth.service
Thanks for help!
Offline
Just wanted add that I just installed Arch yesterday and experienced the same "Failed to connect: org.bluez.Error.Failed br-connection-profile-unavailable" error.
I was trying to pair my WF-1000XM4 headphones. The fix for me was to downgrade the bluez packages as others have said. Here's a script to do it for those who don't have it in their cache like me:
#!/usr/bin/bash
pacman -U https://archive.archlinux.org/packages/b/bluez/bluez-5.61-1-x86_64.pkg.tar.zst https://archive.archlinux.org/packages/b/bluez-libs/bluez-libs-5.61-1-x86_64.pkg.tar.zst https://archive.archlinux.org/packages/b/bluez-utils/bluez-utils-5.61-1-x86_64.pkg.tar.zst
Offline
I was pulling my hair out trying to figure out why I kept getting "Failed to connect: org.bluez.Error.Failed br-connection-unknown" while trying to connect my WH-1000XM4. Removing my device with bluetoothctl and then repairing it seemed fix my problem.
Offline
for me is killing pulseaudio after install pluseaudio-alsa and pulseaudio-bluetooth the solution for "br-connection-profile-unavailable". just do pulseaudio -k as user and everything works
Offline
for me is killing pulseaudio after install pluseaudio-alsa and pulseaudio-bluetooth the solution for "br-connection-profile-unavailable". just do pulseaudio -k as user and everything works
That solved it here.... so it seems to be a pulseaudio error and not bluetooth?
Offline
For me, installing pulseaudio-bluetooth and rebooting works
As others point out, make sure that pulseaudio is on.
Last edited by sorkaud (2022-02-14 09:52:06)
Offline
Stumbled upon this thread, for people using pipewire, I had to install pipewire-pulse, restart pipewire and everything works now.
Offline
I simply had to run pulseaudio --daemonize to make it to work.
I have the following packages
local/bluez 5.63-2
Daemons for the bluetooth protocol stack
local/bluez-libs 5.63-2
Deprecated libraries for the bluetooth protocol stack
local/bluez-utils 5.63-2
Development and debugging utilities for the bluetooth protocol stack
local/pulseaudio-bluetooth 15.0-4
Offline
for me is killing pulseaudio after install pluseaudio-alsa and pulseaudio-bluetooth the solution for "br-connection-profile-unavailable". just do pulseaudio -k as user and everything works
Yes, this is the scheme I use now. I later found this solution instead of reboot. But then I stopped looking at this thread. Sorry for I didn't mention it sooner.
Last edited by kelen (2022-03-30 09:24:06)
Offline