50 lines
1005 B
Bash
50 lines
1005 B
Bash
|
#!/bin/sh
|
||
|
|
||
|
# This file is executed by ifupdown in pre-up, post-up, pre-down and
|
||
|
# post-down phases of network interface configuration.
|
||
|
|
||
|
WPA_SUP_BIN="/usr/sbin/wpa_supplicant"
|
||
|
|
||
|
# run this script only for interfaces which have wpa-conf option
|
||
|
[ -z "$IF_WPA_CONF" ] && exit 0
|
||
|
|
||
|
# Allow wpa_supplicant interface to be specified via wpa-iface
|
||
|
# useful for starting wpa_supplicant on one interface of a bridge
|
||
|
if [ -n "$IF_WPA_IFACE" ]; then
|
||
|
WPA_IFACE="$IF_WPA_IFACE"
|
||
|
else
|
||
|
WPA_IFACE="$IFACE"
|
||
|
fi
|
||
|
|
||
|
WPA_SUP_PIDFILE="/run/wpa_supplicant.${WPA_IFACE}.pid"
|
||
|
|
||
|
do_start () {
|
||
|
if [ ! -s "$IF_WPA_CONF" ]; then
|
||
|
echo "cannot read contents of $IF_WPA_CONF"
|
||
|
exit 1
|
||
|
fi
|
||
|
WPA_SUP_CONF="-c $IF_WPA_CONF"
|
||
|
}
|
||
|
|
||
|
case "$MODE" in
|
||
|
start)
|
||
|
do_start
|
||
|
case "$PHASE" in
|
||
|
post-up)
|
||
|
start-stop-daemon -S -q -x ${WPA_SUP_BIN} \
|
||
|
-- -B -i ${WPA_IFACE} ${WPA_SUP_CONF} -P ${WPA_SUP_PIDFILE}
|
||
|
;;
|
||
|
esac
|
||
|
;;
|
||
|
|
||
|
stop)
|
||
|
case "$PHASE" in
|
||
|
pre-down)
|
||
|
start-stop-daemon -K -p ${WPA_SUP_PIDFILE}
|
||
|
;;
|
||
|
esac
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
exit 0
|