Utilisation d'Ubuntu 11.10 (Unity 3D) et d'une connexion Internet par câble (DSL) sans routeur ni modem.
Si je déconnecte ma connexion Internet, je peux simplement me reconnecter en cliquant sur l'icône du gestionnaire de réseau et en sélectionnant une connexion dans le menu déroulant car mes connexions sont visibles. Il n'est pas nécessaire de redémarrer le gestionnaire de réseau.
Mais chaque fois que la connexion Internet tombe d'elle - même , j'ai ouvert un terminal et sudo service network-manager restart
je l' utilise car je ne vois aucune connexion dans le menu déroulant du gestionnaire de réseau. Ce n'est qu'après la commande que le gestionnaire de réseau démarre et se connecte automatiquement.
Existe-t-il un paramètre pour que le gestionnaire de réseau ne doive pas être redémarré à chaque fois que la connexion est interrompue (par opposition à ma déconnexion lorsqu'elle n'a pas besoin de redémarrage)?
Je suppose qu'en d'autres termes, je ne veux pas que le gestionnaire de réseau s'arrête aussi longtemps que j'utilise l'ordinateur, que ma connexion au FAI soit interrompue ou non.
Ce n'est pas très grave d'ouvrir un terminal et de taper la commande et le mot de passe, mais s'il y a un moyen de s'assurer que le gestionnaire de réseau ne s'arrête pas, ce serait mieux.
édition du 26 janvier 2012: lignes de syslog
Jan 25 20:09:36 aes-Inspiron-1545 pppd[3539]: No response to 3 echo-requests
Jan 25 20:09:36 aes-Inspiron-1545 pppd[3539]: Serial link appears to be disconnected.
Jan 25 20:09:36 aes-Inspiron-1545 pppd[3539]: Connect time 241.5 minutes.
Jan 25 20:09:36 aes-Inspiron-1545 pppd[3539]: Sent 3575961 bytes, received 79026206 bytes.
Jan 25 20:09:36 aes-Inspiron-1545 pppd[3539]: Connection terminated.
Jan 25 20:09:36 aes-Inspiron-1545 avahi-daemon[836]: Withdrawing workstation service for ppp0.
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth0): device state change: activated -> failed (reason 'ppp-disconnect') [100 120 13]
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <warn> Activation (eth0) failed.
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: SCPlugin-Ifupdown: devices removed (path: /sys/devices/virtual/net/ppp0, iface: ppp0)
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth0): now unmanaged
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth0): device state change: failed -> unmanaged (reason 'removed') [120 10 36]
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth0): deactivating device (reason 'removed') [36]
Jan 25 20:09:36 aes-Inspiron-1545 dbus[802]: [system] Activating service name='org.freedesktop.nm_dispatcher' (using servicehelper)
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <warn> could not read ppp stats: No such device
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth0): cleaning up...
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth0): taking down device.
Jan 25 20:09:36 aes-Inspiron-1545 kernel: [18027.155552] sky2 0000:09:00.0: eth0: disabling interface
Jan 25 20:09:36 aes-Inspiron-1545 avahi-daemon[836]: Interface eth0.IPv6 no longer relevant for mDNS.
Jan 25 20:09:36 aes-Inspiron-1545 avahi-daemon[836]: Leaving mDNS multicast group on interface eth0.IPv6 with address fec0::b:223:aeff:fe2d:2431.
Jan 25 20:09:36 aes-Inspiron-1545 avahi-daemon[836]: Withdrawing address record for 2002:1b00:3b4f:b:223:aeff:fe2d:2431 on eth0.
Jan 25 20:09:36 aes-Inspiron-1545 avahi-daemon[836]: Withdrawing address record for 2002:1b00:3754:b:223:aeff:fe2d:2431 on eth0.
Jan 25 20:09:36 aes-Inspiron-1545 avahi-daemon[836]: Withdrawing address record for 2002:7345:f137:b:223:aeff:fe2d:2431 on eth0.
Jan 25 20:09:36 aes-Inspiron-1545 avahi-daemon[836]: Withdrawing address record for fec0::b:223:aeff:fe2d:2431 on eth0.
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> Unmanaged Device found; state CONNECTED forced. (see http://bugs.launchpad.net/bugs/191889)
Jan 25 20:09:36 aes-Inspiron-1545 NetworkManager[3531]: <info> Unmanaged Device found; state CONNECTED forced. (see http://bugs.launchpad.net/bugs/191889)
Jan 25 20:09:36 aes-Inspiron-1545 pppd[3539]: Terminating on signal 15
Jan 25 20:09:36 aes-Inspiron-1545 pppd[3539]: Exit.
Jan 25 20:09:36 aes-Inspiron-1545 dbus[802]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Jan 25 20:11:56 aes-Inspiron-1545 modem-manager[3529]: <info> Caught signal 15, shutting down...
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[3531]: <info> caught signal 15, shutting down normally.
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[3531]: <warn> quit request received, terminating...
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth1): now unmanaged
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[3531]: <info> (eth1): device state change: unavailable -> unmanaged (reason 'removed') [20 10 36]
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[3531]: <info> Unmanaged Device found; state CONNECTED forced. (see http://bugs.launchpad.net/bugs/191889)
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[3531]: <info> exiting (success)
Jan 25 20:11:56 aes-Inspiron-1545 modem-manager[6945]: <info> ModemManager (version 0.5) starting...
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[6947]: <info> NetworkManager (version 0.9.1.90) is starting...
Jan 25 20:11:56 aes-Inspiron-1545 NetworkManager[6947]: <info> Read config file /etc/NetworkManager/NetworkManager.conf
Jan 25 20:11:56 aes-Inspiron-1545 kernel: [18167.470749] init: reconnect main process (6948) terminated with status 2
Jan 25 20:11:56 aes-Inspiron-1545 modem-manager[6945]: <info> Loaded plugin Nokia
Jan 25 20:11:56 aes-Inspiron-1545 modem-manager[6945]: <info> Loaded plugin Ericsson MBM
Jan 25 20:11:56 aes-Inspiron-1545 modem-manager[6945]: <info> Loaded plugin MotoC
nmcli con up id "DSL connection 1"
. Je n'ai pas de DSL, j'ai donc besoin de votre aide pour toutes les commandes et sorties. Commentez votre sortie.nmcli -t -f TYPE,STATE dev
Réponses:
Voici un script Upstart que vous pouvez placer pour
/etc/init/reconnect.conf
:En cas de perte d'une adresse IP pour eth0 (configurez votre interface si elle est différente), il redémarrera le travail du gestionnaire de réseau et restaurera la connectivité.
la source
reconnect.conf
à/etc/init
. La seule chose que vous devez changer est eth0 en quelque chose d'autre si ce n'est pas correct.inet addr:
partie est juste un filtre pour grep et ne doit pas être touchée. Le nom de connexion pertinent peut être vérifié viaifconfig
. Upstart lira ce fichier automatiquement et vous devriez le fairesudo start reconnect
pour démarrer le travail. Au prochain redémarrage, il démarrera automatiquement.ifconfig
commence paretho
donc je vais l'utiliser et puissudo start reconnect
quand la connexion sera coupée. Je reviendrai avec le résultat. Merci!/etc/init/reconnect.conf
et redémarré. Lorsque ma connexion a chuté quelque temps après le redémarrage, nm n'a pas redémarré. J'ai donc émissudo start reconnect
.reconnect stop/waiting
était la réponse mais nm n'a pas redémarré. Je devais savoirsudo service network-manager restart
ce que je fais normalement. Au lieu de celarestart network-manager
, est-ce que quelque chose comme celarestart service network-manager
serait requis? (BTW, j'ai mis eth0 et pas etho (contrairement à ce qui était là dans mon commentaire précédent))service network-manager restart
. Juste curieux, quelle est la sortie destatus network-manager
votre système? Si cela indiquestop/waiting
(ou donne une erreur) après le redémarrage, vous devez changer le début en quelque chose commestart on runlevel [2345]
et ajoutersleep 60
avant tout.Une solution rapide et sale consiste à écrire un script qui s'exécute en
ping -i 5 google.com || service network-manager restart
tant que root (vous pouvez écrire un /etc/init.d/-daemon pour cela, mais comme la solution est TRÈS sale, je ne ferais pas ça)Ce script redémarre le gestionnaire de réseau chaque fois que Google n'est pas trouvé et vérifie une fois toutes les cinq secondes.
la source
Essayez wicd au lieu de network-manager, il a été recommandé pour un cas similaire: https://bbs.archlinux.org/viewtopic.php?id=124443
Je ne sais pas si cela résoudra le problème ni si wicd prend en charge pppoe.
Sauvegardez les fichiers .deb, au cas où:
Purger le gestionnaire de réseau et installer wicd
Redémarrez. Essayez de vous connecter à l'aide de wicd.
En cas de problème, purgez simplement wicd et réinstallez le gestionnaire de réseau:
la source
alias nm='echo "password" | sudo -S service network-manager restart'
comme solution de contournement. Troisièmement, d'après vos autres liens utiles, il semble que le problème n'a rien à voir avec Ubuntu mais est "en amont" et je vais donc demander si cette question doit être fermée.J'ai créé un script pour ce problème:
Cela fonctionne bien, mais ce script prend trop de mon processeur. Quelqu'un peut-il m'aider à réduire l'utilisation du processeur?
la source
Pourquoi je réponds à cette question?
Il y a de très bonnes réponses, mais tout est écrit en utilisant init ou upstart. À partir de maintenant, nous utiliserons systemd, j'écris un meilleur script et de meilleures informations. sur la façon de le faire.
Mais existe-t-il un moyen?
Est, il y a un moyen. Il vous suffit de créer un script qui surveille l'état de votre réseau et de redémarrer Network Manager à la demande. Nous allons construire ce script et un service systemd qui sera démarré avec le système et surveillerons l'état de votre réseau toutes les 5 secondes pour savoir si vous êtes en ligne ou non.
Que devrais-je faire?
Tout d'abord, nous devons installer l'outil fping pour effectuer l'un des tests de connexion (fping return "est vivant" si une connexion est possible et "adresse non trouvée" sinon):
Nous allons maintenant créer le script de moniteur sur notre système. Créez un fichier dans / usr / local / bin / appelé nm-watcher:
Et modifiez-le en utilisant nano ou votre éditeur de texte préféré:
Copiez et collez ce script dans l'éditeur, enregistrez et fermez le fichier (si vous utilisez nano, comme dans ce tutoriel, utilisez "CTRL + X" "Y" et "ENTER" dans l'ordre). N'oubliez pas de changer wlan0 pour l'interface que vous voulez que wm-watcher surveille:
Pour exécuter ce script, nous devons le rendre exécutable:
Maintenant, nous allons créer le service SystemD, pour cela, vous devez créer et éditer le fichier nm-watcher.service dans / etc / systemd / system /:
Et mettez ce contenu dans le fichier:
Cela créera le fichier de service qui fera appeler SystemD le script que nous avons créé avant à chaque démarrage, après avoir établi une connexion en utilisant network-manager.service.
Nous devons savoir activer ce service en utilisant:
Et démarrez le service en tapant:
Pour vérifier si le service est en cours d'exécution, tapez:
Si vous avez des problèmes avec le service, vous pouvez voir les messages de débogage en utilisant:
Dois-je faire autre chose?
Non, c'est tout ce qu'il faut pour accomplir cette tâche. Ce script a un impact très faible sur les performances du système, comme vous pouvez le voir sur cette capture d'écran:
la source
Sur mon ancien ordinateur portable, j'avais une mauvaise carte WiFi qui avait tendance à se déconnecter du WiFi s'il y avait beaucoup de charge (par exemple, télécharger de gros fichiers, etc.).
J'ai créé un script simple pour vérifier si mon Internet était toujours connecté, et si ce n'était pas le cas, redémarrer le gestionnaire de réseau.
J'ai créé un cronjob racine avec
sudo crontab -e
, et je l'ai défini de telle sorte que chaque minute (vous pouvez le faire moins souvent, mais le script est un simple ping donc il ne consomme pas beaucoup de ressources) il exécuterait le script.Donc, si mon WiFi s'éteignait pour une raison quelconque, il ne le serait que pendant environ une minute à la fois, en haut. Si vous n'êtes pas familier avec
cron
, je vous recommande de lire cecila source