Raspberry Pi/Wifi Auto Restart: Difference between revisions
Appearance
No edit summary |
|||
| (One intermediate revision by the same user not shown) | |||
| Line 14: | Line 14: | ||
check_interval=60 | check_interval=60 | ||
router_ip=192.168.111.1 | router_ip=192.168.111.1 | ||
log=/var/log/wifi.log | log=/var/log/wifi.log | ||
# make sure we aren't running already | # make sure we aren't running already | ||
| Line 23: | Line 23: | ||
fi | fi | ||
done | done | ||
# log settings | # log settings | ||
| Line 31: | Line 30: | ||
# wifi restart commands | |||
startWifi () { | startWifi () { | ||
echo $(date)" attempting restart..." >> $log | |||
ifdown 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 | ||
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