it-swarm.com.de

Stellen Sie die drahtlose Verbindung automatisch wieder her

Die drahtlose Verbindung in meinem Haus verschwindet leider oft und erfordert einen Neustart des drahtlosen Routers.

Erschwerend kommt hinzu, dass sich mein Ubuntu Media-PC nicht automatisch wieder mit dem drahtlosen Netzwerk verbindet, wenn es nicht mehr vorhanden ist, und etwa eine Minute später wieder hochfährt. Das betreffende Netzwerk ist in den Netzwerkeinstellungen als "Automatisch verbinden" eingerichtet.

Wenn ich mein WLAN manuell über das WLAN-Symbol auf dem Bildschirm auswähle, funktioniert alles einwandfrei, bis das WLAN das nächste Mal ausfällt.

Ich suche nach einem Weg, damit ich nicht daran denken muss, dies die ganze Zeit manuell zu tun.

12
Lucas Meijer

Dies ist eine Alternative mit 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
3
auraham

Ich hatte ein ähnliches Problem mit der Intel Wireless WiFi 5100 Karte mit halber Bauhöhe und dem Treiber iwlagn driver. Dieses Problem ist ein bekanntes Problem mit dem iwlagn-Treiber, und die beste Lösung besteht darin, 802.11n auf der Karte zu deaktivieren.

Um 802.11n auf dieser Karte zu deaktivieren, erstellen/bearbeiten Sie Ihre /etc/modprobe.d/options.conf -Datei:

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

Und füge das Folgende hinzu.

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

Dies scheint im ganzen Netz ohne gute Lösungen gepostet zu werden. Ich denke, die beste Lösung ist, die Internetverbindung zu überprüfen und die Verbindung wiederherzustellen, wenn sie nicht vorhanden ist. Ich habe dies über einen Ping-Test bei google.com gemacht und dann einfach einen Neustart des Netzwerks durchgeführt. Code wird nicht getestet (der Neustart-Teil und der Cron-Teil, falls die Anweisung getestet wurde), daher warte ich einfach ab, bis die Verbindung getrennt wird. Ich besitze einen Ubuntu Server 12.10, also keine grafische Benutzeroberfläche, und es ist schwierig, Monitor und Tastatur jedes Mal zu verbinden, wenn das Wireless-Netzwerk ausfällt.

Cron Teil via Webmin so Idk viel darüber getan. Das Skript lautet wie folgt:

# 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

Stellen Sie sicher, dass Sie als root ausgeführt werden und dass das Skript über die Ausführungsberechtigungen (u + x) verfügt.

links:

3
dim_voly

Erstellen Sie einfach eine neue Datei vi /root/checkwanup und fügen Sie diesen Inhalt hinzu:

#!/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

Dann chmod 555 /root/checkwanup und füge es deiner Crontab hinzu:

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

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

2
DougD

Modernere Version des @DougD-Skripts

#!/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
2
hawk

Hier ist meine Version - sie funktioniert mit 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
1
Chris

Möglicherweise möchten Sie wpa_supplicant anstelle von network-manager verwenden, aber das spielt in einem Media Center keine Rolle. wpa_supplicant ist nicht so flexibel wie der Netzwerkmanager, gibt aber nach drei Versuchen nicht auf. werfen Sie einen Blick auf diese Antwort .

1
LassePoulsen