O ícone de sinal WiFi muda para o ícone Ethernet (setas para baixo) depois de Suspender?

6

Quando acordo meu laptop depois de ser suspenso por um tempo, o sinal WiFi é substituído por setas para cima e para baixo. A conexão ainda funciona, mas é bastante irritante, no entanto. Reiniciar o Network Manager funciona, mas é apenas uma correção temporária.

Eu li em algum lugar que pode ser porque a conexão está sendo renomeada, fazendo com que ela pense que estou conectado via Ethernet em vez de WiFi?

Como posso corrigir isso?

Edit: Eu notei que isso também acontece ocasionalmente depois de ligar / desligar o WiFi.

    
por Mixx 30.03.2017 / 02:59

2 respostas

4

Método Automático

Usando os poderes sudo, crie o arquivo /lib/systemd/system-sleep/iwlwifi-reset contendo:

#!/bin/sh

# NAME: /lib/systemd/system-sleep/iwlwifi-reset
# DESC: Resets Intel WiFi after a long suspend.
# DATE: Apr 1, 2017. Modified April 8, 2017.

# NOTE: Per AU comment restart network.

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 $MYNAME 'restart_wifi END'
}

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

Marque o script como executável usando:

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

Para verificar a execução do script depois de acordar do uso suspenso:

cat /var/log/syslog | grep iwlwifi

Não fique muito animado se parecer funcionar durante o teste, pois há momentos em que esse script funciona com uma suspensão curta, mas não funciona depois de uma longa suspensão.

Se isso não funcionar, antes de tentar o Método manual na próxima seção, coloque o comando sleep 5 antes da linha restart_wifi;; .

Método manual

Se o método automático não estiver funcionando usando o poder sudo, crie o script /usr/local/bin/iwlwifi-reset contendo:

#!/bin/sh

# NAME: /usr/lib/bin/iwlwifi-reset
# DESC: Manually reset Intel WiFi.
# DATE: Apr 1, 2017. Modified April 8, 2017.
# NOTE: Must call using SUDO POWERS.

MYNAME=$0

/usr/bin/logger $MYNAME 'restart_wifi BEGIN'
# modprobe -r iwldvm    # This removes iwlwifi too
# modprobe iwlwifi      # This starts iwldvm too
systemctl restart NetworkManager.service
/usr/bin/logger $MYNAME 'restart_wifi END'

Marque o script como executável usando:

sudo chmod a+x /usr/local/bin/iwlwifi-reset

Como descrito na última seção, você pode verificar / var / log / syslog para mensagens quando este script for executado, mas você verá qualquer mensagem de erro em seu terminal de qualquer maneira.

Para chamar este script, use:

sudo iwlwifi-reset

Você não precisa especificar o diretório porque /usr/local/bin está no caminho de busca do comando do terminal.

Editar 8 de abril de 2017 Conforme o comentário do OP e este How-To , revisões do script foram feitas. Em vez de remover e reinserir módulos do kernel, foi usado o reinício dos serviços de rede.

    
por WinEunuuchs2Unix 02.04.2017 / 02:44
0

Eu tive esse problema também com o meu HP Pavilon G6, que realmente não começou até que eu consegui um novo adaptador usb e o conectei. Depois de algumas pesquisas eu descobri que os drivers errados estavam sendo usados, então eu instalei o correto motoristas (Ralink) e funcionou. Você não mencionou que tinha um segundo adaptador, mas talvez verificar para ver o que o modprobe retorna ajudará.

Eu tenho a idéia da última resposta neste segmento: Wifi não funciona após a suspensão após atualização de 16.04

    
por Aaron Nelson 01.04.2017 / 01:39