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

29

Ich habe einen schönen Bluetooth-Audioempfänger an meine HiFi-Stereoanlage angeschlossen, und ich konnte ihn in 14.04 als A2DP-Senke mit guter 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?

Rmano
quelle
Hoffe, das ist nützlich für jemanden. Ich habe 3 Stunden damit verloren ... Ich liebe Upgrades! ;-)
Rmano

Antworten:

39

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.

Ich habe gekämpft
quelle
4
Hier gilt das gleiche. Es sollte jedoch nicht so sein, und es funktionierte in früheren Versionen ordnungsgemäß.
eldad-a
Auch bei mir hat das geklappt. Aber ein wirklich großer Schmerz im A ** für etwas, das in 15.10 und früher (fast) fehlerfrei funktionierte.
Dolanor
Oh glaub mir, ich stimme zu. Es ist ein großer Schmerz. Die einzige Distribution, die BT heutzutage richtig handhabt, ist Solus OS.
rmfought
2
Das ist super komisch, aber es hat funktioniert!
ArcaneDominion
1
Heiliger Strohsack. Ich habe nicht damit gerechnet, aber es hat funktioniert.
Parth Thakkar
35

Es sind mehrere Fehler in diesem Bereich aufgetreten, überprüfen Sie zum Beispiel diesen (seit 15.05) und diesen anderen, der ziemlich älter ist . Die Ursachen im Allgemeinen sind nicht gut verstanden.

Vor dem Ändern von Systemdateien können Sie auch überprüfen, ob der Bluetooth-Lautsprecher in Ubuntu 16.04 keinen Ton wiedergibt (scheint ein anderer Fehler zu sein) und A2DP-Bluetooth in 16.04 nicht funktioniert (behoben in Kommentaren durch ein Kernel-Upgrade).

Das Update, das für mich funktioniert hat, ist das Folgende - danke an Benutzer RobertFM im Launchpad und SimFox3 in den Arch-Foren . 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. Bearbeiten /etc/bluetooth/audio.confund machen Sie es ähnlich wie in diesem Beispiel:

    # 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.padie Zeile und kommentieren Sie sie aus

    #load-module module-bluetooth-discover
    

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

  4. Bearbeiten /usr/bin/start-pulseaudio-x11und fügen Sie die Zeile /usr/bin/pactl load-module module-bluetooth-discovernach dem Laden des Moduls hinzu module-x11-xsmp. 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:

    Toneinstellungen

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

    Bluetooth-Geräte

    ... 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, der Antwort von rmfought zu folgen :

    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 diesem Skript versuchen - der Autor hält es auf dem neuesten Stand.

Rmano
quelle
5
audio.conf ist in ubuntu 16.04 nicht vorhanden, nur main.conf, funktioniert das?
Joakim Koed
2
@JoakimKoed --- Du hast recht, ich habe nachgesehen --- Ich hatte audio.conf-removewahrscheinlich einen Rest von dem Upgrade. Ich habe es einfach neu erstellt - also bin ich im Zweifel, vielleicht sind nur die Punkte 3 und 4 notwendig?
Rmano
1
Die Schritte 3 und 4 wurden für mich nicht repariert, und ich habe die audio.conf wie oben beschrieben und nicht repariert. Das Löschen des Bluetooth-Geräts und das Reparieren von Fixes, aber jedes Mal, wenn Sie Bluetooth-Audio verwenden möchten, ist nicht möglich.
Thomas Carlisle
@ThomasCarlisle sorry das zu hören - hier hat es nach dem ersten mal geklappt (kein erneutes assoziieren nötig). Muss eine andere Sache sein ...
Rmano
1
Brillant! Es macht den Trick mit mir! Ich schlage vor, dass Sie in Ihrer Antwort einen Verweis darauf einfügen, da alles zusammen eine voll funktionsfähige Lösung für das Problem zu bieten scheint. Prost!
Romanovzky
5

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=Headsetunter hinzufügen [General].

[General]
Disable=Headset

Starten Sie den Bluetooth-Dienst neu

sudo service bluetooth restart

Und alle guten Dinge für diesen Kerl: https://jimshaver.net/2015/03/31/going-a2dp-only-on-linux/

helgis
quelle
Pech gehabt, hat bei mir nicht geklappt. Mein Bluetooth-Dock-Symbol ist ausgegraut. Vielleicht ist es der Treiber / das Modul? XPS 13 9350 und Ubuntu 16.04.
Dolanor
@Dolanor Ich bin nicht sicher, ob dies immer noch ein Problem ist, aber wenn das Dock-Symbol ausgegraut ist, bedeutet dies höchstwahrscheinlich, dass Ihr Bluetooth-Adapter softblockiert ist. Probieren Sie rfkill unblock bluetoothund vielleicht sogar bluetoothctlund dann power on(in der Bluetooth-CLI).
FMaz
Dies funktionierte in meinem Fall zorinos 12
FDisk
Auf Ubuntu 18 gibt es keine /etc/bluetooth/audio.confDatei. Ich habe Disable=Headsetauf /etc/bluetooth/main.conf, den Dienst neu gestartet wird , wieder angeschlossen meine Kopfhörer, aber das Audio-Profil war standardmäßig off. Nicht sicher, ob das geklappt hat?
Dan Dascalescu