#!/bin/sh
# chkconfig: 2345 25 75
### BEGIN INIT INFO
# Provides:          wpa_supplicant
# Required-Start:    $network
# Required-Stop:     $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start wpa_supplicant at boot time
# Description:       Enable service provided by wpa_supplicant.
# X-Start-Before:    
# X-Stop-After:      
# X-Timesys-Start-Number:  25
# X-Timesys-Stop-Number:  75
### END INIT INFO


PATH=/usr/bin:/bin:/usr/sbin:/sbin
DAEMON=wpa_supplicant
CONFIG_FILE=/etc/wpa_supplicant.conf
PID_FILE=/var/run/wpa_supplicant2/pid
INTERFACE=

if [ -n "$(which dbus-daemon)" ]; then
DBUS_OPTION=-u
fi

DAEMON_OPTIONS="-qq -B -c $CONFIG_FILE -P $PID_FILE $DBUS_OPTION"

case "$1" in
    start)
        echo -n "Starting wpa_supplicant: "
        if [[ -n "$INTERFACE" ]] && ifconfig -a $INTERFACE > /dev/null 2>&1; then
          : # Fall through
        elif ifconfig -a wlan0 > /dev/null 2>&1; then
          INTERFACE=wlan0
        elif ifconfig -a mlan0 > /dev/null 2>&1; then
          INTERFACE=mlan0
        else
          echo '[FAIL]'
          echo "--- No wireless interface found ---"
          exit 1
        fi
        $DAEMON -i $INTERFACE $DAEMON_OPTIONS && \
          echo '[ OK ]' || echo '[FAIL]'
    ;;
    stop)
        if [ -f $PID_FILE ]; then
            echo -n "Stopping wpa_supplicant: "
            read PID < $PID_FILE
            kill $PID && \
              echo '[ OK ]' || echo '[FAIL]'
        else
            echo "pid file not found... is wpa_supplicant running?"
        fi
    ;;
    restart)
        $0 stop
        $0 start
    ;;
    *)
        echo "usage: $0 {start|stop|restart}"
    ;;
esac
