Comment redémarrer la connexion WiFi?

64

Je pense que je n'ai pas de problème avec le matériel. Parfois, la connexion WiFi se déconnecte simplement, apparemment. Donc, ce n'est pas nécessairement la même chose dans ce cas , je n'aurai peut-être pas besoin de recharger des modules.

Mais comment simplement redémarrer wlan0? J'ai essayé restart network-manager, mais cela semble laisser wlan0tranquille.

Wifan
la source

Réponses:

123

Il vous suffit de redémarrer Network Manager :

sudo service network-manager restart
Radu Rădeanu
la source
5
Sur les nouvelles versions d'Ubuntu, il peut être préférable d'utiliser (selon que le système utilise systemd ou non) sudo systemctl restart NetworkManager.
TSJNachos117
1
Fonctionne pour moi sous 16.04 avec un ThinkPad t420. Y a-t-il une raison documentée pour laquelle nous devons faire cela?
mbigras le
Haha, oui, mais sur Ubuntu GNOME 17.04, sudo ne fonctionne pas lorsque le réseau est désactivé. Tout à fait la capture 22.
grofte
Celui-ci ne fonctionne pas pour moi (Dell Inspiron 9400)
Hibou57
l'ajout service network-manager restartd'un fichier de bureau ou d'un raccourci fonctionne très bien (demande quand même un laissez-passer)
15

Essaye ça:

sudo ifconfig wlan0 down
sudo ifconfig wlan0 up
VX
la source
1
en supposant que ces interfaces sont définies dans le /etc/network/interfacesfichier. Sinon, vous pourriez obtenir l' Unknown interfaceerreur infâme
asgs
14

Ceux-ci n'ont pas besoin de root, si vous écrivez un script:

nmcli networking off 
nmcli networking on

Pour plus faire: man nmcli

EDIT :

Comme ces gars le disent dans les commentaires, pour WI-FI uniquement:

nmcli radio wifi off
nmcli radio wifi on
Iacchus
la source
4
Agréable! (+1) Juste pour le rendre plus spécifique à la connexion wifi, on peut utiliser: nmcli radio wifi offsuivi denmcli radio wifi on
n1k31t4
1
@ n1k31t4 voudriez-vous éditer cette réponse, s'il vous plaît? c'est exactement ce dont le PO avait besoin et probablement beaucoup d'autres personnes qui consultent ce poste.
Asgs
6

Vous pouvez essayer de couper l’alimentation de votre appareil. En supposant que vous ne pouvez pas / ne voulant pas débrancher physiquement l'appareil, vous devez exécuter ( en tant que root): iwconfig wlan0 txpower off. Je puis attendre 10-15 secondes pour vous assurer que tout problème matériel a causé le problème a été arrêté, puis: iwconfig wlan0 txpower auto.

Ou, vous pouvez simplement exécuter rfkill et bloquer / débloquer votre appareil. Pour ce faire, exécutez rfkill block wifi, suivi de rfkill unblock wifi. Cette deuxième option devrait être plus rapide, car il suffit d'attendre 2 à 3 secondes entre les commandes, au lieu de 10 à 15 secondes. En fait, sur ma machine, je n'ai pas besoin d'attendre du tout, même si je suppose que cela dépend de votre matériel WiFi. Cette option peut également être utilisée en tant qu'utilisateur régulier, aucune racine nécessaire.

Vous pouvez également redémarrer NetworkManager. Si vous utilisez systemctl comme système d’initialisation (comme c’est le cas pour les versions plus récentes d’Ubuntu), vous pouvez l’utiliser systemctl restart NetworkManager. Sinon, vous pouvez utiliser sudo initctl restart network-manager. Si vous ne savez pas quel système d’initialisation vous utilisez, essayez les deux commandes et voyez ce qui fonctionne.

TSJNachos117
la source
Il s’agit plutôt d’un problème logiciel que d’un problème matériel, puisqu’il fonctionnait bien avant Ubuntu16.04 et que de nombreux utilisateurs souffrent de la même chose avec la même version d’Ubuntu.
Hibou57
3

"Recharger le pilote"

Trouver le nom du module

Trouvons le nom du module du noyau pour votre connexion sans fil:

sudo hwinfo --network

(Installez le paquet hwinfosi vous ne l'avez pas.)

Recherchez le nom du module dans la ligne "Pilote".

Recharger le module

Maintenant déchargez puis rechargez le module. Par exemple, mon nom de module estiwlwifi

Vous aurez peut-être de la chance, mais vous obtiendrez probablement le message d'échec suivant:

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

Nous allons donc chercher d'autres modules en utilisant iwlwifi:

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

À gauche, le nom du module et à droite, les autres modules l'utilisant. Essayons donc de iwldvmcommencer par désactiver :

$ sudo modprobe -r iwldvm

Si cela fonctionne, alors nous pouvons maintenant désactiver avec succès iwlwifi

$ sudo modprobe -r iwlwifi

Et maintenant, réactivez les deux modules dans l'ordre inverse:

$ sudo modprobe iwlwifi
$ sudo modprobe iwldvm

Terminé!

C’est la seule procédure qui a fonctionné pour moi lors de la réinitialisation des paramètres de faible niveau (frag, rate) que j’avais définis iwconfig.

Ce qu'il fait effectivement, c'est "recharger le pilote".

Rolf
la source
2

Création d'un script basé sur des conseils de liens préalables avec un mélange et une correspondance de liens antérieurs. Cela fonctionne pour moi sous Mint Linux 17.3.

Le fichier ci-dessous ne nécessite pas d'accès root. En outre, il ne redémarre le wifi que s'il est déjà hors service. Maintenant, je dois juste ajouter ce script à un travail cron pour vérifier ma connexion wifi toutes les 15 minutes environ.

#!/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
la source
+1 pour l’effort d’automatisation du processus. -1 car ce script ne permettrait pas de redémarrer la connexion WiFi, il ne le démarrera que s'il est déjà hors service. Bien que cela puisse résoudre le problème si le problème de l'OP supprime complètement la connexion. Cependant, si la connexion conserve une adresse IP valide, mais a cessé de transmettre des données, ce script ne fonctionnerait tout simplement pas. -1 pour avoir un echoscript automatisé (cron).
Jim le
0

La solution de contournement utilisant "systemctl restart NetworkManager" fonctionne pour moi sur deux ordinateurs portables différents avec Broadcom et Atheros WiFi sous Debian Buster et Ubuntu 19.04. cela fonctionne généralement très bien.) J’ai d’abord essayé de créer un programme de lancement pour invoquer manuellement la réinitialisation wifi, ce qui fonctionne et nécessite un mot de passe. scripts après CV. À savoir, cela /lib/systemd/system-sleep/ ressemble à un bon endroit pour mettre votre script . Et le scriptdevrait mieux tester certaines conditions (obtenues à l’aide d’arguments cmdline) pour savoir que c’est le bon moment pour réinitialiser NetworkManager. Toutes mes excuses pour avoir lié au lieu de couper / coller - je n’ai pas demandé l’autorisation de cet auteur en particulier, et celui-ci pourrait également bénéficier de votes positifs, pour sa contribution à YouTube (droit au but, et bien raconté).

En dehors de cela, j'ai remarqué quelques solutions très simples et directes au problème original d'Ubuntu 16.04: wifi.scan-rand-mac-address=nodans NetworkManager.conf ou même simplement apt-get update && apt-get upgrade. Celles-ci sont la solution optimale au bogue particulier de 16.04. Ils ne constituent peut-être pas une solution à d'autres problèmes de ce type, qui peuvent être résolus par le redémarrage fastidieux (mais assez rapide) de NetworkManager à chaque reprise de la suspension.

frr
la source