Wifi não funciona após a suspensão após a atualização 16.04

135

Esta versão particular do "não funciona após a suspensão" veio após a atualização para o 16.04. Parece que a atualização inclui um applet Wicd (adicionado à barra de tarefas do Metacity Classic Gnome junto com o ícone de rede regular), mas parece não funcionar após uma suspensão. Um sudo service network-manager restart duplica esse problema. É preciso uma reinicialização completa para obter o Wi-Fi novamente. Alguma idéia por quê?

    
por 147pm 23.04.2016 / 13:42

10 respostas

161

O 16.04 é executado no systemd. Tente o seguinte:

sudo systemctl restart network-manager.service

Se isso funcionar, você pode criar um script para automatizá-lo.

Abra um terminal e digite o seguinte:

sudo nano /etc/systemd/system/wifi-resume.service Agora cole o script lá com um clique direito. Saia com CTRL + X e pressione Y para salvar. Agora, para ativá-lo: sudo systemctl enable wifi-resume.service

Script:

#/etc/systemd/system/wifi-resume.service
#sudo systemctl enable wifi-resume.service
[Unit]
Description=Restart networkmanager at resume
After=suspend.target
After=hibernate.target
After=hybrid-sleep.target

[Service]
Type=oneshot
ExecStart=/bin/systemctl restart network-manager.service

[Install]
WantedBy=suspend.target
WantedBy=hibernate.target
WantedBy=hybrid-sleep.target

Espero que isso ajude. Funciona no meu laptop.

    
por Joakim Koed 23.04.2016 / 15:17
9

@ 147pm Você já conseguiu isso funcionar?

Descobri que eu tinha um problema bastante semelhante, embora eu esteja no Kubuntu 16.10 (baseado no KDE, não no Gnome) e com um laptop HP ProBook. E, diferentemente de você, não foi meu Wi-Fi que morreu após a suspensão / ativação, mas minha porta ethernet. Ainda assim, gostaria de saber se eles estão relacionados.

Eu também vejo que você não tem o problema no KDE. Mas eu estaria interessado em saber se a solução abaixo ajuda no Gnome, já que a solução não é baseada em gerenciador de janelas, ambiente de desktop ou applets.

Primeiro, apenas para confirmar que reiniciar o serviço do gerenciador de rede ...

$ sudo systemctl restart network-manager.service

não funcionou para mim.

No entanto, encontrei uma resposta que funcionou, graças à pergunta e às informações da buzhidao em não pode se conectar à internet após suspender e o comentário do GAD3R lá.

Usando suas informações, descobri que pesquisar primeiro qual hardware e driver / módulo ethernet estou executando e, em seguida, remover e reinstalar esse módulo funcionou para mim (embora não tenha sido feito para buzhidao):

Wifi:

$ lspci -knn | grep Net -A2

Ethernet:

$ lspci -knn | grep Ether -A2

O segundo destes (ethernet) foi o que eu usei, e eu encontrei:

03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 0c)
        Subsystem: Hewlett-Packard Company RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [103c:1944]
        Kernel driver in use: r8169
        Kernel modules: r8169

então eu re-instalei o driver 'r8169':

$ sudo rmmod r8169 && sudo modprobe r8169

e voila! Isso funcionou. Minha porta / conexão Ethernet voltou viva (após a suspensão / ativação) sem ter que reinicializar.

(Eu também não tinha um dispositivo Wi-Fi Realtek, mas um Qualcomm Atheros (mod: ath9k) que talvez explique porque o wifi continuou a funcionar para mim depois do wake-from-suspend.)

Como você pode ver no meu comentário sobre esse outro post, eu me perguntei se o problema é o elemento comum entre Buzhidao e eu: dispositivos Realtek Semiconductor. Mesmo que eles usem módulos diferentes, eles podem compartilhar algum código comum? Ou até mesmo ser tratado de forma diferente pelo novo código do kernel agora de alguma forma?

Você mesmo tem um dispositivo Wi-Fi baseado em Realtek? (usando lspci acima)? Você tem alguma sorte em reinstalar o módulo (rmmod / modprobe acima)?

Enfim, apenas um tiro no escuro. Se você encontrou uma resposta final para si mesmo, por favor nos avise! Thx.

    
por androclus 16.03.2017 / 23:40
6

Para reiniciar automaticamente o NetworkManager depois de continuar em um ambiente sem sudo access, crie um script em /etc/pm/sleep.d (qualquer nome), defina o bit executável via chmod +x e insira o seguinte conteúdo:

case "${1}" in
    resume|thaw)
        # systemctl restart network-manager.service
        service NetworkManager restart
;;
esac

Para mim, a linha service funcionou, mas systemctl pode funcionar melhor para você.

Fonte: link .

    
por krlmlr 05.11.2016 / 08:50
2

Para mim, parece ser aleatório, mas às vezes o wifi apenas desconecta se estou conectado, ou não mostra redes se não estou. Às vezes, colocar meu laptop no modo de suspensão parece ativá-lo, mas nem sempre.

Algumas combinações desses geralmente fazem com que ele seja reiniciado sem reinicializar:

  • sudo iwlist $(ifconfig | grep -Po '^w\w+') scan
  • %código%
    • Simplesmente chamar sudo service network-manager stop; sleep 5; sudo service network-manager start aqui nunca parece funcionar para mim. Parece que ele tenta inicializá-lo antes de encerrá-lo, por isso tenho mais sorte pausando entre restart e stop .
  • Desativar o Wi-Fi na interface do usuário. aguarde alguns segundos; Volte a ligar

Nenhum desses parece funcionar consistentemente, mas eu os listei em ordem de mais provável-para-sucesso primeiro.

    
por redbmk 20.12.2016 / 17:07
2

Método de trabalho no Ubuntu 16.04:

Crie o serviço: sudo nano /lib/systemd/system/wifi-resume.service

O serviço está chamando o programa de:
/etc/init.d/network-manager

Cole o código:

#/lib/systemd/system/wifi-resume.service
#sudo systemctl enable wifi-resume.service
[Unit]
Description=Restart network-manager at resume
After=suspend.target
After=hibernate.target
After=hybrid-sleep.target 

[Service]
Type=oneshot
ExecStart=/bin/systemctl restart network-manager

[Install]
WantedBy=suspend.target
WantedBy=hibernate.target
WantedBy=hybrid-sleep.target

Em seguida, ative o serviço:

sudo systemctl enable /lib/systemd/system/wifi-resume.service

Isto cria os symlinks nos diretórios [Install] indicados de / etc / systemd / system e ativa o serviço

Depois, você pode verificar o status com: systemctl status wifi-resume.service

    
por cryptoboy 23.01.2017 / 01:59
1

Eu tive o mesmo problema com o bluetooth: Depois de suspender o meu mouse bluetooth não funcionou. Então eu tirei a solução de cima:

sudo nano /etc/systemd/system/bluetooth-resume.service

ativou o novo serviço

sudo systemctl enable bluetooth-resume.service

e editado o serviço

#/etc/systemd/system/bluetooth-resume.service
#sudo systemctl enable bluetooth-resume.service
[Unit]
Description=Restart bluethooth at resume
After=suspend.target
After=hibernate.target
After=hybrid-sleep.target

[Service]
Type=oneshot
ExecStart=/bin/systemctl restart bluetooth.service

[Install]
WantedBy=suspend.target
WantedBy=hibernate.target
WantedBy=hybrid-sleep.target

Eu também tentei editar ...

sudo nano /etc/bluetooth/main.conf

e alterado

AutoEnable=true

MAS isso não funcionou para o "problema de currículo" e não tinha nenhum efeito em novos dispositivos bluetooth!

    
por apos 31.08.2016 / 13:11
1

Eu tive o mesmo problema no meu laptop Dell Inspiron 15R com o Ubuntu 16.04. Para mim, o script relatou a segunda resposta .

Após ter instalado o script, tentei a suspensão com o comando no menu superior direito e até mesmo fechando o lábio, resolvendo o problema.

Eu tenho que dizer que o problema estava alternando em seu comportamento (isto é, às vezes funcionava antes de instalar o script).

    
por Alessandro D'lncal 18.01.2017 / 15:58
0

Para mim, a solução foi rodar

nmcli nm sleep false

em um terminal

    
por tigerjack89 08.04.2017 / 13:01
0

Eu tive o mesmo problema de conexão com o Wi-Fi em casa depois da suspensão. Tentei as várias outras respostas sugeridas que ocasionalmente funcionariam, mas nem sempre.

Eventualmente, a seguinte correção permitida para conectar-se consistentemente ao wifi:

1) Edite este arquivo:

sudo vim /etc/NetworkManager/NetworkManager.conf

2) Adicionando isso a ele:

[device]
wifi.scan-rand-mac-address=no
    
por Ray Vega 28.03.2018 / 08:09
0

Agora provavelmente simples

sudo apt update
sudo apt upgrade

deve funcionar.

No meu caso, entre os pacotes atualizados, havia bcmwl-kernel-source (6.30.223.271+bdcom-0ubuntu1~1.3) e, após essa atualização, o Wi-Fi funciona novamente.

    
por Daniel 05.08.2018 / 07:08