From 0f605ec2fd65a096462503cdb0c86a93e59fbe3e Mon Sep 17 00:00:00 2001
From: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Date: Tue, 13 Feb 2018 13:14:31 +0100
Subject: [PATCH] configurehood: Fix "wifi" blocking correct network status
 detection

In commit 5c1d3b1, conditions were changed so that "wifi" is called
almost every run directly before the network status (internet vs.
gateway contact vs. wXsta).

This causes strange effects configurehood and nodewatcher, which is
called at the same time.

The fix only does "wifi" if required and waits 10 sec. after that.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Christian Dresel <fff@chrisi01.de>
---
 src/packages/fff/fff-hoods/files/usr/sbin/configurehood | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
index 05082a67..1b9fa2b2 100755
--- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
+++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
@@ -39,6 +39,7 @@ hasInternet() {
 # Hidden AP check
 
 if [ -s "$hoodfilecopy" ] && isGatewayAvailable ; then
+	needwifi="0"
 	for radio in $(uci show wireless | sed -n 's,.*\.\([a-z0-9]*\)=wifi-device,\1,p'); do
 		freq="2"
 		if [ "$(uci get "wireless.${radio}.channel")" -gt "14" ]; then
@@ -59,9 +60,13 @@ if [ -s "$hoodfilecopy" ] && isGatewayAvailable ; then
 			echo "Can't add Config interface on $radio."
 			exit 1
 		fi
+		needwifi="1"
 	done
 
-	wifi
+	if [ "$needwifi" = "1" ] ; then
+		wifi
+		sleep 10
+	fi
 fi
 
 lat=$(uci -q get fff.system.latitude)
-- 
GitLab