--- 8021x.orig 2012-12-11 18:16:34.495100365 +0100 +++ 8021x 2012-12-11 18:23:16.994101162 +0100 @@ -71,7 +71,16 @@ { local INTERFACE="$1" # we need this as long as wpa_cli has a different default than netcfg - [[ -z "$WPA_CTRL_DIR" && -z "$WPA_CONF" ]] && WPA_CTRL_DIR="/run/wpa_supplicant" + if [[ -z "$WPA_CTRL_DIR" && -n "$WPA_CONF" ]] && grep -q "^[[:space:]]*ctrl_interface=" "$WPA_CONF"; then + WPA_CTRL_DIR=$(grep -m 1 "^[[:space:]]*ctrl_interface=" "$WPA_CONF") + WPA_CTRL_DIR=${WPA_CTRL_DIR#*ctrl_interface=} + if [[ "$WPA_CTRL_DIR" == DIR=* ]]; then + WPA_CTRL_DIR=${WPA_CTRL_DIR:4} + WPA_CTRL_DIR=${WPA_CTRL_DIR%% GROUP=*} + fi + elif [[ -z "$WPA_CTRL_DIR" ]]; then + WPA_CTRL_DIR="/run/wpa_supplicant" + fi # done if wpa_supplicant is already terminated for this interface [[ -e "$WPA_CTRL_DIR/$INTERFACE" ]] || return