Bluetooth: Issues connecting with bluetooth devices after service restart (br-connection-profile-unavailable | le-connection-abort-by-local)
- PipeWire version (
pipewire --version
): libpipewire 0.3.48 - Distribution and distribution version (
PRETTY_NAME
from/etc/os-release
): Void Linux - Desktop Environment: herbstluftwm
- Kernel version (
uname -r
): 5.16.16_1 - BlueZ version (
bluetoothctl --version
): bluetoothctl: 5.63 -
lsusb
:
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 27c6:609c Goodix Technology Co., Ltd. Goodix USB2.0 MISC
Bus 003 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 003 Device 004: ID 8087:0032 Intel Corp.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
- Bluetooth devices:
Device D4:EC:AB:64:EC:96 V2040
Description of Problem:
Bluetooth connection (testing with mobile as host and laptop as sound receiver), work and does not work.
It works if:
Installed package bluez libspa-bluetooth
, enabled service bluetoothd dbus pipewire pipewire-pulse
and rebooted (Note 1: does not work unless reboot). And any subsequent reboot it works by default. Restarting service bluetoothd
, it still works, just need to connnect again.
sudo xbps-install -S dbus bluez libspa-bluetooth
for i in dbus bluetoothd pipewire pipewire-pulse; do sudo ln -s /etc/sv/$i /var/service; done
# at the moment does not work
[bluetooth]# connect D4:EC:AB:64:EC:96
Attempting to connect to D4:EC:AB:64:EC:96
Failed to connect: org.bluez.Error.Failed br-connection-profile-unavailable
sudo reboot
# works now
sudo sv restart bluetoothd
# still works, need to run `power on` then just connect as usual
sudo sv restart pipewire-pulse
# still works, nothing needed, no disconnection
And when does not work: At runtime when it was "working", restarted the pipewire service
sudo sv restart pipewire
# magically puts the following sequence at the bluetoothctl console and disconnects
[CHG] Controller F8:B5:4D:D7:15:6C Class: 0x004c010c
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 00001801-0000-1000-8000-00805f9b34fb
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 00001800-0000-1000-8000-00805f9b34fb
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 00001200-0000-1000-8000-00805f9b34fb
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 0000110c-0000-1000-8000-00805f9b34fb
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 0000110e-0000-1000-8000-00805f9b34fb
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 0000180a-0000-1000-8000-00805f9b34fb
[CHG] Controller F8:B5:4D:D7:15:6C Class: 0x000c010c
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 00001801-0000-1000-8000-00805f9b34fb
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 00001800-0000-1000-8000-00805f9b34fb
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 00001200-0000-1000-8000-00805f9b34fb
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 0000110c-0000-1000-8000-00805f9b34fb
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 0000110e-0000-1000-8000-00805f9b34fb
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 0000180a-0000-1000-8000-00805f9b34fb
[CHG] Controller F8:B5:4D:D7:15:6C Class: 0x0008010c
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 00001801-0000-1000-8000-00805f9b34fb
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 00001800-0000-1000-8000-00805f9b34fb
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 00001200-0000-1000-8000-00805f9b34fb
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 0000110c-0000-1000-8000-00805f9b34fb
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 0000110e-0000-1000-8000-00805f9b34fb
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 0000180a-0000-1000-8000-00805f9b34fb
[CHG] Controller F8:B5:4D:D7:15:6C Class: 0x0000010c
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 00001801-0000-1000-8000-00805f9b34fb
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 00001800-0000-1000-8000-00805f9b34fb
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 00001200-0000-1000-8000-00805f9b34fb
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 0000110c-0000-1000-8000-00805f9b34fb
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 0000110e-0000-1000-8000-00805f9b34fb
[CHG] Controller F8:B5:4D:D7:15:6C UUIDs: 0000180a-0000-1000-8000-00805f9b34fb
[CHG] Device D4:EC:AB:64:EC:96 ServicesResolved: no
[CHG] Device D4:EC:AB:64:EC:96 Connected: no
# Now this happens
[bluetooth]# connect D4:EC:AB:64:EC:96
Attempting to connect to D4:EC:AB:64:EC:96
Failed to connect: org.bluez.Error.Failed br-connection-profile-unavailable
# Now whatever I do, restart bluetoothd or pipewire-pulse services, in different sequences,
# or anything regardless, it "doesn't work", unless I reboot once again.
# Although when restarting bluetoothd service now, it stucks until the timeout (41s as measured by prompt),
# and then `le-connection-abort-by-local` (a different error)
sudo sv restart bluetoothd
[bluetooth]# connect D4:EC:AB:64:EC:96
Attempting to connect to D4:EC:AB:64:EC:96
Failed to connect: org.bluez.Error.Failed le-connection-abort-by-local
Now, removing the libspa-bluetooth
package does not break anything at runtime when
connected, or trying connecting, everything works, booting without the package does not let me connect, post install needs reboot as specified earlier.
Actual Results:
- Post installation of
libspa-bluetooth
, unless rebooted, cannot connect. - Restarting
pipewire
when connection was working, breaks everything and unless rebooted I couldn't connect again.
Expected Results:
- Post installation of
libspa-bluetooth
, it should not be required to reboot to make connection work. - Restarting
pipewire
should just make bluetooth connection available again.
Additional Info (as attachments):
Let me know if I need to provide this, also which state do I have to provide it.
-
pw-dump > pw-dump.log
: - Bluetooth debug log, see here: