12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- #!/bin/sh
- WPA_SUP_BIN="/usr/sbin/wpa_supplicant"
- WPA_SUP_PNAME="wpa_supplicant"
- WPA_SUP_PIDFILE="/var/run/wpa_supplicant.$IFACE.pid"
- WPA_SUP_OPTIONS="-B -P $WPA_SUP_PIDFILE -i $IFACE"
- VERBOSITY=0
- if [ -s "$IF_WPA_CONF" ]; then
- WPA_SUP_CONF="-c $IF_WPA_CONF"
- else
- exit 0
- fi
- if [ ! -x "$WPA_SUP_BIN" ]; then
- if [ "$VERBOSITY" = "1" ]; then
- echo "$WPA_SUP_PNAME: binaries not executable or missing from $WPA_SUP_BIN"
- fi
- exit 1
- fi
- if [ "$MODE" = "start" ] ; then
- # driver type of interface, defaults to wext when undefined
- if [ -s "/etc/wpa_supplicant/driver.$IFACE" ]; then
- IF_WPA_DRIVER=$(cat "/etc/wpa_supplicant/driver.$IFACE")
- elif [ -z "$IF_WPA_DRIVER" ]; then
- if [ "$VERBOSITY" = "1" ]; then
- echo "$WPA_SUP_PNAME: wpa-driver not provided, using \"wext\""
- fi
- IF_WPA_DRIVER="wext"
- fi
- # if we have passed the criteria, start wpa_supplicant
- if [ -n "$WPA_SUP_CONF" ]; then
- if [ "$VERBOSITY" = "1" ]; then
- echo "$WPA_SUP_PNAME: $WPA_SUP_BIN $WPA_SUP_OPTIONS $WPA_SUP_CONF -D $IF_WPA_DRIVER"
- fi
- start-stop-daemon --start --quiet \
- --name $WPA_SUP_PNAME --startas $WPA_SUP_BIN --pidfile $WPA_SUP_PIDFILE \
- -- $WPA_SUP_OPTIONS $WPA_SUP_CONF -D $IF_WPA_DRIVER
- fi
- # if the interface socket exists, then wpa_supplicant was invoked successfully
- if [ -S "$WPA_COMMON_CTRL_IFACE/$IFACE" ]; then
- if [ "$VERBOSITY" = "1" ]; then
- echo "$WPA_SUP_PNAME: ctrl_interface socket located at $WPA_COMMON_CTRL_IFACE/$IFACE"
- fi
- exit 0
- fi
- elif [ "$MODE" = "stop" ]; then
- if [ -f "$WPA_SUP_PIDFILE" ]; then
- if [ "$VERBOSITY" = "1" ]; then
- echo "$WPA_SUP_PNAME: terminating $WPA_SUP_PNAME daemon"
- fi
- start-stop-daemon --stop --quiet \
- --name $WPA_SUP_PNAME --pidfile $WPA_SUP_PIDFILE
- if [ -S "$WPA_COMMON_CTRL_IFACE/$IFACE" ]; then
- rm -f $WPA_COMMON_CTRL_IFACE/$IFACE
- fi
- if [ -f "$WPA_SUP_PIDFILE" ]; then
- rm -f $WPA_SUP_PIDFILE
- fi
- fi
- fi
- exit 0
|