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

149

Esta versão específica 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 ao lado do ícone de rede comum), mas parece não funcionar após uma suspensão. A sudo service network-manager restartduplica esse problema. É preciso uma reinicialização completa para ativar o Wifi novamente. Alguma idéia do porquê?

147pm
fonte
6
Você registrou um bug na barra de ativação para o problema ???
apos
Parece que esse problema existe desde o Ubuntu 14 .
Dan Dascalescu 9/09/16
Isso nunca aconteceu sob 14.04 LTS para mim. A atualização para o 16.04 LTS é tão boa que vou mantê-lo, mas ele continua esquecendo minha senha do WiFi. O serviço está claramente em execução; apenas que esquece a senha e não se conecta. Eu postei isto: askubuntu.com/questions/934958/… - e não quero lidar com listas negras ou qualquer coisa estranha.
SDSolar

Respostas:

176

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.serviceAgora 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

Roteiro:

#/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 isto ajude. Funciona no meu laptop.

Joakim Koed
fonte
2
Você já tentou desinstalar o wicd?
Joakim Koed
6
Eu diria que não se incomoda em reinstalar para isso. Fiz uma instalação limpa e estou enfrentando esse problema no 16.04. Nunca tive um problema com o 14.04.
Michael Martin-Smucker
3
Às vezes funciona e às vezes não :(
tokam 17/05
1
@ Mikeymop Eu estive pensando isso também. Sei que algumas partes do sistema ainda estão usando upstart, o que pode desencadear algo. Como a 16.10 está cheia do sistema e não possui o erro, você pode estar correto.
Joakim Koed 02/09/16
1
Como posso remover isso, isso não funciona no meu sistema
uma oferta não pode ser recusada
15

@ 147pm Você já trabalhou com isso?

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

Também vejo que você não tem o problema no KDE. Mas eu gostaria de saber se a solução abaixo ajuda no Gnome, pois a solução não é baseada no gerenciador de janelas, no ambiente de desktop ou nos applets.

Primeiro, apenas para confirmar que reiniciou 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 de buzhidao em não é possível conectar-se à internet após a suspensão e ao comentário do GAD3R lá.

Usando essas informações, descobri que primeiro pesquisando qual hardware ethernet e driver / módulo estou executando e, em seguida, removendo e recarregando esse módulo, funcionou para mim (embora não para o buzhidao):

Wi-fi:

$ lspci -knn | grep Net -A2

Ethernet:

$ lspci -knn | grep Ether -A2

O segundo deles (ethernet) foi o que eu usei e descobri:

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 recarreguei o driver 'r8169':

$ sudo rmmod r8169 && sudo modprobe r8169

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

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

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

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

Enfim, apenas um tiro no escuro. Se você encontrou uma resposta eventual, informe-nos! Valeu.

androclus
fonte
1
Eu também tenho uma Ethernet RTL8111 / 8168/8411 e sudo rmmod r8169 && sudo modprobe r8169resolvi o problema.
lenooh
O mesmo problema no Debian 9 com o KDE. Reinstalar como acima corrigido. Muito obrigado.
Sumitkm
Meu computador * também possui um dispositivo Ethernet RTL8111 / 8168/8411 e sudo rmmod r8169 && sudo modprobe r81691finalmente resolveu o problema para mim. Não teve esse problema antes da versão 4.16 do kernel. (* Debian 10 com GNOME, Kernel 4.16 e firmware proprietário da Realtek )
ossbuntu
trabalhou para mim archlinux com ath10k_pci
noone
6

Para reiniciar automaticamente o NetworkManager após reiniciar em um ambiente sem sudoacesso, crie um script em /etc/pm/sleep.d(qualquer nome), defina o bit executável via chmod +xe insira o seguinte conteúdo:

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

Para mim, a servicelinha funcionou, mas systemctlpode funcionar melhor para você.

Fonte: https://askubuntu.com/a/92235/30266 .

krlmlr
fonte
2
O service NetworkManager restartfuncionou para mim, mas a colocação do script não (em 16.04). Eu tive que mudar o script para /lib/systemd/system-sleep/script-name-here. Nesse caso, o primeiro argumento para o script é [pre | post], então eu tive que mudar a instrução de caso para case "${1}" in ... post) .... Eu também envolvi a declaração interna case "${2}" in ... suspend) ....
Chester
1
Deve ser /lib/systemd/system-sleep/para 15.04+
qwr
2

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

Alguma combinação desses geralmente faz com que tudo funcione novamente sem reiniciar:

  • sudo iwlist $(ifconfig | grep -Po '^w\w+') scan
  • sudo service network-manager stop; sleep 5; sudo service network-manager start
    • Simplesmente ligar para restartcá nunca parece funcionar para mim. Parece que ele tenta iniciá-lo antes de terminar de desligá-lo, portanto, tenho mais sorte fazendo uma pausa entre stope start.
  • Desligue o wifi na interface do usuário; espere alguns segundos; ligue-o novamente

Nenhuma delas parece funcionar de maneira consistente, mas listei-as por ordem de maior probabilidade de sucesso primeiro.

redbmk
fonte
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 em:
/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

Ative o serviço:

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

Isso cria os links simbólicos nos diretórios [Install] indicados do / etc / systemd / system e ativa o serviço

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

cryptoboy
fonte
1

Eu tive o mesmo problema com o bluetooth: depois de suspender, o mouse bluetooth não funcionou. Então, deduzi a solução acima:

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

habilitou o novo serviço

sudo systemctl enable bluetooth-resume.service

e editou 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 mudou

AutoEnable=true

MAS isso não funcionou para o "problema de retomada" e não causou nenhum impacto em novos dispositivos bluetooth!

apos
fonte
1

Eu tive o mesmo problema no meu laptop Dell Inspiron 15R com Ubuntu 16.04. Para mim trabalhou o script relatado na segunda resposta .

Depois de instalar o script, tentei a suspensão com o comando no menu superior direito e até fechei o lábio, resolvendo o problema.

Devo dizer que o problema estava alternando em seu comportamento (ou seja, às vezes funcionava antes de instalar o script).

Alessandro D'lncal
fonte
0

Para mim, a solução era correr

nmcli nm sleep false

em um terminal

tigerjack89
fonte
0

Eu tive o mesmo problema ao conectar novamente ao meu wifi em casa após a suspensão. Tentei as várias outras respostas sugeridas que ocasionalmente funcionavam, mas nem sempre.

Eventualmente, a seguinte correção permitiu a conexão consistente com o wifi:

1) Edite este arquivo:

sudo vim /etc/NetworkManager/NetworkManager.conf

2) Adicionando isso a ele:

[device]
wifi.scan-rand-mac-address=no
Ray Vega
fonte
0

Agora provavelmente simples

sudo apt update
sudo apt upgrade

Deveria trabalhar.

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

Daniel
fonte