Redefinir WiFi após um longo período de suspensão
Alguns meses atrás, alguns de nós descobrimos que a placa de rede (Ethernet) e a placa wifi não se reconectariam se o laptop estivesse suspenso por um longo período (+2 horas IIRC). Nos 8 meses anteriores a isso, a suspensão e a retomada funcionaram perfeitamente.
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