Raspberry Pi/Wifi Auto Restart: Difference between revisions

From Wiki
 
Line 29: Line 29:
echo $(date) > $log
echo $(date) > $log


# wifi restart commands
startWifi () {
startWifi () {
         echo $(date)" attempting restart..." >> $log
         echo $(date)" attempting restart..." >> $log
         ifdown wlan0
         ifdown wlan0
         ifup wlan0
         ifup wlan0
        sleep 1
}
}


# check loop
while [ 1 ]; do
while [ 1 ]; do
         ping -c 1 $router_ip & wait $!
         ping -c 1 $router_ip & wait $!
         if [ $? != 0 ]; then
         if [ $? != 0 ]; then
                 startWifi
                 startWifi
                sleep 1
         else sleep $check_interval
         else sleep $check_interval
         fi
         fi
done
done
</pre>
</pre>

Latest revision as of 15:13, 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


# wifi restart commands
startWifi () {
        echo $(date)" attempting restart..." >> $log
        ifdown wlan0
        ifup wlan0
        sleep 1
}

# check loop
while [ 1 ]; do
        ping -c 1 $router_ip & wait $!
        if [ $? != 0 ]; then
                startWifi
        else sleep $check_interval
        fi
done