Raspberry Pi/Wifi Auto Restart: Difference between revisions

From Wiki
(Die Seite wurde neu angelegt: „== Requirements == * /etc/network/interfaces <pre> allow-hotplug wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf </pre>“)
 
No edit summary
Line 5: Line 5:
iface wlan0 inet dhcp
iface wlan0 inet dhcp
     wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
     wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
</pre>
== Watchdog script ==
* /srv/scripts/wifi_watchdog.sh
<pre>
#!/bin/bash
check_interval=60
router_ip=192.168.111.1
log=/var/log/wifi.log.
# make sure we aren't running already
what=`basename $0`
for p in `ps h -o pid -C $what`; do
        if [ $p != $$ ]; then
                exit 0
        fi
done
# log settings
exec 1> /dev/null
exec 2>> $log
echo $(date) > $log
startWifi () {
        #dhclient -v -r
        # make really sure
        #killall dhclient
        #iwconfig $wlan essid $essid
        #dhclient -v $wlan
        echo "restarting"
        #ifdown wlan0
        #ifup wlan0
}
while [ 1 ]; do
        ping -c 1 $router_ip & wait $!
        if [ $? != 0 ]; then
                echo $(date)" attempting restart..." >> $log
                startWifi
                sleep 1
        else sleep $check_interval
        fi
done
</pre>
</pre>

Revision as of 15:11, 15 April 2017

Requirements

  • /etc/network/interfaces
allow-hotplug wlan0
iface wlan0 inet dhcp
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf


Watchdog script

  • /srv/scripts/wifi_watchdog.sh
#!/bin/bash
check_interval=60
router_ip=192.168.111.1
log=/var/log/wifi.log.

# make sure we aren't running already
what=`basename $0`
for p in `ps h -o pid -C $what`; do
        if [ $p != $$ ]; then
                exit 0
        fi
done


# log settings
exec 1> /dev/null
exec 2>> $log
echo $(date) > $log



startWifi () {
        #dhclient -v -r
        # make really sure
        #killall dhclient
        #iwconfig $wlan essid $essid
        #dhclient -v $wlan

        echo "restarting"
        #ifdown wlan0
        #ifup wlan0
}



while [ 1 ]; do
        ping -c 1 $router_ip & wait $!
        if [ $? != 0 ]; then
                echo $(date)" attempting restart..." >> $log
                startWifi
                sleep 1
        else sleep $check_interval
        fi
done