Este script systemd
que recarrega o módulo do kernel Wi-Fi ao retomar da suspensão. Vem desta resposta: Wifi redes disponíveis não aparecendo repentinamente :
Este script é escrito para iwlwifi ', que é o nome do driver comum da Intel. Se o seu for diferente, altere esse nome abaixo:
#!/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
exit
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
OBSERVAÇÃO: Às vezes, basta redefinir o gerenciador de rede e tudo que é necessário. Nesse caso, descomente a linha acima removendo #
. Em seguida, comente as duas linhas acima, colocando #
no início dessas duas linhas.
Você precisará criar esse script, chamado iwlwifi-reset
, com sudo
powers e salvá-lo no diretório /lib/systemd/system-sleep
. Em seguida, marque-o como executável usando:
chmod a+x /lib/systemd/system-sleep/iwlwifi-reset