Bluetooth ne fonctionne pas après la sortie du sommeil, Ubuntu 18.04 LTS

28

Les écouteurs Bluetooth fonctionnent bien jusqu'au sommeil. Cependant, après leur sortie du sommeil, ils semblent se connecter pendant un bref instant avant de se déconnecter. Sur blueman, l'erreur indiquée est Ressource temporairement indisponible. Ce problème est survenu uniquement après la mise à jour vers 18.04 LTS.

Voici la sortie du terminal pour 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
la source
1
J'ai le même problème avec le haut-parleur JBL Go et une nouvelle installation de 18.04. Rien de tel que le redémarrage bluetooth.serviceou la suppression du btusbmodule et sa réinsertion a fonctionné. J'ai dû redémarrer .
solsTiCe
J'ai le même problème, chaque fois que vous sortez du sommeil, il y a une chance que ubuntu agisse comme s'il n'y avait pas de Bluetooth du tout (d'où la raison pour laquelle le redémarrage du service ne fonctionne pas). Dormir et reprendre le résout parfois.
Freguglia
@ K7AAY pour une raison quelconque, la mise en veille prolongée ne fonctionne pas du tout, donc je ne peux pas le vérifier.
Nikhil Sadasivan
Veuillez modifier pour inclure les résultats du terminal pourlsusb
Jeremy31
Même problème ici. Je dois redémarrer pour que les haut-parleurs fonctionnent à nouveau.
user1945827

Réponses:

27

mettre à jour bluez à> = 5.28.2

18.04 est livré avec un paquet buggy bluez pour l'instant; une version plus récente est disponible à partir de ce PPA: https://launchpad.net/~bluetooth/+archive/ubuntu/bluez :

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

solution de contournement pour l'applet Bluetooth buggy (spécifique à Unity?)

C'est probablement le problème mentionné par @solstice - l'applet de menu BT ne me permet pas d'activer Bluetooth après la sortie du sommeil. Peu importe si l'interrupteur à bascule est activé ou désactivé, l'icône BT est désactivée et la sortie rfkill ne change pas:

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

Vous pouvez basculer BT manuellement en exécutant (remplacez votre propre ID):

rfkill block 12
rfkill unblock 12

et l'applet BT devrait le récupérer correctement maintenant. À ce stade, vous devriez pouvoir vous connecter à vos appareils. Pour l'instant, je l'ai piraté ensemble en utilisant un script qui le fait automatiquement après la reprise:

$ 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

Le numéro d'identification à côté de hci0 dans la sortie de la liste rfkill semble augmenter après chaque suspension / reprise. La désactivation / l'activation de BT à l'aide du menu BT devrait modifier la sortie («bloqué: oui» pour BT désactivé via le menu), mais ce n'est pas le cas. Je suppose que l'applet se souvient du mauvais ID d'appareil et tente donc d'activer un appareil qui n'existe plus.

lubomir.brindza
la source
1
La simple mise à jour du paquet bluez l'a fait pour moi, merci!
Nikhil Sadasivan
La même mise à jour de Bluez a fonctionné comme un charme!
Sanketh Katta
1
Mise à jour: Cela ne fonctionnait que pour 1 cycle de sommeil. Cependant, après plusieurs, je suis de retour au même problème.
Sanketh Katta
À moins que le bogue n'ait déjà été corrigé par une mise à jour, la mise à jour bluez a fonctionné pour moi.
user1945827
L'utilisation de l'applet blueman ( sudo apt install blueman) et de la mise à jour de bluez (de ppa) fonctionne bien pour moi.
Mark
4

Pour moi, ce problème peut être résolu en exécutant

sudo service bluetooth restart

après s'être réveillé du sommeil

trts
la source
3

Je lance 19.04 et j'ai ce problème. J'ai une souris BT donc c'est vraiment ennuyeux.

Pour améliorer la réponse @hinxnz:

Ouvrez un nouveau fichier:

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

Collez dans ce script:

#!/bin/sh

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

Et enfin le rendre exécutable

chmod +x /lib/systemd/system-sleep/bt
Laurent
la source
2

Essayez dans un terminal (aucune racine nécessaire)

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

Cela pourrait être lié à un bogue dans gnome-control-center. Pas certain. J'ai trouvé cela pour contourner ce bug et peut être aussi le vôtre.

solstice
la source
Malheureusement, cela ne résout pas le problème pour moi. Merci pour le partage!
Nikhil Sadasivan
1

C'est ce que j'ai fait pour le faire fonctionner sur 18.04 LTS

Bluetooth mis à jour:

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

Créez un nouveau fichier:

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

Écrivez et enregistrez:

#!/bin/sh

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

Autorisations modifiées:

sudo chmod 777 /lib/systemd/system-sleep/bt
hinxnz
la source
1
Utiliser chmod + x serait une solution plus sûre si vous voulez simplement rendre cet exécutable. Cela permettrait à n'importe quel utilisateur du système d'exécuter n'importe quoi en tant que root simplement en remplaçant le contenu de ce fichier.
Steeve McCauley
après avoir enregistré ce script, mon Dell XPS (18.04lts) ne se mettra pas en veille. on dirait qu'il s'endort et que 2 secondes plus tard se réveille, et c'est tout.
rasoir
Ne chmod 777, jamais. À moins que vous sachiez exactement ce que vous faites. Vous devez envelopper ce script case $1 in post)pour qu'il ne s'exécute qu'après le réveil. Sudo n'est pas non plus nécessaire dans le script.
Laurent
0

Sur la base de cette réponse , pour pulseaudio et Ubuntu 18

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

Dans mon cas, laptop-mode-toolsétait le coupable:

$ sudo apt supprime les outils en mode ordinateur portable

kolypto
la source
Veuillez ne pas poster la même réponse à de nombreux messages. Au lieu de cela, si les publications sont suffisamment similaires, signalez les autres publications comme des doublons de l'une des autres. Republier simplement la même réponse à plusieurs questions est très bruyant.
Thomas Ward