Dopo l'aggiornamento a 16.04, la modalità A2DP audio bluetooth ha smesso di funzionare


29

Ho un bel ricevitore audio bluetooth collegato al mio stereo HiFi, e ero in grado di collegarlo in 14.04 come un lavandino A2DP di buona qualità.

Dopo l'aggiornamento a 16.04, il dispositivo si collega solo come auricolare e quando provo a cambiarlo in modalità A2DP, ho questo errore nel mio syslog:

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

e la qualità dell'audio è abismale. Come posso ripararlo?


Spero che questo sia utile a qualcuno. Ho perso 3 ore scavando in esso ... Adoro gli aggiornamenti! ;-)
Rmano,

Risposte:


39

Quello che funziona per me è collegare il dispositivo bluetooth, passare alla modalità HSP / HFP, disconnettere, riconnettere e quindi passare alla modalità A2DP.


4
Anch'io. Tuttavia, non dovrebbe essere così e funzionava correttamente nella versione precedente.
eldad-a

Anche per me ha funzionato. Ma un vero grande dolore nell'a ** per qualcosa che stava funzionando (quasi) senza problemi nel 15.10 e prima.
Dolanor,

Oh credimi, sono d'accordo. è un dolore enorme. L'unica distro che ho trovato che gestisce BT correttamente fuori dalla scatola al giorno d'oggi è Solus OS.
razziato il

2
Questo è super strano ma ha funzionato!
ArcaneDominion

1
Merda santa. Non mi aspettavo che funzionasse, ma lo ha fatto.
Parth Thakkar,

35

Ci sono diversi bug aperti su questo, controlla per esempio questo (iniziato nel 15.05) e quest'altro, piuttosto vecchio ; le cause in generale non sono ben comprese.

Prima di iniziare a modificare i file di sistema, puoi anche controllare che l' altoparlante Bluetooth non suoni in Ubuntu 16.04 (sembra un bug diverso) e il bluetooth A2DP non funziona su 16.04 (risolto nei commenti da un aggiornamento del kernel).

La correzione che ha funzionato per me è la seguente --- grazie all'utente RobertFM nel launchpad e SimFox3 nei forum Arch . Tutte le seguenti istruzioni devono essere eseguite da una shell root ( sudo -i). Fare attenzione e triplo controllo.

  1. Prima di tutto, fai un backup di questi file (non lo sai mai):

    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. Modifica /etc/bluetooth/audio.confe rendilo simile a questo:

    # 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. Modifica /etc/pulse/default.pae commenta la riga

    #load-module module-bluetooth-discover
    

    (devi solo aggiungere #il all'inizio)

  4. Modifica /usr/bin/start-pulseaudio-x11e aggiungi la riga /usr/bin/pactl load-module module-bluetooth-discoverdopo il caricamento del modulo module-x11-xsmp; in pratica dovresti modificare il file vicino alla fine per avere una stanza simile

    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. Reboot.

    Ora dovresti essere in grado di impostare il tuo dispositivo su A2DP e ascoltare musica di alta qualità:

    Impostazioni audio

    Si noti che a volte è necessario disconnettere e riconnettere il dispositivo per riattivare A2DP:

    Dispositivi Bluetooth

    ... sì, è una lattina di bug. Ma quando funziona funziona magnificamente.

  6. Problemi dopo il riavvio

    Dopo tutto questo, a volte il trucco sembra funzionare solo dopo il prossimo riavvio. In tal caso, prova a seguire la risposta di rmfought :

    Quello che funziona per me è collegare il dispositivo bluetooth, passare alla modalità HSP / HFP, disconnettere, riconnettere e quindi passare alla modalità A2DP.

    ... funziona anche per me (di nuovo, a volte). Ho dovuto anche disaccoppiare un nuovo accoppiamento del dongle una volta.

  7. Se continua a non funzionare ...

    Se anche questo non funziona per te, puoi provare con questo script --- il suo autore lo tiene aggiornato.


5
audio.conf non è presente in Ubuntu 16.04, solo main.conf, funzionerà?
Joakim Koed,

2
@JoakimKoed --- hai ragione, ho controllato --- audio.conf-removeProbabilmente avevo un residuo dell'aggiornamento. L'ho semplicemente ricreato --- quindi ora sono in dubbio, forse sono necessari solo i punti 3 e 4?
Rmano,

1
I passaggi 3 e 4 non sono stati corretti per me e ho ricreato audio.conf come sopra e nessuna correzione. L'eliminazione del dispositivo Bluetooth e la riparazione di correzioni, ma farlo ogni volta che si desidera utilizzare l'audio Bluetooth non è possibile.
Thomas Carlisle,

@ThomasCarlisle mi dispiace sentirlo - qui ha funzionato (non c'è bisogno di riassociarsi) dopo la prima volta. Deve essere una cosa diversa ...
Rmano,

1
Brillante! Fa il trucco con me! Ti suggerisco di aggiungere un riferimento ad esso nella tua risposta, poiché tutti insieme sembrano dare una soluzione pienamente funzionante al problema. Saluti!
romanovzky,

5

Questa non è necessariamente una soluzione per chi ha bisogno del microfono, ma ha funzionato in Ubuntu 16.04 per me:

sudo nano /etc/bluetooth/audio.conf

E poi aggiungi Disable=Headsetsotto [General].

[General]
Disable=Headset

E riavvia il servizio bluetooth

sudo service bluetooth restart

E tutti i crediti per questo ragazzo: https://jimshaver.net/2015/03/31/going-a2dp-only-on-linux/


Sfortunatamente, non ha funzionato per me. L'icona del mio dock bluetooth è disattivata ... Forse è il driver / modulo? XPS 13 9350 e ubuntu 16.04.
Dolanor,

@Dolanor Non sono sicuro che questo sia ancora un problema, ma se l'icona del dock è disattivata, molto probabilmente significa che il tuo adattatore bluetooth è bloccato. Prova rfkill unblock bluetoothe forse anche bluetoothctle poi power on(nel bluetoothctl-CLI).
FMaz,

Questo ha funzionato nel mio caso Zorinos 12
FDisk il

Su Ubuntu 18, non esiste alcun /etc/bluetooth/audio.conffile. Ho aggiunto Disable=Headsetal /etc/bluetooth/main.conf, riavviato il servizio, ricollegato le mie cuffie, ma il profilo audio è stato di default off. Non sei sicuro che abbia funzionato?
Dan Dascalescu il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.