it-swarm.com.de

Nach dem Update auf 16.04 funktionierte der Bluetooth Audio A2DP-Modus nicht mehr

Ich habe einen Nice Bluetooth-Audioempfänger an meine HiFi-Stereoanlage angeschlossen und konnte ihn in 14.04 als A2DP-Senke mit Nice-Qualität anschließen.

Nach dem Upgrade auf 16.04 stellt das Gerät nur eine Verbindung als Headset her. Wenn ich versuche, es in den A2DP-Modus zu schalten, wird in meinem Syslog der folgende Fehler angezeigt:

May 21 11:35:50 RRyS pulseaudio[6159]: [pulseaudio] module-bluez5-device.c: Refused to switch profile to a2dp_sink: Not connected

und die Audioqualität ist miserabel. Wie kann ich es reparieren?

29
Rmano

Es sind mehrere Fehler in diesem Bereich aufgetreten, überprüfen Sie zum Beispiel dieser (seit 15.05) und dieser andere, ziemlich ältere ; Die Ursachen im Allgemeinen sind nicht gut verstanden.

Bevor Sie mit dem Ändern von Systemdateien beginnen, können Sie auch Bluetooth-Lautsprecher in Ubuntu 16.04 nicht hörbar (scheint ein anderer Fehler zu sein) und A2DP-Bluetooth funktioniert nicht in 16.04 (in Kommentaren behoben) überprüfen durch ein Kernel-Upgrade).

Das Update, das für mich funktioniert hat, ist das folgende --- dank Benutzer RobertFM im Launchpad und SimFox3 im Arch-Forum . Alle folgenden Anweisungen müssen von einer Root-Shell (Sudo -i) ausgeführt werden. Vorsicht und dreifache Kontrolle.

  1. Erstellen Sie zunächst eine Sicherungskopie dieser Dateien (Sie wissen es nie):

    cp /etc/bluetooth/audio.conf /etc/bluetooth/audio.conf.bak
    cp /etc/Pulse/default.pa /etc/Pulse/default.pa.bak
    cp /usr/bin/start-pulseaudio-x11 /usr/bin/start-pulseaudio-x11.bak
    
  2. Bearbeite /etc/bluetooth/audio.conf und mache es diesem ähnlich:

    # Configuration file for the audio service
    # This section contains options which are not specific to any
    # particular interface
    [General]
    Enable=Gateway,Source
    
    # Switch to master role for incoming connections (defaults to true)
    Master=true
    
    # If we want to disable support for specific services
    # Defaults to supporting all implemented services
    #Disable=Gateway,Source,Socket
    Disable=Socket
    
    # SCO routing. Either PCM or HCI (in which case audio is routed to/from ALSA)
    # Defaults to HCI
    #SCORouting=HCI
    
    # Automatically connect both A2DP and HFP/HSP profiles for incoming
    # connections. Some headsets that support both profiles will only connect the
    # other one automatically so the default setting of true is usually a good
    # idea.
    AutoConnect=true
    
    # Headset interface specific options (i.e. options which affect how the audio
    # service interacts with remote headset devices)
    [Headset]
    
    # Set to true to support HFP, false means only HSP is supported
    # Defaults to true
    HFP=true
    
    # Maximum number of connected HSP/HFP devices per adapter. Defaults to 1
    MaxConnected=2
    
    # Set to true to enable use of fast connectable mode (faster page scanning)
    # for HFP when incoming call starts. Default settings are restored after
    # call is answered or rejected. Page scan interval is much shorter and page
    # scan type changed to interlaced. Such allows faster connection initiated
    # by a headset.
    FastConnectable=true
    
    # Just an example of potential config options for the other interfaces
    #[A2DP]
    #SBCSources=1
    #MPEG12Sources=0
    
  3. Bearbeiten Sie /etc/Pulse/default.pa und kommentieren Sie die Zeile aus

    #load-module module-bluetooth-discover
    

    (Sie müssen wirklich nur den # am Anfang hinzufügen)

  4. Bearbeiten Sie /usr/bin/start-pulseaudio-x11 und fügen Sie nach dem Laden des Moduls /usr/bin/pactl load-module module-bluetooth-discover die Zeile module-x11-xsmp hinzu; In der Praxis sollten Sie die Datei am Ende bearbeiten, um eine Zeilengruppe zu erhalten

    if [ x"$SESSION_MANAGER" != x ] ; then
        /usr/bin/pactl load-module module-x11-xsmp "display=$DISPLAY session_manager=$SESSION_MANAGER" > /dev/null
        # add this line here:
        /usr/bin/pactl load-module module-bluetooth-discover
    fi
    
  5. Starten Sie neu.

    Jetzt sollten Sie in der Lage sein, Ihr Gerät auf A2DP einzustellen und qualitativ hochwertige Musik zu genießen:

    Sound settings

    Beachten Sie, dass Sie Ihr Gerät manchmal trennen und erneut verbinden müssen, um A2DP wieder zu aktivieren:

    Bluetooth devices

    ... ja, es ist eine Dose Bugs. Aber wenn es funktioniert, funktioniert es wunderbar.

  6. Probleme nach dem Neustart

    Nach all dem scheint der Trick irgendwann erst nach dem nächsten Neustart zu funktionieren. Versuchen Sie in einem solchen Fall, rmfought's answer zu befolgen:

    Für mich funktioniert es, das Bluetooth-Gerät anzuschließen, in den HSP/HFP-Modus zu wechseln, die Verbindung zu trennen, die Verbindung wiederherzustellen und dann in den A2DP-Modus zu wechseln.

    ... funktioniert auch bei mir (mal wieder). Ich musste den Dongle sogar einmal neu koppeln.

  7. Wenn es immer noch nicht funktioniert ...

    Wenn dies auch bei Ihnen nicht funktioniert, können Sie es mit dieses Skript --- versuchen. Der Autor hält es auf dem neuesten Stand.

35
Rmano

Für mich funktioniert es, das Bluetooth-Gerät anzuschließen, in den HSP/HFP-Modus zu wechseln, die Verbindung zu trennen, die Verbindung wiederherzustellen und dann in den A2DP-Modus zu wechseln.

38
rmfought

Dies ist nicht unbedingt eine Lösung für diejenigen, die das Mikrofon benötigen, aber dies funktionierte in Ubuntu 16.04 für mich:

Sudo nano /etc/bluetooth/audio.conf

Und dann Disable=Headset unter [General] hinzufügen.

[General]
Disable=Headset

Starten Sie den Bluetooth-Dienst neu

Sudo service bluetooth restart

Und alle Creds zu diesem Kerl: https://jimshaver.net/2015/03/31/going-a2dp-only-on-linux/

5
helgis