[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bluetooth headset "protocol not available". (Bug#998220)



I was about to comment on Bug#998220, but I changed my mind.


I do have `pipewire` installed. For one thing `libpipewire` is in the dependencies of `kwin-wayland`, so it's a requirement on my system.


After last upgrade (sid) a couple of days ago, bluetooth headset were refusing to connect, "Protocol not available". But they were willing to connect if I was before doing: (after each reboot)


`systemctl --user restart pulseaudio.service`


Then I decided to do some searches, and here is what came from it.

I'm putting it here because it's not sure at all that every bit of what I did was really necessary. Specifically, were the libraries `libspa-0.2-bluetooth` and `pipewire-audio-client-libraries` really needed. Or even just `libspa-0.2-bluetooth`.


===

 

I do initially, have the following issue:

 

`otherwise device connections will fail with "Protocol not available".` (https://wiki.debian.org/PipeWire)


Here is an edited version of how I fixed it on #debian-next:


===


Giving the ubuntu tuto a try now (https://askubuntu.com/questions/1339765/replacing-pulseaudio-with-pipewire-in-ubuntu-20-04)

 

`sudo aptitude install libspa-0.2-bluetooth pipewire-audio-client-libraries`

 

`systemctl --user daemon-reload` (as plain user, other terminal)
`systemctl --user --now disable pulseaudio.service pulseaudio.socket`

 

`systemctl --user mask pulseaudio`
=> `Created symlink /home/chris/.config/systemd/user/pulseaudio.service → /dev/null.`

 

`systemctl --user --now enable pipewire-media-session.service`
=> `Failed to enable unit: Unit file /etc/xdg/systemd/user/pipewire-media-session.service is masked.`


Here I'm suggested to use the two pivotal following lines:


`sudo aptitude purge pipewire-media-session`

`sudo aptitude reinstall wireplumber`
=> "Created symlink /etc/systemd/user/pipewire-session-manager.service → /usr/lib/systemd/user/wireplumber.service."

I still have "device connections will fail with "Protocol not available"."

`systemctl --user restart pipewire`

There it is.

Bottom line:
I did not follow https://wiki.debian.org/PipeWire which contains things not possible to do.
I followed https://askubuntu.com/questions/1339765/replacing-pulseaudio-with-pipewire-in-ubuntu-20-04
With `pipewire-media-session` replaced by `wireplumber`.
I did do `apt purge --autoremove pipewire-media-session` and then `apt install --reinstall wireplumber`
And `systemctl --user restart pipewire`

I didn't do: `touch /etc/pipewire/media-session.d/with-pulseaudio`, nor did I do: `cp /usr/share/doc/pipewire/examples/systemd/user/pipewire-pulse.* /etc/systemd/user/` (from https://wiki.debian.org/PipeWire)

The line: "Install pipewire-pulse (which replaces pulseaudio and pulseaudio-bluetooth)" from https://wiki.archlinux.org/title/bluetooth_headset suggests that the two latter packages should be removed (not sure about that, just saying)

I rebooted to see if it'd be still working: it auto connected very very quickly. And audio is working.


===


Packages: https://packages.debian.org/sid/libspa-0.2-bluetooth and https://packages.debian.org/sid/pipewire-audio-client-libraries are saying that they are "experimental".


That could explain why they are not in the dependencies.


But they seem to work.


I don't know if they are both required or only the first one. But `pipewire-pulse` is not working without them. So they must be added to the dependencies.


Audio and bluetooth are working very well with them.


===




Reply to: