Después de actualizar a 16.04, el modo de audio Bluetooth A2DP dejó de funcionar

29

Tengo un buen receptor de audio bluetooth conectado a mi estéreo HiFi, y solía poder conectarlo en 14.04 como un receptor A2DP con buena calidad.

Después de actualizar a 16.04, el dispositivo se conecta solo como auriculares, y cuando trato de cambiarlo en modo A2DP, tengo este error en mi syslog:

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

y la calidad del audio es abismal. ¿Cómo puedo arreglarlo?

Rmano
fuente
Espero que esto sea útil para alguien. He perdido 3 horas investigando ... ¡Me encantan las actualizaciones! ;-)
Rmano

Respuestas:

39

Lo que funciona para mí es conectar el dispositivo bluetooth, cambiar al modo HSP / HFP, desconectar, volver a conectar y luego cambiar al modo A2DP.

rmfought
fuente
44
Igual que aquí. Sin embargo, no se supone que sea así y solía funcionar correctamente en la versión anterior.
eldad-a
Para mí también, eso funcionó. Pero un gran dolor en el a ** por algo que funcionaba (casi) sin problemas en 15.10 y antes.
Dolanor
Oh créeme, estoy de acuerdo. Es un gran dolor. La única distribución que he encontrado que maneja BT correctamente fuera de la caja hoy en día es Solus OS.
rmfought
2
¡Esto es súper raro pero funcionó!
ArcaneDominion
1
Santo cielo. No esperaba que esto funcionara, pero lo hizo.
Parth Thakkar
35

Hay varios errores abiertos sobre esto, verifique por ejemplo este (iniciado en 15.05) y este otro, bastante anterior ; Las causas en general no se comprenden bien.

Antes de comenzar a modificar los archivos del sistema, también puede verificar que el altavoz Bluetooth no suene en Ubuntu 16.04 (parece un error diferente) y el bluetooth A2DP no funciona en 16.04 (resuelto en los comentarios mediante una actualización del kernel).

La solución que funcionó para mí es la siguiente: gracias al usuario RobertFM en el launchpad y SimFox3 en los foros de Arch . Todas las siguientes instrucciones deben ejecutarse desde un shell raíz ( sudo -i). Cuídate y verifica tres veces.

  1. En primer lugar, haga una copia de seguridad de estos archivos (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.confy haga que sea similar 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. Editar /etc/pulse/default.pay comentar la línea

    #load-module module-bluetooth-discover
    

    (realmente solo necesita agregar el #al principio)

  4. Edite /usr/bin/start-pulseaudio-x11y agregue la línea /usr/bin/pactl load-module module-bluetooth-discoverdespués de cargar el módulo module-x11-xsmp; en la práctica, debe editar el archivo cerca del final para tener una estrofa 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. Reiniciar.

    Ahora debería poder configurar su dispositivo en A2DP y disfrutar de música de alta calidad:

    Ajustes de sonido

    Tenga en cuenta que en algún momento debe desconectar y volver a conectar su dispositivo para volver a habilitar A2DP:

    Dispositivos Bluetooth

    ... sí, es una lata de bichos. Pero cuando funciona funciona de maravilla.

  6. Problemas después de reiniciar

    Después de todo esto, en algún momento el truco parece funcionar solo después del próximo reinicio. En tal caso, intente seguir la respuesta de rmfought :

    Lo que funciona para mí es conectar el dispositivo bluetooth, cambiar al modo HSP / HFP, desconectar, volver a conectar y luego cambiar al modo A2DP.

    ... también funciona para mí (de nuevo, en algún momento). Incluso tuve que desvincular un re-emparejamiento del dongle una vez.

  7. Si aún no funciona ...

    Si esto tampoco funciona para usted, puede probar con este script, su autor lo mantiene actualizado.

Rmano
fuente
55
audio.conf no está presente en ubuntu 16.04, solo main.conf, ¿funcionará?
Joakim Koed
2
@JoakimKoed --- tienes razón, lo comprobé --- Tuve audio.conf-removeprobablemente un remanente de la actualización. Simplemente lo recreé --- así que ahora tengo dudas, ¿tal vez solo los puntos 3 y 4 son necesarios?
Rmano
1
Los pasos 3 y 4 no me arreglaron, y recreé audio.conf según lo anterior y sin solución. Eliminar el dispositivo bluetooth y reparar arreglos, pero hacerlo cada vez que quiera usar audio bluetooth no es factible.
Thomas Carlisle
@ThomasCarlisle lamento escuchar eso: aquí funcionó (no es necesario volver a asociarlo) después de la primera vez. Debe ser algo diferente ...
Rmano
1
¡Brillante! ¡Hace el truco conmigo! Le sugiero que agregue una referencia a él en su respuesta, ya que todos juntos parecen dar una solución totalmente funcional al problema. ¡Aclamaciones!
romanovzky
5

Esto no es necesariamente una solución para aquellos que necesitan el micrófono, pero esto funcionó en Ubuntu 16.04 para mí:

sudo nano /etc/bluetooth/audio.conf

Y luego agregue Disable=Headsetdebajo [General].

[General]
Disable=Headset

Y reinicie el servicio bluetooth

sudo service bluetooth restart

Y todas las gracias a este tipo: https://jimshaver.net/2015/03/31/going-a2dp-only-on-linux/

helgis
fuente
Desafortunadamente, no funcionó para mí. Mi icono de la base del bluetooth está atenuado ... ¿Tal vez es el controlador / módulo? XPS 13 9350 y ubuntu 16.04.
Dolanor
@Dolanor No estoy seguro de si esto sigue siendo un problema, pero si el ícono de la base está atenuado, lo más probable es que su adaptador Bluetooth esté bloqueado. Pruebe rfkill unblock bluetoothy tal vez incluso bluetoothctly luego power on(en bluetoothctl-CLI).
FMaz
Esto funcionó en mi caso zorinos 12
FDisk
En Ubuntu 18, no hay /etc/bluetooth/audio.confarchivo. Agregué , reinicié el servicio, volví Disable=Headseta /etc/bluetooth/main.confconectar mis auriculares, pero el perfil de audio era el predeterminado off. ¿No estás seguro de que esto funcionó?
Dan Dascalescu