J'ai une machine Ubuntu exécutant un logiciel qui nécessite Internet. Cependant, parfois le wifi échoue (redémarrage du routeur par exemple) et ne retrouve pas le réseau, jusqu'à ce que je répare manuellement le redémarrage du gestionnaire de réseau ou que je coupe et rallume le wifi pour le trouver.
Existe-t-il un moyen possible d'exécuter une tâche Cron ou une tâche Supervord pour surveiller la connectivité et si le réseau ne peut pas être trouvé pour redémarrer le service de gestionnaire de réseau et se connecter à ce SSID spécifique?
networking
wireless
cron
Blue Genie
la source
la source
Réponses:
Je pense que cela pourrait être dû à un nouveau bogue de gestionnaire de réseau, car je n'ai également commencé à rencontrer ce problème que récemment - je pense après la mise à niveau vers Ubuntu 15.04.
Il semble que j'ai réussi à résoudre ce problème temporairement comme solution de contournement avec ces deux fichiers:
~/.bin/WiFi-Keep-Connected
avec ce contenu:~/.config/autostart/KeepWifiConnected.desktop
avec ce contenu:Remarque: vous devrez saisir votre nom d'utilisateur dans le chemin indiqué
Exec=
ci-dessus.NB: Parfois, redémarrer le Wi-Fi de cette manière ne suffit pas, auquel cas je dois redémarrer Network Manager en entrant cette commande une ou même deux fois depuis le terminal:
sudo service network-manager restart
Par conséquent, il pourrait être préférable de modifier le script ci-dessus (juste au cas où) comme ceci:
la source
Je ne sais pas pourquoi, mais comme vous le mentionnez, parfois lorsque le wifi échoue, le gestionnaire de réseau ne retrouve plus le réseau.
Je pense que le problème est que le gestionnaire de réseau, après une panne de connexion wifi, ne rafraîchit pas la liste wifi (et il semble que le gestionnaire de réseau cache le réseau problématique). Le gestionnaire de réseau n'a pas d'option de menu de nouvelle analyse, et la désactivation et l'activation de la case à cocher sans fil dans le menu du gestionnaire de réseau ne forcent pas une nouvelle analyse wifi (comme le fait le redémarrage du service).
Lorsque le gestionnaire de réseau perd ma connexion sans fil et qu'il ne retrouve plus mon wifi (et je savais que le wifi est opérationnel), j'exécute la commande:
Il effectue une analyse wifi sur l'interface wlan0 (wlan0 est le nom de l'interface sans fil dans mon ordinateur portable) et il vous montre les réseaux sans fil disponibles, mais en tant qu'effet secondaire, le gestionnaire de réseau actualise automatiquement sa liste et trouve le réseau perdu.
Je préfère exécuter la commande manuellement lorsque ce problème se produit (la reconnexion au réseau ne garantit pas la reprise de la communication et certains programmes devront être redémarrés).
Mais, comme vous le mentionnez, vous pouvez le cron, et vous pouvez le faire sans tester la connectivité (le processus de numérisation met à jour votre liste wifi mais ne ferme pas votre connexion sans fil actuelle, si vous êtes connecté).
Si vous préférez, vous pouvez tester la conectivité en utilisant ping ou iwconfig et si vous n'êtes pas connecté, lancez l'analyse.
Quelque chose comme:
Mais rappelez-vous que ce script doit être créé par sudo ou exécuté avec les privilèges root. Il envoie seulement 1 ping avec 1 seconde de temporisation.
la source
Ce que je pense, c'est que la connexion est perdue à cause des problèmes de connectivité du routeur. Le redémarrage du gestionnaire de réseau n'a pas pu aider lorsque le routeur lui-même a des problèmes. Vous pouvez plutôt créer un script pour suspendre le processus exécutant le logiciel à l'aide de SIGSTOP lorsque la connexion est perdue, et déclencher à nouveau pour continuer à utiliser SIGCONT lorsque le réseau devient disponible. Et ajoutez le script à vos tâches cron, en le planifiant pour s'exécuter toutes les minutes.
Pour votre référence: http://hints.macworld.com/article.php?story=20030915193440334
J'espère que cela t'aides.
la source