Il existe deux façons 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 illustré ci-dessus.
- Passez
WiFi.powersave
de 2
à 3
(Activer l'économie d'énergie).
- S'il est déjà configuré pour
3
essayer de le régler sur 2
(Désactiver l'économie d'énergie).
- Après avoir enregistré le fichier exécuté
sudo systemctl restart NetworkManager
Le second est un systemd
script qui recharge le module du noyau WiFi lors de la reprise de la suspension. Cela vient de cette réponse: les réseaux Wifi disponibles n'apparaissent pas soudainement :
Ce script est écrit pour iwlwifi` qui est le nom commun du pilote Intel. Si le vôtre est différent, changez ce 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, une simple réinitialisation du gestionnaire de réseau suffit. Dans ce cas, décommentez la ligne ci-dessus en la supprimant #
. Commentez ensuite 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
pouvoirs et 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