12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- #!/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: bdubbs $
- #$Date: 2016-09-02 23:10:02 -0500 (Fri, 02 Sep 2016) $
- . /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
- # Only specify -C on command line if it is not in CFGFILE
- if ! grep -q ctrl_interface ${CFGFILE}; then
- WPA_ARGS="-C/run/wpa_supplicant ${WPA_ARGS}"
- 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${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
|