Depois de atualizar para 16.04, o modo A2DP de áudio Bluetooth parou de funcionar

29

Eu tenho um bom receptor de áudio bluetooth conectado ao meu aparelho de som HiFi, e eu costumava conectá-lo no 14.04 como um coletor A2DP com boa qualidade.

Após a atualização para 16.04, o dispositivo se conecta apenas como fone de ouvido e, ao tentar alterná-lo no modo A2DP, eu tenho esse erro no meu syslog:

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

e a qualidade do áudio é abismal. Como posso consertar isso?

    
por Rmano 21.05.2016 / 12:32

3 respostas

33

Existem vários bugs abertos sobre isso, veja por exemplo este (iniciado em 15.05) e este outro, muito mais antigo ; as causas em geral não são bem compreendidas.

Antes de começar a modificar os arquivos do sistema, você também pode verificar Alto-falante Bluetooth sem som no Ubuntu 16.04 (parece um bug diferente) e A2DP bluetooth não funciona em 16.04 (resolvido nos comentários por uma atualização do kernel).

A correção que funcionou para mim é a seguinte --- graças ao usuário RobertFM no launchpad e nos SimFox3 nos fóruns do Arch . Todas as instruções a seguir devem ser executadas a partir de um shell raiz ( sudo -i ). Tome cuidado e verifique três vezes.

  1. Primeiro, faça um backup desses arquivos (nunca se sabe):

    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. Edite /etc/bluetooth/audio.conf e torne-o semelhante a este:

    # 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. Edite /etc/pulse/default.pa e comente a linha

    #load-module module-bluetooth-discover
    

    (você só precisa adicionar # no início)

  4. Edite /usr/bin/start-pulseaudio-x11 e adicione a linha /usr/bin/pactl load-module module-bluetooth-discover após o carregamento do módulo module-x11-xsmp ; na prática você deve editar o arquivo perto do final para ter uma estrofe como

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

    Agora, você deve conseguir configurar seu dispositivo como A2DP e curtir músicas de alta qualidade:

    ObservequeemalgummomentovocêprecisadesconectarereconectarseudispositivoparareativaroA2DP:

    ...sim,éumalatadebugs.Masquandofunciona,funcionalindamente.

  6. Problemasapósareinicialização

    Depoisdetudoisso,àsvezesotruqueparecefuncionarapenasapósapróximareinicialização.Nessecaso,tenteseguira resposta do rmfought :

    What works for me is to connect the bluetooth device, switch to HSP/HFP mode, disconnect, reconnect and then switch to A2DP mode.

    ... funciona para mim também (novamente, algum dia). Eu tive que mesmo desparafusar um par novamente o dongle uma vez.

  7. Se ainda não funcionar ...

    Se isso também não funcionar, você pode tentar com este script --- o autor está mantendo atualizado.

por Rmano 21.05.2016 / 12:32
35

O que funciona para mim é conectar o dispositivo bluetooth, alternar para o modo HSP / HFP, desconectar, reconectar e alternar para o modo A2DP.

    
por rmfought 11.08.2016 / 20:30
5

Isso não é necessariamente uma solução para quem precisa do microfone, mas isso funcionou no Ubuntu 16.04 para mim:

sudo nano /etc/bluetooth/audio.conf

Em seguida, adicione Disable=Headset em [General] .

[General]
Disable=Headset

E reinicie o serviço bluetooth

sudo service bluetooth restart

E todos os creds para esse cara: link

    
por helgis 04.09.2016 / 01:31