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 le même que 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 wlan0
seul.
Il vous suffit de redémarrer Network Manager :
Sudo service network-manager restart
Essaye ça:
Sudo ifconfig wlan0 down
Sudo ifconfig wlan0 up
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
Vous pouvez essayer de couper l'alimentation de votre appareil. En supposant que vous ne puissiez pas/ne souhaitez pas déconnecter physiquement le périphérique, vous devez exécuter (en tant que root): iwconfig wlan0 txpower off
. J'attendrais ensuite 10 à 15 secondes pour m'assurer que le problème matériel à l'origine du problème a été résolu, 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 normal, 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 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.
Création d'un script basé sur des conseils de liens antérieurs 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 pas nécessite un accès root. De plus, il ne redémarre que le wifi seulement s'il est déjà en panne. 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
Trouvons le nom du module du noyau pour votre connexion sans fil:
Sudo hwinfo --network
(Installez le package hwinfo
si vous ne l'avez pas.)
Recherchez le nom du module dans la ligne "Pilote".
Maintenant déchargez puis rechargez le module. Par exemple, mon nom de module est iwlwifi
name__
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
name__:
$ lsmod |grep iwlwifi
iwlwifi 241664 1 iwldvm
cfg80211 765952 4 iwldvm,iwlwifi,mac80211,rtl8187
À gauche, le nom du module et à droite, les autres modules qui l'utilisent. Essayons donc de commencer par désactiver iwldvm
name__:
$ Sudo modprobe -r iwldvm
Si cela fonctionne, nous pouvons maintenant désactiver avec succès iwlwifi
name__
$ Sudo modprobe -r iwlwifi
Et maintenant, réactivez les deux modules dans l'ordre inverse:
$ Sudo modprobe iwlwifi
$ Sudo modprobe iwldvm
C’est la seule procédure qui a fonctionné pour moi dans la réinitialisation des paramètres Low Lelel (frag, rate) que j’avais définis avec iwconfig
name__.
Ce qu'il fait effectivement, c'est "recharger le pilote".