--- elwix/config/etc/uboot/wifi_up.sh 2014/01/23 09:24:04 1.1 +++ elwix/config/etc/uboot/wifi_up.sh 2014/09/15 19:06:48 1.2 @@ -0,0 +1,40 @@ +#!/bin/sh +# +# WiFi Up/Down control script for elwix :) +# +# $Id: wifi_up.sh,v 1.2 2014/09/15 19:06:48 misho Exp $ + +DOWNSEC=5 +UPSEC=30 +CHKTIMEOUT=15 +PROG="wifi_up" + +rup() +{ + while [ `ifconfig $1 | awk '($1 == "status:") { printf("%s", $2); }'` = no ]; do + logger -t $PROG "`date '+[ %Y-%m-%d %H:%M:%S ]'` Lost connection will be down $1 " \ + "for $DOWNSEC seconds" + ifconfig $1 down + [ -x /etc/sysctl.$1 ] && /etc/sysctl.$1 + sleep $DOWNSEC + logger -t $PROG "`date '+[ %Y-%m-%d %H:%M:%S ]'` Up $1 and try to reconnect for " \ + "$UPSEC seconds timeout" + ifconfig $1 up + [ -x /etc/sysctl.$1 ] && /etc/sysctl.$1 + sleep $UPSEC + done +} + +# Main ... + +if [ -z $1 ]; then + echo "Syntax: $0 " + echo + exit 1 +fi + +echo ">>> elwix - WiFi interface $1 state logger" +while : ; do + rup $1 + sleep $CHKTIMEOUT +done