web-dev-qa-db-fra.com

Comment empêcher le sommeil wifi après la suspension

Chaque fois que j'ouvre le couvercle de mon ordinateur portable, je dois attendre quelques secondes que le wifi se reconnecte. Je me souviens que sous Windows, il était déjà connecté. J'ai besoin d'un moyen d'empêcher le wifi de se déconnecter lors de la suspension.

La réponse la plus proche que j'ai trouvée était https://askubuntu.com/a/961460/613425 mais cela n'a pas fonctionné. J'ai également essayé le iwconfig wlan0 poweroff dans la réponse, mais cela ne fonctionnait pas avant même le redémarrage.

13
Guerlando OCs

Il existe deux manières d'activer le WiFi après le sommeil. Le premier est un correctif commun à Network Manager, comme vous pouvez le constater en répertoriant le fichier:

Désactivez ou activez les économies d'énergie comme illustré ci-dessous:

$ cat /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
[connection]
wifi.powersave = 3
# Slow sleep fix: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1670041
#wifi.powersave = 2
  • Modifiez le fichier Network Manager indiqué ci-dessus.
  • Remplacez WiFi.powersave de 2 par 3 (Activer l'économie d'énergie).
  • S'il est déjà défini sur 3 essayez de le définir sur 2 (Désactiver l'économie d'énergie).
  • Après avoir sauvegardé le fichier, lancez Sudo systemctl restart NetworkManager

Le second est un script systemd qui recharge le module du noyau WiFi lors de la reprise de suspendre. Cela provient de cette réponse: Les réseaux Wifi disponibles ne se présentent pas soudainement :

Ce script est écrit pour iwlwifi`, qui est le nom du pilote Intel commun. Si votre est différent, changez le nom ci-dessous:

#!/bin/sh

# NAME: /lib/systemd/system-sleep/iwlwifi-reset
# DESC: Resets Intel WiFi which can be flakey after a long suspend.
# DATE: Apr 1, 2017. Modified August 30, 2017.

MYNAME=$0

restart_wifi() {
    /usr/bin/logger $MYNAME 'restart_wifi BEGIN'
    /sbin/modprobe -v -r iwldvm # This removes iwlwifi too
    /sbin/modprobe -v iwlwifi   # This starts iwldvm too
#    systemctl restart NetworkManager.service
    /usr/bin/logger 'systemctl restart NetworkManager.service (SUPPRESSED)'
    /usr/bin/logger $MYNAME 'restart_wifi END'
}

/usr/bin/logger $MYNAME 'case=[' ${1}' ]'
case "${1}/${2}" in
    hibernate|suspend|pre*)
      ;;
    resume|thaw|post*)
      restart_wifi;;
esac

REMARQUE: Parfois, il suffit de réinitialiser le gestionnaire de réseau. Dans ce cas, commentez la ligne ci-dessus en supprimant #. Puis commentez les deux lignes au-dessus en mettant # au début de ces deux lignes.

Vous devrez créer ce script, appelé iwlwifi-reset, avec Sudo power, puis l'enregistrer dans le répertoire /lib/systemd/system-sleep. Puis marquez-le comme exécutable en utilisant:

chmod a+x /lib/systemd/system-sleep/iwlwifi-reset
10
WinEunuuchs2Unix

Je pense que c'est lié à systemd. Vous pouvez créer un script qui démarre le périphérique wifi après la suspension. Essayez simplement de le faire manuellement en premier.

2
Ramy Samy

Créez d'abord un nouveau script et rendez-le exécutable.

Sudo touch /usr/lib/pm-utils/sleep.d/wakewifi
Sudo chmod a+x /usr/lib/pm-utils/sleep.d/wakewifi

Puis éditez le script

Sudo nano /usr/lib/pm-utils/sleep.d/wakewifi

et faites-le ressembler à quelque chose comme ça.

 #!/bin/sh

    case "$1" in
        resume)
            nmcli radio wifi on
    esac

pour vous assurer que la radio nmcli est activée est la commande correcte, essayez de passer en mode veille, démarrez l'ordinateur et faites

Sudo nmcli radio wifi on

si votre ordinateur se connecte alors au bon réseau wifi, il s’agit peut-être d’une solution optionnelle. votre ordinateur devrait se connecter automatiquement. à votre point d'accès Wi-Fi enregistré.

2
BD Bear