a2dp-sink profile Protocol not available
Tags: bluetooth, pipewire, pulseaudio, spanish
Published: 2023-08-08 05:18:53

_Bitácora del 5 y 7 de Agosto del 2023._

Esta historia comienza con una actualización de mi **SO** principal (_y más amado también_: **Debian12**) cuando, un día común  después de una actualización, dejaron de funcionar todos mis dispositivos bluetooth de audio.

Los errores evidentes resultaban ser:

> Los audífonos `número 1` se conectan, al paso de unos segundos se desconectan.

> Los audífonos `número 2` se conectan, aparentemente nunca terminan la conexión.

> En ambos casos la conexión se termina y no puede escucharse nada en los audífonos.


Mi primer impulso resaltó la tarjeta original de la _Zephirus g14 2022_, sin embargo tal hecho resultaba improbable ya que unos meses antes había realizado el cambio a una [Intel AX210](https://www.intel.com/content/www/us/en/support/articles/000005511/wireless.html) por incompatibilidad en los drivers.

Algo me decía que debía empezar por revisar bitácoras y buscar un error que se reportara a la hora de intentar hacer una conexión a los dispositivos, así que procedí a cambiar mi usuario en la terminal a `root` y visualizar el journal de forma constante.

```bash
# Log del journatctl
$ journalctl -f
```

Para ser honestos, empecé intentando hacer la conexión por medio de la interfaz gráfica, sin embargo tras una serie de intentos frustrantes por la necesidad de inmediatez, una laguna mental se despejó permitiéndome recordar que existía una utilidad llamada `bluetoothctl`. Como siempre `tldr` fue un gran aliado.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o1qx4b73exyexj549ksk.png)

Después de escanear, emparejar, conectar, desconectar y eliminar varias veces uno de mis dispositivos bluetooth logré dar con el texto que procuraba: *a2dp-sink profile Protocol not available*, ese hecho me dió una palanca para empezar a buscar soluciones por medio del viejo pero sabio internet indexado, aún no puedo confiar a la IA una tarea tan específica.

Para mi suerte parcial, existe una entrada el [wiki de Debian](https://wiki.debian.org/BluetoothUser/a2dp#a2dp-sink_profile_connect_failed_.5B....5D:_Protocol_not_available) sobre este problema en específico, eso quería decir que no podía ser tan complicado ... iluso yo, nuevamente. Según el texto oficial, el problema debería resolverse simplemente desinstalando el paquete `pulseaudio-module-bluetooth` ya que Debian12 usa PipeWire como servidor de audio por defecto.


Nuevamente a escanear, emparejar, conectar, desconectar, eliminar varias veces uno de mis dispositivos bluetooth, no logré avanzar en mi labor, estaba en un callejón oscuro agitando mi bastón cuando, por consecuencia de una de [mis búsquedas](https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1151) dí con otro punto clave: la falta de `libspa-0.2-bluetooth` en mi vida.

```bash
# Instalamos libspa
# ✨ Esta fue la magia en mi solución
$ apt-get install libspa-0.2-bluetooth
```

Una vez realizado este paso, y siguiendo la referencia encontrada, solo quedaba reiniciar el tanto el servidor de audio como el manejador de sesión para comprobar nuevamente. Debo recalcar que estos pasos los ejecuté con el usuario que tiene el escritorio (no como root).

```bash
# Reinicio del servidor de audio pipewire
$ systemctl --user restart pipewire-pulse.service pipewire.service
# Reinicio del session manager
$ systemctl --user restart wireplumber.service
```

Como era de esperarse: escanear, emparejar, conectar ... ¡se logró tener la conexión!

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t24hnyodloludi1eqz9c.png)

Durante toda esta travesía personal aprendí un par de cosas nuevas y recolecté una lista de recursos que pueden ser muy interesantes para el futuro, mismos que listo a continuación.

## 🔗 Referencias
-  [Debian Issue](https://wiki.debian.org/BluetoothUser/a2dp#a2dp-sink_profile_connect_failed_.5B....5D:_Protocol_not_available)
- [Pipewire Issue](https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1151)
- [Pipewire en Debian 11](https://trendoceans.com/install-pipewire-on-debian-11/)
- [Linux Explained Audio](https://www.youtube.com/watch?v=HxEXMHcwtlI)
- [Pipewire overview](https://www.youtube.com/watch?v=A6tomqOZvM4&t=2s)