Newer
Older
openbsd-skel / etc / apm / wifi-reconn.sh
@HIROSE Yuuji HIROSE Yuuji on 8 Jan 2020 726 bytes Initial
#!/bin/sh
PATH=/usr/iekei/bin/DT:$PATH
totalrep=3
retry=10
mydir=`dirname $0`
static=$mydir/ssid

if [ -e $static ]; then
  ssids=`cat $static`
else
  ssids=`egrep -ql '^ *(join|nwid)' /etc/hostname.*|sed 's/.*\.//'`
fi

complete() {
  svc -t /service/openvpn /service/is-monster
  exit 0
}

for wlif in $ssids
do
  echo i=$wlif
  sh /etc/netstart $wlif
  ifconfig $wlif | grep -q 'status: active' && complete
  for ssid in `egrep '^ *(join|nwid)' /etc/hostname.$wlif|awk '{print $2}'`
  do
    echo Trying.........................$ssid
    i=$retry
    ifconfig $wlif nwid $ssid
    while [ $i -gt 0 ]; do
      ifconfig $wlif | grep -q 'status: active' && complete
      i=$((i-1))
      sleep 1
    done
  done
done
exit 1