blob: a02f0e89d3eb21ebf34b9d71e18293cfe6604134 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
#!/bin/bash
# Begin services/wpa
# Origianlly based upon lfs-bootscripts-1.12 $NETWORK_DEVICES/if{down,up}
# Written by Armin K. <krejzi at email dot com>
# Call with: IFCONFIG=<filename> /lib/services/wpa <IFACE> <up | down>
#$LastChangedBy: krejzi $
#$Date: 2013-03-24 16:39:14 +0100 (Sun, 24 Mar 2013) $
. /lib/lsb/init-functions
. $IFCONFIG
CFGFILE=/etc/sysconfig/wpa_supplicant-${IFCONFIG##*.}.conf
PIDFILE=/run/wpa_supplicant/$1.pid
CONTROL_IFACE=/run/wpa_supplicant/$1
case "$2" in
up)
if [ -e ${PIDFILE} ]; then
ps $(cat ${PIDFILE}) | grep wpa_supplicant >/dev/null
if [ "$?" = "0" ]; then
log_warning_msg "\n wpa_supplicant already running on $1."
exit 0
else
rm ${PIDFILE}
fi
fi
if [ ! -e ${CFGFILE} ]; then
log_info_msg "\n wpa_supplicant configuration file ${CFGFILE} not present"
log_failure_msg2
exit 1
fi
log_info_msg "\n Starting wpa_supplicant on the $1 interface..."
mkdir -p /run/wpa_supplicant
/sbin/wpa_supplicant -q -B -Dnl80211,wext -P${PIDFILE} -C/run/wpa_supplicant -c${CFGFILE} -i$1 ${WPA_ARGS}
if [ "$?" != "0" ]; then
log_failure_msg2
exit 1
fi
log_success_msg2
if [ -n "${WPA_SERVICE}" ]; then
if [ ! -e /lib/services/${WPA_SERVICE} -a ! -x /lib/services/${WPA_SERVICE} ]; then
log_info_msg "\n Cannot start ${WPA_SERVICE} on $1"
log_failure_msg2
exit 1
fi
IFCONFIG=${IFCONFIG} /lib/services/${WPA_SERVICE} $1 up
fi
;;
down)
if [ -n "${WPA_SERVICE}" ]; then
if [ ! -e /lib/services/${WPA_SERVICE} -a ! -x /lib/services/${WPA_SERVICE} ]; then
log_warning_msg "\n Cannot stop ${WPA_SERVICE} on $1"
else
IFCONFIG=${IFCONFIG} /lib/services/${WPA_SERVICE} $1 down
fi
fi
log_info_msg "\n Stopping wpa_supplicant on the $1 interface..."
if [ -e ${PIDFILE} ]; then
kill -9 $(cat ${PIDFILE})
rm -f ${PIDFILE} ${CONTROL_IFACE}
evaluate_retval
else
log_warning_msg "\n wpa_supplicant already stopped on $1"
exit 0
fi
;;
*)
echo "Usage: $0 [interface] {up|down}"
exit 1
;;
esac
# End services/wpa
|