Bluetooth connection issues on Slackware 15.0
I wanted to enjoy a lazy Saturday morning by listening to some black metal on my Slackware 15 installation. However, before I could get to that, I had to connect my Samsung soundbar to my Slackware machine over Bluetooth. Unexpectedly, after establishing a connection, the devices immediately disconnected.
BlueZ and PulseAudio
To figure out what was going on, I decided to use bluetoothctl from the shell so I could get a bit more verbose information:
The outbound pairing is completed without issues. However, the devices can’t be successfully connected from a paired state. The connection attempt fails with the following error message:
Failed to connect: org.bluez.Error.Failed br-connection-profile-unavailable
What would Arch do
To figure out the problem, I turned to my favorite up-to-date source for Linux documentation, namely the Arch wiki. They have the following piece of advice on their Bluetooth page:
If using a device without a PIN, one may need to manually trust the device before it can reconnect successfully.
OK, I have never needed to trust my Samsung soundbar to establish a connection with it from any device before, but let’s give it a shot.
Well, that turned out to be an easy fix after all. I suspect this is somehow related to PulseAudio, as I did not experience the same issue when I switched from PulseAudio to PipeWire.
How to enable PipeWire as the default audio server on Slackware
Bonus round. Our benevolent dictator for life has made it simple to replace PulseAudio with PipeWire as the default audio server on Slackware 15.0. All you have to do is to execute the following script as the root user:
Restart the desktop session and enjoy your new audio server.
Should you want to bring PulseAudio back (why would you), the entire process can be reversed by simply executing the following script:
OS: Slackware 15.0
- BlueZ 5.64
- PipeWire 0.3.44
- PulseAudio 15.0