Como reiniciar a conexão WiFi?

64

Eu acho que não tenho problemas com hardware. Às vezes, a conexão WiFi simplesmente desconecta, aparentemente. Portanto, isso não é necessariamente o mesmo que neste caso , talvez não seja necessário recarregar nenhum módulo.

Mas como apenas reiniciar wlan0? Eu tentei restart network-manager, mas isso parece deixar em wlan0paz.

wifan
fonte

Respostas:

123

Você só precisa reiniciar o Network Manager :

sudo service network-manager restart
Radu Rădeanu
fonte
5
Nas versões mais recentes do Ubuntu, pode ser melhor (dependendo do sistema estar usando o systemd) sudo systemctl restart NetworkManager.
TSJNachos117
11
Funciona para mim executando o 16.04 em um ThinkPad t420. Existe algum motivo documentado pelo qual precisamos fazer isso?
mbigras 28/02
Haha, sim, mas no Ubuntu GNOME 17.04 o sudo não funciona quando a rede é desativada. Bastante o problema 22.
grofte 30/06
Este não funciona para mim (Dell Inspiron 9400)
Hibou57
adicionando apenas service network-manager restartpara um arquivo de área de trabalho ou atalho funciona bem (pede passagem de qualquer maneira)
15

Tente o seguinte:

sudo ifconfig wlan0 down
sudo ifconfig wlan0 up
VX
fonte
11
assumindo que essas interfaces estão definidas no /etc/network/interfacesarquivo Unknown interface
Caso contrário
14

Eles não precisam de raiz, caso você esteja usando scripts:

nmcli networking off 
nmcli networking on

Para mais faça: man nmcli

EDIT :

Como esses caras estão dizendo nos comentários, apenas para WI-FI:

nmcli radio wifi off
nmcli radio wifi on
Iacchus
fonte
4
Agradável! (+1) Apenas para torná-lo mais específico à conexão wifi, é possível usar: nmcli radio wifi offseguido pornmcli radio wifi on
n1k31t4
11
@ n1k31t4 você se importaria de editar esta resposta, por favor? é exatamente isso que o OP precisava e provavelmente muitas outras pessoas que estão vendo este post.
ASGs
6

Você pode tentar matar a energia do seu dispositivo. Supondo que você é incapaz / dispostos para desconectar fisicamente o dispositivo, você deve executar (como root): iwconfig wlan0 txpower off. Eu, então, esperar 10-15 segundos para certificar-se de qualquer problema de hardware causou o problema foi parado, então: iwconfig wlan0 txpower auto.

Ou você pode simplesmente executar o rfkill e bloquear / desbloquear o seu dispositivo. Para fazer isso, execute rfkill block wifi, seguido por rfkill unblock wifi. Essa segunda opção deve ser mais rápida, pois você só precisa esperar 2-3 segundos entre os comandos, em vez de 10 a 15 segundos. De fato, na minha máquina, não preciso esperar nada, apesar de suspeitar que isso depende do seu hardware WiFi. Essa opção também pode ser feita como um usuário comum, sem necessidade de raiz.

Você também pode reiniciar o NetworkManager. Se você usa systemctl como seu sistema init (como é o caso das versões mais recentes do Ubuntu), você pode usá-lo systemctl restart NetworkManager. Caso contrário, você pode usar sudo initctl restart network-manager. Se você não souber qual sistema init você usa, tente os dois comandos e veja o que funciona.

TSJNachos117
fonte
Esta é mais uma questão de software do que de hardware, pois estava funcionando bem antes do Ubuntu 16.04 e vários usuários sofrem do mesmo com a mesma versão do Ubuntu.
precisa saber é o seguinte
2

Criou um script com base em conselhos de links anteriores, com algumas combinações e combinações de links anteriores. Isso funciona para mim rodando no Mint Linux 17.3.

O arquivo abaixo não requer acesso root. Ele também reinicia o wifi apenas se já estiver inativo. Agora só preciso adicionar esse script a um trabalho cron para verificar minha conexão wifi a cada 15 minutos.

#!/bin/bash

wlan=$(/sbin/ifconfig wlan0 | grep inet\ addr | wc -l)
if [ $wlan -eq 0 ]; then
nmcli nm wifi on
else
echo "interface is up"
fi
Grynt
fonte
+1 pelo esforço de automatizar o processo. -1 porque esse script não reiniciaria a conexão Wi-Fi, somente o iniciará se já estiver inoperante. Embora isso resolva o problema se o problema do OP interromper completamente a conexão. No entanto, se a conexão permanecer com um IP válido, mas parar de transmitir dados, esse script simplesmente não funcionará. -1 por ter um echoscript automatizado (programado).
Jim
2

"Recarregar o driver"

Encontre o nome do módulo

Vamos encontrar o nome do módulo do kernel para sua conexão sem fio:

sudo hwinfo --network

(Instale o pacote hwinfose você não o tiver.)

Procure o nome do módulo na linha "Driver".

Recarregue o módulo

Agora descarregue e recarregue o módulo. Por exemplo, o nome do meu módulo éiwlwifi

Você pode ter sorte, mas provavelmente receberá esta mensagem de falha:

$ sudo modprobe -r iwlwifi
modprobe: FATAL: Module iwlwifi is in use.

Então, vamos procurar outros módulos usando iwlwifi:

$ lsmod |grep iwlwifi
iwlwifi               241664  1 iwldvm
cfg80211              765952  4 iwldvm,iwlwifi,mac80211,rtl8187

À esquerda está o nome do módulo e à direita estão os outros módulos que o utilizam. Então, vamos tentar desativar iwldvmprimeiro:

$ sudo modprobe -r iwldvm

Se isso funcionar, agora podemos desativar com êxito iwlwifi

$ sudo modprobe -r iwlwifi

E agora reative os dois módulos na ordem inversa:

$ sudo modprobe iwlwifi
$ sudo modprobe iwldvm

Feito!

Este é o único procedimento que funcionou para mim na redefinição das configurações de nível baixo (frag, rate) que eu havia definido usando iwconfig.

O que ele efetivamente faz é "recarregar o driver".

Rolf
fonte
0

A solução alternativa usando "systemctl restart NetworkManager" funciona para mim em dois notebooks diferentes com Broadcom e Atheros WiFi no Debian Buster e Ubuntu 19.04 - onde o problema com "wifi não será ativado no resumo" acontece em cada quarto resumo (= Eu tentei criar um iniciador de área de trabalho para invocar a redefinição de Wi-Fi manualmente, o que funciona e exige uma senha - mas, em seguida, encontrei várias anotações de pessoas colocando a maldição de redefinição em locais no sistema que são executados scripts após o resumo. Ou seja, /lib/systemd/system-sleep/ parece um bom lugar para colocar seu script . E o scriptdeve testar melhor algumas condições (obtidas por meio de argumentos cmdline) para saber que é o momento certo de redefinir o NetworkManager. Desculpas por vincular em vez de recortar e colar - eu não pedi a permissão desse autor em particular, e ele também pode gostar de votos positivos por sua contribuição no YouTube (direto ao ponto e bem narrada).

Fora isso, notei algumas soluções muito simples e diretas para o problema original do Ubuntu 16.04: wifi.scan-rand-mac-address=nono NetworkManager.conf ou mesmo apenas apt-get update && apt-get upgrade. Essa é a solução ideal para o bug específico no 16.04. Eles possivelmente não são uma solução para outros problemas diversos desse tipo, que podem ser contornados pela reinicialização pesada (mas bastante rápida) do NetworkManager em todos os currículos a partir da suspensão.

frr
fonte