Reconnectez automatiquement la connexion sans fil

13

La connexion sans fil dans ma maison disparaît malheureusement souvent, nécessitant un redémarrage du routeur sans fil.

Pire encore, mon ordinateur multimédia ubuntu ne se reconnecte pas automatiquement au réseau sans fil lorsqu'il a disparu, puis revient environ une minute plus tard. Le réseau en question est configuré comme "se connecter automatiquement" dans les paramètres réseau.

Si je sélectionne manuellement mon réseau sans fil, en utilisant l'icône sans fil dans le coin supérieur droit de mon écran, tout fonctionne bien, jusqu'à la prochaine fois que le sans fil tombe en panne.

Je cherche un moyen pour ne pas avoir à me rappeler de le faire manuellement tout le temps.

Lucas Meijer
la source
J'ai exactement le même problème. Je serais satisfait d'une solution qui utilise, par exemple un script cron toutes les 5 minutes demandant à Network Manager de se reconnecter, s'il n'est pas déjà connecté.
Marius Gedminas
@Marius, avez-vous un tel script?
Oli
Veuillez ajouter des informations sur le matériel à votre question.
Jorge Castro
@Oli: malheureusement non.
Marius Gedminas

Réponses:

3

J'ai eu un problème similaire avec la carte demi-hauteur Intel Wireless WiFi 5100 de mon ordinateur portable et le pilote iwlagn. Ce problème est un problème connu avec le pilote iwlagn, et la meilleure solution consiste à désactiver 802.11n sur la carte.

Pour désactiver 802.11n sur cette carte, créez / modifiez votre /etc/modprobe.d/options.conffichier:

sudo -H gedit /etc/modprobe.d/options.conf

Et ajoutez-y ce qui suit.

options iwlagn 11n_disable=1 11n_disable50=1
Mike
la source
3

Il s'agit d'une alternative utilisant service network-manager restart:

#!/usr/bin/env bash


# 1. copy this script into
# /usr/bin

# 2. change permissions
# root:/usr/bin# chmod +x checkwifi.sh 

# 3. add to cron as root
# sudo su
# crontab -e

# add this to check your wifi every minute
# * * * * * /usr/bin/checkwifi.sh

is_ok=$(/sbin/ifconfig wlp2s0 | /bin/grep inet\ addr -c)

if [ "$is_ok" -eq 0 ] ; then

    # restart
    /usr/sbin/service network-manager restart

    # wifi is ok
    /bin/echo $(date) "wifi was restarted" >> /user/user/Dropbox/wifi.log
    /bin/echo $(/sbin/ifconfig wlp2s0) >> /home/user/Dropbox/wifi.log

else

    # wifi is ok
    /bin/echo $(date) "wifi is ok" >> /home/user/Dropbox/wifi.log
    /bin/echo $(/sbin/ifconfig wlp2s0) >> /home/user/Dropbox/wifi.log

fi
auraham
la source
3

Cela semble être affiché partout sur le net sans bonnes solutions. Je suppose que la meilleure solution / solution de contournement consiste à vérifier la connectivité Internet et, si ce n'est pas le cas, à se reconnecter. J'ai fait cela via un test ping sur google.com, puis je l'ai simplement redémarré. Le code n'est pas testé (la partie redémarrage et la partie cron, si l'instruction est testée), donc j'attendrai juste qu'il se déconnecte à un moment donné. J'ai un serveur Ubuntu 12.10, donc pas d'interface graphique, et c'est difficile de connecter le moniteur et le clavier à chaque fois que le sans fil se remplit.

Cron part fait via webmin donc Idk beaucoup à ce sujet. Le script est le suivant:

# edited by dim_voly for networking restart on no pingback every 5 mins

#!/bin/bash
# Name of File: networkingCron
# Purpose: to check if the internet is up (via ping test to google) and if not, restart networking service
# this script is invoked via cron, ideally every 5 mins.

#check if there is internet via ping test
if ! [ "`ping -c 1 google.com`" ]; then #if ping exits nonzero...
   sudo service networking restart #restart the whole thing
   echo Networking service restarted due to no ping response from google.com
fi

echo Script 'networkingCron' completed, if no message above then there was no network restart.

# dunno how to restart the wifi only since that is the only active connection that server uses.

# also I don't think those echos go anywhere

Assurez-vous d'exécuter en tant que root et assurez-vous que le script dispose des autorisations d'exécution (u + x).

liens:

dim_voly
la source
2

Version plus moderne du script @DougD

#!/bin/bash    
wlan=$(/sbin/ifconfig wlan0 | grep inet\ addr -c)
if [ "$wlan" -eq 0 ]; then    
    /sbin/ifdown wlan0 && /sbin/ifup wlan0
else    
    echo interface is up    
fi
faucon
la source
2

Créez simplement un nouveau fichier vi /root/checkwanupet ajoutez ce contenu:

#!/bin/bash    
wlan=`/sbin/ifconfig wlan0 | grep inet\ addr | wc -l`    
if [ $wlan -eq 0 ]; then    
    /sbin/ifdown wlan0 && /sbin/ifup wlan0
else    
    echo interface is up    
fi

Ensuite chmod 555 /root/checkwanup, ajoutez-le à votre crontab:

crontab -e
*/15 * * * * /bin/bash /root/checkwanup

Source: http://sirlagz.net/2013/01/10/script-wifi-checker-script/

DougD
la source
ajouter LANG=Cou l' grep inet\ addréchec peut.
Mawi12345
1

Vous voudrez peut-être jeter un œil à l'utilisation de wpa_supplicant au lieu de network-manager, mais cela n'a pas vraiment d'importance quand vous êtes sur un media-center. wpa_supplicant n'est pas aussi flexible que le gestionnaire de réseau mais afaik il n'abandonne pas après avoir essayé trois fois. jetez un oeil à cette réponse .

LassePoulsen
la source
1

Voici ma version - cela fonctionne avec NetworkManager:

#!/bin/bash    
wlan=`/sbin/ifconfig wlan0 | grep inet\ addr | wc -l`    
if [ $wlan -eq 0 ]; then   
    /usr/bin/nmcli nm wifi off && /usr/bin/nmcli nm wifi on 
fi
Chris
la source