[PATCH v2] fff-hoods: Use function for conditional wifiAddPhy

mail at adrianschmutzler.de mail at adrianschmutzler.de
Fr Okt 6 00:20:50 CEST 2017


Tested on Uplink and Mesh.

Tested-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>

> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf
> Of Adrian Schmutzler
> Sent: Freitag, 6. Oktober 2017 00:18
> To: franken-dev at freifunk.net
> Subject: [PATCH v2] fff-hoods: Use function for conditional wifiAddPhy
> 
> Just a little tidying up.
> 
> Apply only after fff-hoods patchset!
> 
> Changes in v2:
>  - Removed echos from function
> 
> Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> ---
>  .../fff/fff-hoods/files/usr/sbin/configurehood     | 39
++++------------------
>  .../fff-wireless/files/lib/functions/fff/wireless  | 23 +++++++++++++
>  2 files changed, 30 insertions(+), 32 deletions(-)
> 
> diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> index ba9a193..8155111 100755
> --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> @@ -72,22 +72,10 @@ else
>  		fi
>  		#now we look for phy and add this
>  		for phy in $(iw phy | awk '/^Wiphy/{ print $2 }'); do
> -			if iw phy "$phy" info | grep -q -m1 "2... MHz"; then
> -				echo "$phy is 2.4 GHz"
> -				radio="$(wifiAddPhy "$phy" "$chan2ghz")"
> -				if [ -z "$radio" ]; then
> -					echo "Can't create radio for $phy"
> -					exit 1
> -				fi
> -			fi
> -			if iw phy "$phy" info | grep -q -m1 "5... MHz"; then
> -				echo "$phy is 5 GHz"
> -				radio="$(wifiAddPhy "$phy" "$chan5ghz")"
> -				if [ -z "$radio" ]; then
> -					echo "Can't create radio for $phy"
> -					exit 1
> -				fi
> -			fi
> +			radio="$(wifiAddPhyCond "$phy" "2" "$chan2ghz")"
> +			radio5="$(wifiAddPhyCond "$phy" "5" "$chan5ghz")"
> +			[ -n "$radio5" ] && radio="$radio5"
> +
>  			#and here we add the station
>  			if ! wifiAddSta "$radio"
"config.franken.freifunk.net"
> "configSta"; then
>  				echo "Can't add Sta interface on $radio."
> @@ -153,22 +141,9 @@ if [ -s /tmp/keyxchangev2data ]; then
>  		fi
> 
>  		for phy in $(iw phy | awk '/^Wiphy/{ print $2 }'); do
> -			if iw phy "$phy" info | grep -q -m1 "2... MHz"; then
> -				echo "$phy is 2.4 GHz"
> -				radio="$(wifiAddPhy "$phy" "$chan2ghz")"
> -				if [ -z "$radio" ]; then
> -					echo "Can't create radio for $phy"
> -					exit 1
> -				fi
> -			fi
> -			if iw phy "$phy" info | grep -q -m1 "5... MHz"; then
> -				echo "$phy is 5 GHz"
> -				radio="$(wifiAddPhy "$phy" "$chan5ghz")"
> -				if [ -z "$radio" ]; then
> -					echo "Can't create radio for $phy"
> -					exit 1
> -				fi
> -			fi
> +			radio="$(wifiAddPhyCond "$phy" "2" "$chan2ghz")"
> +			radio5="$(wifiAddPhyCond "$phy" "5" "$chan5ghz")"
> +			[ -n "$radio5" ] && radio="$radio5"
> 
>  			if ! wifiAddAP "$radio" "$essid" "mesh" "ap" "0";
then
>  				echo "Can't add AP interface on $radio."
> diff --git
a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
> b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
> index 8ba9463..2c6dff8 100644
> --- a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
> +++ b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
> @@ -50,6 +50,27 @@ wifiAddPhy() {
>  	return 0
>  }
> 
> +wifiAddPhyCond() {
> +	if [ $# -ne "3" ]
> +	then
> +		return 1
> +	fi
> +
> +	local phy=$1
> +	local freq=$2
> +	local channel=$3
> +
> +	if iw phy "$phy" info | grep -q -m1 "${freq}... MHz"; then
> +		radio="$(wifiAddPhy "$phy" "$channel")"
> +		if [ -z "$radio" ]; then
> +			return 1
> +		fi
> +	fi
> +
> +	echo "$radio"
> +	return 0 # also returns success if outermost if is false }
> +
>  wifiAddAdHocMesh() {
>  	if [ $# -ne "3" ]
>  	then
> @@ -122,6 +143,7 @@ wifiAddAP() {
>  	__EOF__
> 
>  	echo "${iface}"
> +	return 0
>  }
> 
>  wifiAddSta() {
> @@ -152,6 +174,7 @@ wifiAddSta() {
>  	__EOF__
> 
>  	echo "${iface}"
> +	return 0
>  }
> 
>  # vim: set noexpandtab:tabstop=4
> --
> 2.7.4
> 
> --
> franken-dev mailing list
> franken-dev at freifunk.net
> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net



Mehr Informationen über die Mailingliste franken-dev