From 689c236ddb2ae6ac749be19b47b4af4975e6a081 Mon Sep 17 00:00:00 2001
From: Bob Mottram <bob@robotics.uk.to>
Date: Thu, 6 Oct 2016 13:52:12 +0100
Subject: [PATCH] Function to count the number of wlans

---
 src/freedombone-utils-wifi | 174 ++++++++++++++++++++-----------------
 1 file changed, 93 insertions(+), 81 deletions(-)

diff --git a/src/freedombone-utils-wifi b/src/freedombone-utils-wifi
index caf43bf52..12871cbe8 100755
--- a/src/freedombone-utils-wifi
+++ b/src/freedombone-utils-wifi
@@ -39,95 +39,107 @@ WIFI_NETWORKS_FILE=~/${PROJECT_NAME}-wifi.cfg
 # repo for atheros AR9271 wifi driver
 ATHEROS_WIFI_REPO="https://github.com/qca/open-ath9k-htc-firmware.git"
 
+function count_wlan {
+    # counts the number of wlan devices
+    ctr=0
+
+    for i in $(seq 0 10); do
+        if grep -q "wlan${i}" /proc/net/dev; then
+            ctr=$((ctr + 1))
+        fi
+    done
+    echo $ctr
+}
+
 function setup_wifi {
-	if [[ $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
-		return
-	fi
-	if [ ! $WIFI_SSID ]; then
-		return
-	fi
-	if [ ${#WIFI_SSID} -lt 2 ]; then
-		return
-	fi
-	if grep -Fxq "setup_wifi" $COMPLETION_FILE; then
-		return
-	fi
+    if [[ $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
+        return
+    fi
+    if [ ! $WIFI_SSID ]; then
+        return
+    fi
+    if [ ${#WIFI_SSID} -lt 2 ]; then
+        return
+    fi
+    if grep -Fxq "setup_wifi" $COMPLETION_FILE; then
+        return
+    fi
 
-	HOTSPOT='no'
-	if [[ $WIFI_HOTSPOT != 'no' ]]; then
-		HOTSPOT='yes'
-	fi
+    HOTSPOT='no'
+    if [[ $WIFI_HOTSPOT != 'no' ]]; then
+        HOTSPOT='yes'
+    fi
 
-	if [ -f $WIFI_NETWORKS_FILE ]; then
-		${PROJECT_NAME}-wifi -i $WIFI_INTERFACE --networks $WIFI_NETWORKS_FILE
-		echo 'setup_wifi' >> $COMPLETION_FILE
-		return
-	fi
+    if [ -f $WIFI_NETWORKS_FILE ]; then
+        ${PROJECT_NAME}-wifi -i $WIFI_INTERFACE --networks $WIFI_NETWORKS_FILE
+        echo 'setup_wifi' >> $COMPLETION_FILE
+        return
+    fi
 
-	if [[ $WIFI_TYPE != 'none' ]]; then
-		if [ ! $WIFI_PASSPHRASE ]; then
-			echo $'No wifi passphrase was given'
-			return
-		fi
-		if [ ${#WIFI_PASSPHRASE} -lt 2 ]; then
-			echo $'Wifi passphrase was too short'
-			return
-		fi
-		${PROJECT_NAME}-wifi -i $WIFI_INTERFACE -s $WIFI_SSID -t $WIFI_TYPE -p $WIFI_PASSPHRASE --hotspot $HOTSPOT --networks $WIFI_NETWORKS_FILE
-	else
-		${PROJECT_NAME}-wifi -i $WIFI_INTERFACE -s $WIFI_SSID -t $WIFI_TYPE --hotspot $HOTSPOT --networks $WIFI_NETWORKS_FILE
-	fi
-	echo 'setup_wifi' >> $COMPLETION_FILE
+    if [[ $WIFI_TYPE != 'none' ]]; then
+        if [ ! $WIFI_PASSPHRASE ]; then
+            echo $'No wifi passphrase was given'
+            return
+        fi
+        if [ ${#WIFI_PASSPHRASE} -lt 2 ]; then
+            echo $'Wifi passphrase was too short'
+            return
+        fi
+        ${PROJECT_NAME}-wifi -i $WIFI_INTERFACE -s $WIFI_SSID -t $WIFI_TYPE -p $WIFI_PASSPHRASE --hotspot $HOTSPOT --networks $WIFI_NETWORKS_FILE
+    else
+        ${PROJECT_NAME}-wifi -i $WIFI_INTERFACE -s $WIFI_SSID -t $WIFI_TYPE --hotspot $HOTSPOT --networks $WIFI_NETWORKS_FILE
+    fi
+    echo 'setup_wifi' >> $COMPLETION_FILE
 }
 
 # ath9k_htc driver
 function install_atheros_wifi {
-	if grep -Fxq "install_atheros_wifi" $COMPLETION_FILE; then
-		return
-	fi
-	if [ $INSTALLING_ON_BBB != "yes" ]; then
-		return
-	fi
-	if [[ $ENABLE_BABEL != "yes" && $ENABLE_BATMAN != "yes" && $ENABLE_CJDNS != "yes" ]]; then
-		return
-	fi
-	if [ -d $INSTALL_DIR/open-ath9k-htc-firmware ]; then
-		return
-	fi
-	# have drivers already been installed ?
-	if [ -f /lib/firmware/htc_9271.fw ]; then
-		return
-	fi
-	apt-get -y install build-essential cmake git m4 texinfo
-	if [ ! -d $INSTALL_DIR ]; then
-		mkdir -p $INSTALL_DIR
-	fi
-	cd $INSTALL_DIR
-	if [ ! -d $INSTALL_DIR/open-ath9k-htc-firmware ]; then
-		function_check git_clone
-		git_clone $ATHEROS_WIFI_REPO $INSTALL_DIR/open-ath9k-htc-firmware
-		if [ ! "$?" = "0" ]; then
-			rm -rf $INSTALL_DIR/open-ath9k-htc-firmware
-			exit 74283
-		fi
-	fi
-	cd $INSTALL_DIR/open-ath9k-htc-firmware
-	git checkout 1.4.0
-	make toolchain
-	if [ ! "$?" = "0" ]; then
-		rm -rf $INSTALL_DIR/open-ath9k-htc-firmware
-		exit 24820
-	fi
-	make firmware
-	if [ ! "$?" = "0" ]; then
-		rm -rf $INSTALL_DIR/open-ath9k-htc-firmware
-		exit 63412
-	fi
-	cp target_firmware/*.fw /lib/firmware/
-	if [ ! "$?" = "0" ]; then
-		exit 74681
-	fi
-	echo 'install_atheros_wifi' >> $COMPLETION_FILE
+    if grep -Fxq "install_atheros_wifi" $COMPLETION_FILE; then
+        return
+    fi
+    if [ $INSTALLING_ON_BBB != "yes" ]; then
+        return
+    fi
+    if [[ $ENABLE_BABEL != "yes" && $ENABLE_BATMAN != "yes" && $ENABLE_CJDNS != "yes" ]]; then
+        return
+    fi
+    if [ -d $INSTALL_DIR/open-ath9k-htc-firmware ]; then
+        return
+    fi
+    # have drivers already been installed ?
+    if [ -f /lib/firmware/htc_9271.fw ]; then
+        return
+    fi
+    apt-get -y install build-essential cmake git m4 texinfo
+    if [ ! -d $INSTALL_DIR ]; then
+        mkdir -p $INSTALL_DIR
+    fi
+    cd $INSTALL_DIR
+    if [ ! -d $INSTALL_DIR/open-ath9k-htc-firmware ]; then
+        function_check git_clone
+        git_clone $ATHEROS_WIFI_REPO $INSTALL_DIR/open-ath9k-htc-firmware
+        if [ ! "$?" = "0" ]; then
+            rm -rf $INSTALL_DIR/open-ath9k-htc-firmware
+            exit 74283
+        fi
+    fi
+    cd $INSTALL_DIR/open-ath9k-htc-firmware
+    git checkout 1.4.0
+    make toolchain
+    if [ ! "$?" = "0" ]; then
+        rm -rf $INSTALL_DIR/open-ath9k-htc-firmware
+        exit 24820
+    fi
+    make firmware
+    if [ ! "$?" = "0" ]; then
+        rm -rf $INSTALL_DIR/open-ath9k-htc-firmware
+        exit 63412
+    fi
+    cp target_firmware/*.fw /lib/firmware/
+    if [ ! "$?" = "0" ]; then
+        exit 74681
+    fi
+    echo 'install_atheros_wifi' >> $COMPLETION_FILE
 }
 
 # NOTE: deliberately no exit 0
-- 
GitLab