Pi 3B+ bluetooth

Bonjour,

je suis débutant sur Linux, je me suis donc lancé (après mac, depuis le système 7 et le monde Windows depuis windows 3…) et j’ai investi dans un raspberry pi 3b+. Je voudrais utiliser en particulier la fonction bluetooth, mais impossible de basculer l’audio vers une enceinte.
J’ai installé la dernière version Raspbian, version système sur la Pi : V9.6.
L’enceinte s’appaire bien avec le Pi (de manière quasi automatique, très bonne chose), mais dans les préférences “son/video” (menu déroulant accessible haut à gauche) un seul contrôle (carte Pi), qui n’a aucune action sur la sortie vers le bluetooth, et impossibilité d’envoyer le son vers l’enceinte. La sortie audio et HDMI fonctionnent bien.
L’enceinte fonctionne avec un tel. portable .
Je n’ai pas trouvé de post sur ce problème.

Par avance merci.

Regarde par là:

Sinon, pour le bluetooth, tu peux aussi lancer la commande bluetoothctl
Ca te fait rentrer dans un interpréteur de commandes ou tu peux donner des ordres au systéme bluetooth.
là, tu peux taper par exemple:

  • power on pour allumer le bluetooth
  • scan permet de scanner le voisinage et de récupèrer les ids de périphériques
  • agent on lance l’agent d’apariage automatique
  • pair <id> apparie le dispositif avec l’id
  • trust <id> mémorise l’association.

Et aprés, tu as des commandes pour activer/desactiver un service bluetooth comme le son ou autre.
Par contre je ne connais pas bien, donc si tu en arrives à bidouiller à ce niveau là et que tu as besoin d’aide, il faudra que je lise la doc moi même pour connaitre la syntaxe pour faire ça. :smiley:
http://man.nicevoid.com/man/man1/bluetoothctl

Merci pour les liens.
J’ai parcouru cet article bien documenté, mais dans le le menu déroulant des Ctrls, il n’y a que la ligne bcm2835 ALSA Analog Stereo.
L’enceinte n’apparaît pas dans “output devices”, bien qu’elle soit connectée et appairée (tout s’est installé automatiquement à la mise sous tension de l’enceinte : ça s’est top).
Je vais analyser les commandes du second lien, et voir celle qui pourrait correspondre au problème de “dialogue”.

Tu es bien aparié, mais ton enceinte ne doit pas avoir le service audio activé.
En creusant, j’ai vu une piste ici:
https://wiki.archlinux.fr/bluetooth#Utilisation_d.27un_casque.2Foreillette_bluetooth
Ca parle de pulseaudio, mais je crois que toi, c’est plutot bluez-alsa qui gère et qu’il faut AMA creuser.
A priori, il suffirait donc d’éditer le fichier /etc/dbus-1/system.d/bluetooth.conf pour y ajouter:

<policy user="bluealsa">
  <allow send_destination="org.bluez"/>
</policy>

puis redémarrer (en root) le service avec systemctl reload-or-restart bluealsa.service

Normalement aprés ça, tu apparies ton enceinte, et tu devrais avoir le son bluetooth comme sortie qui apparait dans ton interface.

Merci. J’essaie ce soir, et je te fais un retour.

Avec l’éditeur de fichier j’ai voulu corrigé les lignes finales car il y avait :

<!-- This configuration file specifies the required security policies
     for Bluetooth core daemon to work. -->

<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>

  <!-- ../system.conf have denied everything, so we just punch some holes -->

  <policy user="root">
    <allow own="org.bluez"/>
    <allow send_destination="org.bluez"/>
    <allow send_interface="org.bluez.Agent1"/>
    <allow send_interface="org.bluez.MediaEndpoint1"/>
    <allow send_interface="org.bluez.MediaPlayer1"/>
    <allow send_interface="org.bluez.ThermometerWatcher1"/>
    <allow send_interface="org.bluez.AlertAgent1"/>
    <allow send_interface="org.bluez.Profile1"/>
    <allow send_interface="org.bluez.HeartRateWatcher1"/>
    <allow send_interface="org.bluez.CyclingSpeedWatcher1"/>
    <allow send_interface="org.bluez.GattCharacteristic1"/>
    <allow send_interface="org.bluez.GattDescriptor1"/>
    <allow send_interface="org.freedesktop.DBus.ObjectManager"/>
    <allow send_interface="org.freedesktop.DBus.Properties"/>
  </policy>

  <!-- allow users of bluetooth group to communicate -->
  <policy group="bluetooth">
    <allow send_destination="org.bluez"/>
  </policy>

  <policy at_console="true">
    <allow send_destination="org.bluez"/>
  </policy>

  <!-- allow users of lp group (printing subsystem) to 
       communicate with bluetoothd -->
  <policy group="lp">
    <allow send_destination="org.bluez"/>
  </policy>

  <policy context="default">
    <deny send_destination="org.bluez"/>
  </policy>

</busconfig>

Je pensais remplacer le “deny” par “allow” (seule valeur qui me semblait erronée), mais une fois corrigé, impossible de l’enregistrer (interdiction, impossible d’ouvrir le fichier en écriture) avec text editor.

C’est parceque c’est un fichier systéme, il faut éditer le fichier en étant root, impossible comme utilisateur normal.
Comme les éditeurs visuels ne fonctionnent pas en root, il faut que tu utilises par exemple nano pour éditer le fichier, donc tu passes en root dans une console, et tu lances nano /etc/dbus-1/system.d/bluetooth.conf.

C’est que j’ai pensé, comme dans le monde des autres OS. Il le fallait juste le nom d’un éditeur qui travail dans ce mode. J’essaie demain, ce soir de sortie…
Encore merci.

[HS]
Alors en fait, je t’ai donné la solution qui marchait dans tous les cas pour ouvrir un éditeur en root, mais si tu as installé et configuré sudo, tu peux par exemple directement lancer sudo gedit /etc/dbus-1/system.d/bluetooth.conf et ça t’ouvrira direct l’éditeur graphique en root sur le fichier.
Si tu as sudo.
Et gedit sous gnome…
[/HS]

Merci encore.
Modification effectuée avec sudo, mais toujours pareil : il n’y a que des grésillements qui sortent de l’enceinte. Je pencherai plus sur le mixer lui-même qui s’appelle “pimixer” à l’ouverture de "audio device settings "du menu “préférences”.
Je vais essayer de trouver un autre “mixer”.

Bonjour,

Chez moi ça fonctionne comme ça (de mémoire, à tester sans garantie, bien penser à noter les paquets supprimés et installés pour pouvoir faire machine arrière;)

En root

# apt remove --purge alsa-base bluealsa
# apt install pulseaudio pulseaudio-module-bluetooth padevchooser paman paprefs pavucontrol pavumeter pulseaudio-module-zeroconf pulseaudio-utils

Reboot et choisir la bonne sortie dans le contrôleur de volume pulseaudio

NB : tous ces paquets ne sont peut-être pas nécessaire…

J’ai effectivement fait ces modification, mais du coup plus de bluetooth. J’ai donc réinstallé RASBIAN sur la carte. J’ai installé un lecteur audio Audacious. Pour avoir le son sur l’enceinte, il faut d’abord la connecter (c’est automatique), puis je lance audacious. Apparition d’une erreur (avec sens interdit) et le message “alsa error : snd_mixer_find_selem failed”. après un clic sur close, la musique sort de l’enceinte :slightly_smiling_face:…c’est pouquoi je pense qu’il y a un pb sur le “mixer”.
J’ai testé VLC, mais ça bloque aussi, sans message d’erreur.
Par contre, il faut d’abord choisir sur le tableau de bord en haut la sortie avant de lancer l’application.