Bluetooth no funciona después de reanudar desde la suspensión, Ubuntu 18.04 LTS

27

Los auriculares Bluetooth funcionan bien hasta que se duerme. Sin embargo, después de reanudar el sueño, parecen conectarse por un breve momento antes de desconectarse. En blueman, el error dado es Recurso temporalmente no disponible. Este problema surgió solo después de actualizar a 18.04 LTS.

Aquí está la salida del terminal para lsusb:

Bus 001 Device 002: ID 8087:8001 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 004: ID 1bcf:0002 Sunplus Innovation Technology Inc. 
Bus 002 Device 003: ID 04f2:b477 Chicony Electronics Co., Ltd 
Bus 002 Device 002: ID 0a5c:21f1 Broadcom Corp. HP Portable Bumble Bee
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Nikhil Sadasivan
fuente
1
Tengo el mismo problema con el altavoz JBL Go y una nueva instalación de 18.04. Nada como reiniciar bluetooth.serviceo eliminar el btusbmódulo y reinsertarlo nuevamente funcionó. Tuve que reiniciar .
solSTiCe
Tengo el mismo problema, cada vez que se reanuda el sueño, existe la posibilidad de que ubuntu actúe como si no hubiera ningún bluetooth (de ahí que el reinicio del servicio no funcione). Dormir y reanudar de nuevo lo resuelve a veces.
Freguglia
@ K7AAY por alguna razón, la hibernación no funciona en absoluto, por lo que no puedo verificar eso.
Nikhil Sadasivan
Edite para incluir los resultados del terminal paralsusb
Jeremy31
El mismo problema aqui. Tengo que reiniciar para que los altavoces vuelvan a funcionar.
user1945827

Respuestas:

27

actualizar bluez a> = 5.28.2

18.04 se envía con un paquete bluez buggy por ahora; está disponible una versión más reciente de este PPA: https://launchpad.net/~bluetooth/+archive/ubuntu/bluez :

sudo add-apt-repository ppa:bluetooth/bluez
sudo apt install bluez

solución alternativa para el applet Bluetooth con errores (¿Unidad específica?)

Este es probablemente el problema que mencionó @solstice: el applet del menú BT no me permite habilitar Bluetooth después de salir del modo de suspensión. No importa si el interruptor de palanca está apagado o encendido, el icono BT está deshabilitado y la salida de rfkill no cambia:

$ rfkill list
0: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
12: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no

Puede alternar BT manualmente ejecutando (sustituya su propia ID):

rfkill block 12
rfkill unblock 12

y el applet BT debería recogerlo correctamente ahora. En este punto, debería poder conectarse a sus dispositivos. Por ahora lo he pirateado usando un script que hace esto automáticamente después de reanudar:

$ cat /lib/systemd/system-sleep/bt
#!/bin/sh

case $1 in
  post)
    sleep 5
    rfkill block `rfkill list | grep hci | cut -d: -f1`
    sleep 1
    rfkill unblock `rfkill list | grep hci | cut -d: -f1`
    ;;
esac

El número de identificación junto a hci0 en la salida de la lista rfkill parece aumentar después de cada suspensión / reanudación. Deshabilitar / habilitar BT usando el menú BT debería cambiar la salida ('bloqueo suave: sí' para BT deshabilitado a través del menú), pero no lo hace. Supongo que el applet recuerda la identificación incorrecta del dispositivo y, por lo tanto, está tratando de habilitar un dispositivo que ya no existe.

lubomir.brindza
fuente
1
Solo actualizar el paquete bluez lo hizo por mí, ¡gracias!
Nikhil Sadasivan
¡La misma actualización de bluez funcionó a las mil maravillas!
Sanketh Katta
1
Actualización: solo funcionó durante 1 ciclo de sueño. Sin embargo, después de múltiples, vuelvo al mismo problema.
Sanketh Katta
A menos que el error ya haya sido reparado por una actualización, la actualización de bluez funcionó para mí.
user1945827
Usar el applet blueman ( sudo apt install blueman) y el bluez actualizado (de ppa) me está funcionando bien.
Mark
4

Para mí, este problema se puede resolver ejecutando

sudo service bluetooth restart

después de despertarse del sueño

trts
fuente
2

Probar en una terminal (no se necesita root)

btnum=`rfkill list|grep hci0| cut -f 1 -d ':'`
rfkill block $btnum
rfkill unblock $btnum

Esto podría estar relacionado con un error en gnome-control-center. No es seguro. He encontrado que esto funciona para evitar ese error y puede ser tuyo también.

solsticio
fuente
Desafortunadamente, esto no soluciona el problema para mí. ¡Gracias por compartir!
Nikhil Sadasivan
2

Ejecuto 19.04 y tengo este problema. Tengo un mouse BT, así que es realmente molesto.

Para mejorar la respuesta @hinxnz:

Abre un nuevo archivo:

sudo nano /lib/systemd/system-sleep/bt

Pega en este script:

#!/bin/sh

case $1 in
  post)
    modprobe -r btusb
    sleep 1
    service bluetooth restart
    sleep 1
    modprobe btusb
    ;;
esac

Y finalmente hacerlo ejecutable

chmod +x /lib/systemd/system-sleep/bt
Laurent
fuente
1

Esto es lo que hice para que funcione en 18.04 LTS

Bluetooth actualizado:

sudo add-apt-repository ppa:bluetooth/bluez
sudo apt install bluez

Crear nuevo archivo:

sudo nano /lib/systemd/system-sleep/bt

Escribe y guarda:

#!/bin/sh

sudo modprobe -r btusb
sleep 1
sudo service bluetooth restart
sleep 1
sudo modprobe btusb

Permisos modificados:

sudo chmod 777 /lib/systemd/system-sleep/bt
hinxnz
fuente
1
Usar chmod + x sería una solución más segura si solo desea hacer que este ejecutable. Hacer esto permitiría a cualquier usuario en el sistema ejecutar cualquier cosa como root simplemente reemplazando el contenido de este archivo.
Steeve McCauley
Después de guardar este script, mi Dell XPS (18.04lts) no se irá a dormir. parece que se va a dormir y 2 segundos más tarde se despierta, y eso es todo.
navaja
No chmod 777, nunca. A menos que sepa exactamente lo que está haciendo. Debes envolver ese script case $1 in post)para que solo se ejecute después del despertar. Tampoco se necesita sudo en el script.
Laurent
0

Basado en esta respuesta , para pulseaudio y Ubuntu 18

sudo apt-get install pulseaudio-module-bluetooth
pactl load-module module-bluetooth-discover
surfealokesea
fuente
0

En mi caso, laptop-mode-toolsfue el culpable:

$ sudo apt remove laptop-mode-tools

Kolypto
fuente
No publiques la misma respuesta en muchas publicaciones. En cambio, si las publicaciones son lo suficientemente similares entre sí, marque las otras publicaciones como duplicados de una de las otras. Simplemente volver a publicar la misma respuesta a varias preguntas es muy ruidoso.
Thomas Ward