From b96b428d9ff44d3e007a2b81113390c734f2323d Mon Sep 17 00:00:00 2001 From: James Rayner Date: Sun, 21 Nov 2010 13:23:51 +1100 Subject: FS#20150 - 802.11x: correct state check, handle disconnect --- src/8021x | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/8021x') diff --git a/src/8021x b/src/8021x index f57ba7e..f510944 100644 --- a/src/8021x +++ b/src/8021x @@ -2,7 +2,8 @@ # wpa_check interface [timeout] wpa_check() { - local timeout=0 INTERFACE="$1" TIMEOUT="${2:-15}" + local timeout=0 INTERFACE="$1" TIMEOUT="${2:-15}" CONDITION="${3:-COMPLETED}" + # CONDITION is required as wired connections are ready at ASSOCIATED not COMPLETED FS#20150 while [[ $timeout -lt "$TIMEOUT" ]]; do ( # Sometimes wpa_supplicant isn't ready so silence errors for 2s only to avoid hiding real errors @@ -11,7 +12,7 @@ wpa_check() else eval $(wpa_cli -i "$INTERFACE" status | fgrep "wpa_state=") fi - [[ "$wpa_state" = "COMPLETED" ]] + [[ "$wpa_state" = "$CONDITION" ]] ) && return 0 sleep 1 let timeout++ -- cgit v1.2.3-24-g4f1b