45 votes

Échec du changement de profil vers headset_head_unit

J'ai connecté le Sony MDR-ZN770BN à mon PC via bluetooth. Mais je ne peux utiliser que A2DP. Lorsque je le passe en HSP, j'obtiens le message "Failed to change profile to headset_head_unit", donc pas d'appel skype possible.

Comment puis-je résoudre ce problème ?

59voto

alisabzevari Points 761

J'ai eu le même problème sur Ubuntu 18.04 avec les Galaxy Earbuds+ et voici comment je l'ai résolu :

Les profils de mes oreillettes étaient A2DP, AVRCP et HFP et ne prenaient pas en charge HSP. Pulseaudio ne prend en charge que le HSP. C'est pourquoi je n'ai pas pu passer à HSP/HFP. Pour que HSP/HFP fonctionne, vous devez activer HFP sur pulseaudio, ce qui nécessite ofono.

  1. Installer ofono :

    sudo apt install ofono
  2. Configure pulseaudio pour qu'il utilise ofono :

  • Goto /etc/pulse/default.pa trouver la ligne load-module module-bluetooth-discover et le modifier dans load-module module-bluetooth-discover headset=ofono .

  • Ajouter l'utilisateur pulse au groupe bluetooth pour accorder la permission : sudo usermod -aG bluetooth pulse (c'est probablement déjà le cas)

  • TRES IMPORTANT : Pour accorder l'autorisation, ajoutez ceci à /etc/dbus-1/system.d/ofono.conf (avant </busconfig> ):

      <policy user="pulse">
        <allow send_destination="org.ofono"/>
      </policy>
  1. Fournir phonesim a ofono . Pour que ofono fonctionne, vous devez lui fournir un modem ! Vous pouvez installer un émulateur de modem appelé phonesim (implémenté par ofono) pour le faire fonctionner :
  • installer ofono-phonesim (dans certaines distros, il s'appelle phonesim ). dans Ubuntu 18.04 (pour Ubuntu 20.04 suivre ce lien ):

     sudo apt install ofono-phonesim
  • Configurez phonesim en ajoutant les lignes suivantes à /etc/ofono/phonesim.conf :

      [phonesim]
      Driver=phonesim
      Address=127.0.0.1
      Port=12345
  • Redémarrage ofono :

     sudo systemctl restart ofono.service
  • Démarrage phonesim :

     ofono-phonesim -p 12345 /usr/share/phonesim/default.xml

Notez que la commande peut être phonesim . Pour s'assurer que phonesim est démarré correctement, vous pouvez cloner le repo de ofono et utiliser leurs scripts de test scripts :

cd /tmp
git clone git://git.kernel.org/pub/scm/network/ofono/ofono.git
cd ofono/test
./list-modems

Vous devriez voir le modem dans le résultat. Il se peut que vous deviez d'abord activer le modem en exécutant enable-modem y online-modem scripts dans le même répertoire.

  • Une fois le modem activé, vous devriez pouvoir activer le profil HFP.
  1. Démarrage automatique de phonesim. Puisque vous avez exécuté phonesim manuellement, vous devez l'exécuter à nouveau après chaque redémarrage. Au lieu de cela, vous pouvez installer ofono-phonesim-autostart qui lancera le phonesim en tant que service.

Références :

30voto

1nfern0 Points 1474

J'ai rencontré le même problème avec le Oneplus Wireless Z Bass edition. Le microphone de mon casque n'était pas détecté par PulseAudio et le problème est que mon casque n'a pas le profil HSP, seulement le profil HFP. Après avoir essayé pendant 2 jours, je suis arrivé à la solution de remplacer PulseAudio par le serveur de son Pipewire, qui supporte lui-même les profils HSP, HFP et A2DP. Il n'y aura donc pas besoin d'installer d'autres utilitaires comme ofono , phonesim . A noter également que mon problème n'a pas été résolu même après avoir suivi toutes les étapes de la configuration. ofono dans PulseAudio. J'ai donc décidé de remplacer PulseAudio par PipeWire.

Voici l'article détaillé que j'ai écrit pour résoudre ce problème, dont j'ajoute également les étapes ici. Vous pouvez les suivre et très probablement résoudre votre problème.

Le microphone du casque Bluetooth n'est pas détecté

Ouvrez votre terminal et suivez les étapes suivantes :

  1. Nous utiliserons un PPA pour ajouter Pipewire à Ubuntu 20.04, qui est maintenu régulièrement :

    sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
  2. Pour mettre à jour les paquets PPA dans votre système, procédez comme suit :

    sudo apt update
  3. Installer le paquet :

    sudo apt install pipewire
  4. Une dépendance doit également être installée avec Pipewire, sinon vous serez confronté au problème suivant "Le casque Bluetooth ne se connecte pas après l'installation de pipewire" . Installez la dépendance en :

    sudo apt install libspa-0.2-bluetooth
  5. Maintenant, il faut installer les bibliothèques du client :

    sudo apt install pipewire-audio-client-libraries
  6. Recharger le démon :

    systemctl --user daemon-reload
  7. Désactiver PulseAudio :

    systemctl --user --now disable pulseaudio.service pulseaudio.socket
  8. Si vous êtes sous Ubuntu 20.04, vous devez également "masquer" le PulseAudio par :

    systemctl --user mask pulseaudio

    Je n'en suis pas sûr mais, si possible, vous pouvez essayer de l'exécuter sur d'autres versions.

  9. Après une nouvelle mise à jour de Pipewire, vous devez également activer l'option pipewire-media-session-service :

    systemctl --user --now enable pipewire-media-session.service
  10. Vous pouvez vous assurer que Pipewire fonctionne maintenant à travers :

    pactl info

    Cette commande donnera le résultat suivant, dans Nom du serveur vous pouvez voir :

    PulseAudio (on PipeWire 0.3.28)

    Les choses devraient maintenant fonctionner et vous pouvez voir votre microphone.


S'il n'apparaît pas, essayez de redémarrer Pipewire par cette commande :

systemctl --user restart pipewire

Vous devez également désinstaller ofono y ofono-phonesim si vous les avez installées.

sudo apt remove ofono
sudo apt remove ofono-phonesim

Si votre microphone n'apparaît toujours pas, vous pouvez essayer de redémarrer une fois, puis de retirer et d'appairer à nouveau votre périphérique Bluetooth pour vérifier s'il fonctionne maintenant.

J'espère vous avoir aidé à résoudre votre problème.

Si vous souhaitez annuler tous les changements que nous avons effectués, vous pouvez le faire en utilisant :

systemctl --user --now disable pipewire-media-session.service
systemctl --user unmask pulseaudio
systemctl --user --now enable pulseaudio.service pulseaudio.socket

Copié des commentaires, en cas d'erreur "Connection failure : Connexion refusée" :

faire cette étape :

systemctl --user restart pipewire-pulse

14voto

Hamy Points 5700

J'ai initialement posté ceci en tant qu'édition du post de @alisabzevari, mais l'édition a été rejetée :( Je pense toujours que l'information est très précieuse, et je ne voudrais pas la perdre, donc je la poste en tant que réponse :

A partir de 2020-10-17, dans Ubuntu 20.04 ofono-phonesim-autostart n'est pas disponible. Ce que vous pourriez faire, c'est créer ce qui suit systemd pour le lancer en tant que démon au démarrage :

Exécuter ofono-phonesim -p 12345 /usr/share/phonesim/default.xml au démarrage en tant qu'unité systemd, créer le fichier /etc/systemd/system/ofono-phonesim.service (en tant que root) avec le contenu suivant :

[Unit]
Description=Run ofono-phonesim in the background

[Service]   
ExecStart=ofono-phonesim -p 12345 /usr/share/phonesim/default.xml
Type=simple
RemainAfterExit=yes

[Install]   
WantedBy=multi-user.target

Après ofono-phonesim s'exécute, vous devrez également activer et mettre en place l'option phonesim modem en ligne. J'ai (@Zoltán) fait cela en créant un autre systemd qui dépend du fichier de l'unité ci-dessus ofono-phonesim systemd unité. Mettez le contenu suivant dans /etc/systemd/system/phonesim-enable-modem.service :

[Unit]
Description=Enable and online phonesim modem
Requires=ofono-phonesim.service

[Service]
ExecStart=/<path-to-cloned-ofono-git-repo>/test/enable-modem /phonesim
ExecStart=/<path-to-cloned-ofono-git-repo>/test/online-modem /phonesim
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Exécutez ensuite les commandes suivantes pour lancer les deux démons :

sudo systemctl daemon-reload

sudo systemctl enable ofono-phonesim.service
sudo systemctl enable phonesim-enable-modem.service
sudo service phonesim-enable-modem start

Vérifier si le service est en cours d'exécution avec

sudo service phonesim-enable-modem status

Enfin, redémarrer pulseaudio con pulseaudio -k . Vous devriez maintenant pouvoir changer le profil en headset_head_unit .

3voto

thedopepirate Points 49

J'ai essayé tout ce que je pouvais, même les réponses ci-dessus. Mais je ne pouvais pas utiliser le microphone de mon casque. J'ai donc trouvé un autre moyen d'utiliser un micro.

Tout ce dont vous avez besoin, c'est d'un Téléphone Android avec bluetooth .

Tout d'abord, allez sur Google Playstore sur votre téléphone et téléchargez une application de microphone Bluetooth.

J'ai utilisé celui-ci (Simple Bluetooth Mic) : https://play.google.com/store/apps/details?id=com.app.google.chrischan.simplebluetoothmic

Vous pouvez également utiliser ceci : https://play.google.com/store/apps/details?id=wimlog.com.myandroidtest4 .

Connectez le bluetooth du téléphone à votre PC.

Connectez maintenant votre casque Bluetooth à votre PC. (Les deux appareils doivent être connectés simultanément)

Ouvrez l'application Simple Bluetooth Mic sur votre téléphone, cliquez sur parler.

Voilà, c'est fait.

En fait, vous utilisez le micro de votre téléphone, parce que nous ne pouvons pas utiliser le casque bluetooth pour l'entrée et la sortie audio (passer de A2DP à HSP à chaque fois que vous avez besoin d'utiliser le micro du casque est très irritant).

Si cela ne fonctionne pas, allez dans vos paramètres sonores et choisissez comme périphérique d'entrée le bluetooth de votre téléphone.

J'ESPÈRE QUE CELA VOUS AIDERA :)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X