#!/bin/bash . /etc/rc.conf . /etc/rc.d/functions . /etc/wpa_auto.conf case "$1" in start) if [ ! -f /var/run/daemons/wpa_auto ]; then stat_busy "starting auto_wpa" ifconfig $WPAA_IF up wpa_supplicant -i$WPAA_IF -c$WPAA_CONF CONFIG $WPAA_OPTS -B if [ $? -gt 0 ]; then stat_fail exit 1; fi if [ "$WPAA_IP" = "dhcp" ]; then #dynamic IP dhcpcd -q $WPAA_IF if [ $? -gt 0 ]; then stat_fail #exit 1; fi else # static IP if_config $WPAA_IF $WPAA_IP_ADDR netmask $WPAA_MASK &&\ route -add $WPAA_GATEWAY dev $WPAA_IF &&\ route -add default gw $WPAA_GATEWAY dev $WPAA_IF if [ $? -gt 0 ]; then stat_fail exit 1; fi fi add_daemon wpa_auto stat_done else stat_fail exit 1 fi ;; stop) stat_busy "stoping wpa_auto daemon" if [ -f /var/run/daemons/wpa_auto ]; then rm_daemon wpa_auto if [ "$WPAA_IP" = "dhcp" ]; then #dynamic IP dhcpcd -q -k $WPAA_IF if [ $? -gt 0 ]; then echo "dhcpcd" stat_fail fi else # static IP if_config $WPAA_IF $WPAA_IP_ADDR netmask $WPAA_MASK &&\ route -add $WPAA_GATEWAY dev $WPAA_IF &&\ route -add default gw $WPAA_GATEWAY dev $WPAA_IF if [ $? -gt 0 ]; then stat_fail exit 1; fi fi ifconfig $WPAA_IF down if [ $? -gt 0 ]; then echo "ifconfig" stat_fail exit 1 else stat_done fi else stat_fail exit 1 fi;; restart) $0 stop sleep 1 $0 start ;; *) echo "$0 (start|stop|restart)" esac exit 0