Após a atualização 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 costumava conectá-lo no 14.04 como um coletor A2DP com boa qualidade.

Após a atualização para o 16.04, o dispositivo se conecta apenas como fone de ouvido e, ao tentar alterná-lo no modo A2DP, tenho este 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 corrigir isso?

Rmano
fonte
Espero que isso seja útil para alguém. Perdi 3 horas de pesquisa ... Adoro atualizações! ;-)
Rmano

Respostas:

39

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

rmfought
fonte
4
O mesmo aqui. No entanto, não deveria ser assim e costumava funcionar corretamente na versão anterior.
Eldad-a 22/09/16
Para mim também, isso funcionou. Mas uma grande dor no a ** para algo que estava funcionando (quase) na perfeição em 15.10 e antes.
Dolanor 14/10
Oh acredite em mim, eu concordo. é uma dor enorme. A única distro que encontrei que lida com a BT corretamente fora da caixa atualmente é o Solus OS.
Rmfought2
2
Isso é super estranho, mas funcionou!
ArcaneDominion
1
Caralho. Não esperava que isso funcionasse, mas funcionou.
Parth Thakkar
35

Existem vários bugs abertos sobre isso, verifique, por exemplo, este (iniciado em 15.05) e este outro, bem 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 se não há som no alto-falante Bluetooth no Ubuntu 16.04 (parece um bug diferente) e o Bluetooth A2DP não funciona no 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 na barra de ativação e 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 de tudo, faça um backup desses arquivos (você nunca 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.confe torne 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.pae comente a linha

    #load-module module-bluetooth-discover
    

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

  4. Edite /usr/bin/start-pulseaudio-x11e adicione a linha /usr/bin/pactl load-module module-bluetooth-discoverapós o carregamento do módulo module-x11-xsmp; na prática, você deve editar o arquivo próximo ao 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 poder configurar o seu dispositivo para A2DP e apreciar músicas de alta qualidade:

    Definições de som

    Observe que em algum momento você precisa desconectar e reconectar o dispositivo para reativar o A2DP:

    Dispositivos Bluetooth

    ... Sim, é uma lata de insetos. Mas quando funciona, funciona lindamente.

  6. Problemas após a reinicialização

    Depois de tudo isso, em algum momento o truque parece funcionar apenas após a próxima reinicialização. Nesse caso, tente seguir a resposta de rmfought :

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

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

  7. Se ainda não funcionar ...

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

Rmano
fonte
5
O audio.conf não está presente no ubuntu 16.04, apenas o main.conf, isso funcionará?
Joakim Koed
2
@JoakimKoed --- você está certo, eu verifiquei --- Eu audio.conf-removeprovavelmente tinha um remanescente da atualização. Eu simplesmente o recriei - então agora estou em dúvida, talvez apenas os pontos 3 e 4 sejam necessários?
Rmano 31/05
1
As etapas 3 e 4 não foram corrigidas para mim e recriei o audio.conf conforme descrito acima e sem correção. Não é possível excluir o dispositivo bluetooth e reparar as correções, mas isso sempre que você deseja usar o áudio bluetooth.
Thomas Carlisle
@ThomasCarlisle lamento ouvir isso - aqui funcionou (não há necessidade de se associar novamente) depois da primeira vez. Deve ser uma coisa diferente ...
Rmano
1
Brilhante! Faz o truque comigo! Sugiro que você adicione uma referência a ele na sua resposta, pois todos juntos parecem dar uma solução totalmente funcional para o problema. Felicidades!
Romanovzky #
5

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

sudo nano /etc/bluetooth/audio.conf

E depois adicione Disable=Headsetabaixo [General].

[General]
Disable=Headset

E reinicie o serviço bluetooth

sudo service bluetooth restart

E todos os creds para esse cara: https://jimshaver.net/2015/03/31/going-a2dp-only-on-linux/

helgis
fonte
Infelizmente, não funcionou para mim. O ícone do meu dock bluetooth está acinzentado ... Talvez seja o driver / módulo? XPS 13 9350 e ubuntu 16.04.
21416 Dolanor
@Dolanor Não tenho certeza se isso ainda é um problema, mas se o ícone do dock estiver acinzentado, isso provavelmente significa que o adaptador bluetooth está bloqueado com facilidade. Tente rfkill unblock bluetoothe talvez até bluetoothctle depois power on(no bluetoothctl-CLI).
FMaz 21/03/19
Isso funcionou no meu caso zorinos 12
FDisk
No Ubuntu 18, não há /etc/bluetooth/audio.confarquivo. Eu adicionei Disable=Headseta /etc/bluetooth/main.conf, reiniciado o serviço, reconectado meus fones de ouvido, mas o perfil de áudio foi por padrão off. Não tem certeza de que funcionou?
Dan Dascalescu 22/06