Casque bluetooth reconnu, mais pas dispo en interface audio (pipewire)

Tags: #<Tag:0x00007f50a219e098> #<Tag:0x00007f50a219df30>

bonsoir, j’ai plusieurs appareils audio bluetooth qui se connectent (pairing) avec succès mais aucun n’est disponible en tant qu’interface audio sur mon système.
un ex. avec des écouteurs :

kro@monopoutre ~  bt-device -s 00:00:00:00:1F:0B
Discovering services...

[RECORD:0x10002]
SrvClassIDList: "Handsfree", "Audio"
ProtocolDescList: 
    "L2CAP"
    "RFCOMM", Channel: 2
BTProfileDescList: 
    "Handsfree", 0x107
SrvName: "Hands-Free unit"

[RECORD:0x10001]
SrvClassIDList: "Headset", "Audio", "UUID-0x1131"
ProtocolDescList: 
    "L2CAP"
    "RFCOMM", Channel: 1
BTProfileDescList: 
    "Headset", 0x102
SrvName: "Headset-HS"

Done

Gnome, pavucontrol ou encore aplay -l ne le détectent pas (pareil quel que soit l’appareil bluetooth).

je suis sous debian testing / bookworm avec pipewire 0.3.40-1
j’ai suivi cette doc :
https://wiki.debian.org/BluetoothUser/a2dp#Refused_to_switch_profile_to_a2dp_sink:_Not_connected
(qui concerne a priori plutôt pulseaudio) - en essayant les workaround 1 et 2

et celle-ci :
https://wiki.debian.org/PipeWire#Bluetooth
libspa-0.2-bluetooth est bien installé et pulseaudio-module-bluetooth désinstallé.

aucun succès pour le moment, et là je sèche…

quelqu’un aurait une idée ? merci !

Le protocole a2dp procure un son de qualité mais il est unidirectionnel et du coup pas de micro …
J’avais testé un casque bluetooth au taff sur du Ubuntu, même constat.

Du coup pour avoir les écouteurs et le micro il faut passer sur le format HFP, il me semble que Pipewire et des versions très récentes de Pulseaudio permettent de gérer le format à tester (j’avais tester sur Pipewire sur Ubuntu).

Mais la qualité était vraiment pas terrible (sorte de mono qui grésille pour les écouteurs un un son pas tip top pour le micro).

A voir si ça évolué, il y avait aussi un projet pour gérer le switch auto des écouteurs et du micro pour bénéficier du micro quand on n’en as besoin et des écouteurs en a2dp le restant du temps mais pareil pas vue d’avancement là-dessus.

un peu de lecture :

https://wiki.archlinux.org/title/bluetooth_headset

Merci Clochette !

(je sais bien ce qu’est a2dp, mais perso je m’en fiche du micro ou pas, ou de la qualité audio pour le moment.)

pour l’instant le problème c’est qu’absolument aucun appareil audio bluetooth n’apparaît comme appareil audio d’après pipewire.
par contre ils sont bien visibles via bluealsa :

kro@monopoutre ~  bluealsa-aplay -L
bluealsa:SRV=org.bluealsa,DEV=00:00:00:00:1F:0B,PROFILE=a2dp
    HAVIT I39, trusted audio-card, playback
    A2DP (SBC): S16_LE 2 channels 48000 Hz
bluealsa:SRV=org.bluealsa,DEV=00:00:00:00:1F:0B,PROFILE=sco
    HAVIT I39, trusted audio-card, playback
    SCO (CVSD): S16_LE 1 channel 8000 Hz
bluealsa:SRV=org.bluealsa,DEV=00:00:00:00:1F:0B,PROFILE=sco
    HAVIT I39, trusted audio-card, capture
    SCO (CVSD): S16_LE 1 channel 8000 Hz
kro@monopoutre ~  aplay -l
**** Liste des périphériques matériels PLAYBACK ****
carte 0 : Generic [HD-Audio Generic], périphérique 3 : HDMI 0 [HDMI 0]
  Sous-périphériques : 1/1
  Sous-périphérique #0 : subdevice #0
carte 0 : Generic [HD-Audio Generic], périphérique 7 : HDMI 1 [HDMI 1]
  Sous-périphériques : 1/1
  Sous-périphérique #0 : subdevice #0
carte 0 : Generic [HD-Audio Generic], périphérique 8 : HDMI 2 [HDMI 2]
  Sous-périphériques : 1/1
  Sous-périphérique #0 : subdevice #0
carte 1 : Generic_1 [HD-Audio Generic], périphérique 0 : ALC257 Analog [ALC257 Analog]
  Sous-périphériques : 1/1
  Sous-périphérique #0 : subdevice #0

(je ne sais pas si les périphériques bluetooth sont sensés être visibles avec aplay -l)

un truc qui me parait un poil suspect par rapport à cette doc : BluetoothUser/a2dp - Debian Wiki

c’est que le fichier /etc/pipewire/media-session.d/bluez-monitor.conf n’existe pas chez moi.

si il existe chez quelqu’un je veux bien le retour de :

dpkg -S /etc/pipewire/media-session.d/bluez-monitor.conf

moi je n’ai rien :

kro@monopoutre ~  apt-file search /etc/pipewire/media-session.d/bluez-monitor.conf
kro@monopoutre ~

Tu devrais avoir ce fichier :

/usr/share/pipewire/media-session.d/bluez-monitor.conf

salut bruno

je n’avais pas ce fichier mais :

kro@monopoutre  apt-file search /usr/share/pipewire/media-session.d/bluez-monitor.conf
pipewire-media-session: /usr/share/pipewire/media-session.d/bluez-monitor.conf

kro@monopoutre  apt list pipewire-media-session -a
En train de lister... Fait
pipewire-media-session/testing 0.4.1-2 amd64 [configuration restante]
pipewire-media-session/now 0.3.38-2 amd64 [configuration restante]

kro@monopoutre sudo apt install pipewire-media-session
Lecture des listes de paquets... Faitchecode  sudo apt install pipewire-media-session
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait      
Le paquet suivant a été installé automatiquement et n'est plus nécessaire :
  libwireplumber-0.4-0
Veuillez utiliser « sudo apt autoremove » pour le supprimer.
Les paquets suivants seront ENLEVÉS :
  wireplumber
Les NOUVEAUX paquets suivants seront installés :
  pipewire-media-session
0 mis à jour, 1 nouvellement installés, 1 à enlever et 3 non mis à jour.
Il est nécessaire de prendre 155 ko dans les archives.
Après cette opération, 668 ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n]

pipewire-media-session / wireplumber ? mon cœur balance…

du coup à la place j’ai bien un fichier /usr/share/wireplumber/bluetooth.conf, je pense que je fais fausse route…

oh ! suivant ces infos : WirePlumber bluetooth codec config - Ask Fedora
et celles-ci : https://github.com/bluez/bluez/issues/157

j’ai supprimé le répertoire /var/lib/bluetooth et tout s’est mis à fonctionner direct !