43 votes

Le Bluetooth ne fonctionne pas après la reprise de veille, Ubuntu 18.04 LTS

Les écouteurs Bluetooth fonctionnent bien jusqu'au moment de la mise en veille. Après la reprise de la veille, cependant, ils semblent se connecter pendant un bref instant avant de se déconnecter. Sur blueman, l'erreur donnée est "Ressource temporairement non disponible". 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 hub racine
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 hub racine
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 hub racine

35voto

lubomir.brindza Points 906

Mettre à jour bluez vers >=5.28.2

18.04 est livré avec un package bluez buggé pour le moment; une version plus récente est disponible dans ce PPA : https://launchpad.net/~bluetooth/+archive/ubuntu/bluez :

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

contournement pour l'applet Bluetooth buggé (spécifique à Unity ?)

C'est probablement le problème mentionné par @solstice - l'applet du menu BT ne me permet pas d'activer le Bluetooth après la reprise du mode veille. Peu importe si l'interrupteur est en position off ou on, 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 activer/désactiver BT manuellement en exécutant (remplacez votre propre ID) :

rfkill block 12
rfkill unblock 12

et l'applet BT devrait le détecter correctement maintenant. À ce stade, vous devriez être en mesure de vous connecter à vos appareils. Pour l'instant, j'ai contourné le problème en utilisant un script qui fait cela 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 rfkill list semble augmenter après chaque suspension/reprise. Désactiver/activer BT en utilisant le menu BT devrait modifier la sortie ('soft blocked: yes' pour BT désactivé via le menu), mais ce n'est pas le cas. Je pense que l'applet se souvient du mauvais ID de périphérique et essaie donc d'activer un périphérique qui n'existe plus.

15voto

trts Points 161

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

sudo service bluetooth restart

après avoir réveillé l'ordinateur de veille

12voto

djfw Points 53

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

Pour améliorer la réponse de @hinxnz :

Ouvrez un nouveau fichier :

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

Collez ce script :

#!/bin/sh

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

Et enfin rendez-le exécutable

chmod +x /lib/systemd/system-sleep/bt

3voto

solsTiCe Points 8656

Essayez dans un terminal (aucun accès root nécessaire)

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

Cela pourrait être lié à un bug dans gnome-control-center. Pas sûr. J'ai trouvé que cette solution contournait ledit bug et pourrait également fonctionner pour vous.

2voto

hinxnz Points 29

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

Mettre à jour le bluetooth:

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

Créer un nouveau fichier:

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

Écrire et enregistrer:

#!/bin/sh

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

Modifier les permissions:

sudo chmod +x /lib/systemd/system-sleep/bt

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X