[PATCH v7] fff-hoods: Use channel provided by gateway

Tim Niemeyer tim at tn-x.org
Mi Okt 25 16:47:28 CEST 2017


Hi

Am Freitag, den 20.10.2017, 00:36 +0200 schrieb Adrian Schmutzler:
> Changes in v2:
> - rebase due to conflict with 802.11s
> 
> Changes in v3:
> - Fix wrong variable name introduced in v2
> 
> Changes in v4:
> - Fixed comment
> - Fixed channel comparison for wXsta
> 
> Changes in v5:
> - Make radio in wifiAddPhyCond local
> 
> Changes in v6:
> - Rebase
> 
> Changes in v7:
> - Check if channel set and default otherwise
Das war noch nicht ausdiskutiert.. es gab Bestrebungen das wifi aus zu
machen, wenn kein channel da ist. Ich würde mich auch der Meinung
anschließen, kein wifi mit kaputtem json.

Tim

> - Remove obsolete channel variables at beginning of script
> 
> Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> Signed-off-by: Fabian Bläse <fabian at blaese.de>
> ---
>  .../fff/fff-hoods/files/usr/sbin/configurehood     | 25 +++++++++++++---------
>  .../fff-wireless/files/lib/functions/fff/wireless  | 17 +++++++--------
>  2 files changed, 23 insertions(+), 19 deletions(-)
> 
> diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> index 88f6f53..ac8cd54 100755
> --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> @@ -28,9 +28,6 @@ hasInternet() {
>  	return 1
>  }
>  
> -chan2ghz="1"
> -chan5ghz="36"
> -
>  # Hidden AP check
>  
>  if [ -f /tmp/hiddenapflag ]; then
> @@ -78,12 +75,17 @@ else
>  		fi
>  		#now we look for phy and add this
>  		for phy in $(iw phy | awk '/^Wiphy/{ print $2 }'); do
> -			radio="$(wifiAddPhyCond "$phy" "2" "$chan2ghz")"
> -			radio5="$(wifiAddPhyCond "$phy" "5" "$chan5ghz")"
> -			[ -n "$radio5" ] && radio="$radio5"
> +			radio="$(wifiAddPhyCond "$phy" "2" "auto")"
> +			radio5="$(wifiAddPhyCond "$phy" "5" "auto5")"
> +			if [ -n "$radio5" ] ; then
> +				radio="$radio5"
> +				staiface="w5sta"
> +			else
> +				staiface="w2sta"
> +			fi
>  
>  			#and here we add the station
> -			if ! wifiAddSta "$radio" "config.franken.freifunk.net" "configSta"; then
> +			if ! wifiAddSta "$radio" "config.franken.freifunk.net" "configSta" "$staiface" ; then
>  				echo "Can't add Sta interface on $radio."
>  				exit 1
>  			else
> @@ -128,17 +130,20 @@ if [ -s /tmp/keyxchangev2data ]; then
>  		json_get_var mesh_essid mesh_essid
>  		json_get_var essid essid
>  		json_get_var ntpip ntp_ip
> -		# i think the next things we don't active this in the first version! we can do it later
> -		#json_get_var channel2 channel2
> +		# Additional parameters may be activated in future versions
> +		json_get_var chan2ghz channel2
>  		#json_get_var mode2 mode2
>  		json_get_var mesh_type2 mesh_type2
> -		#json_get_var channel5 channel5
> +		json_get_var chan5ghz channel5
>  		#json_get_var mode5 mode5
>  		json_get_var mesh_type5 mesh_type5
>  		#json_get_var protocol protocol
>  		
>  		json_select ".." # back to root
>  
> +		[ -n "$chan2ghz" ] || chan2ghz="1"
> +		[ -n "$chan5ghz" ] || chan5ghz="36"
> +
>  		echo "Setting hood name: $hood"
>  		uci set "system. at system[0].hood=$hood"
>  
> 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 7e418c2..b1ff5a9 100644
> --- a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
> +++ b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
> @@ -25,7 +25,10 @@ wifiAddPhy() {
>  	local channel=$2
>  	local radio="radio$(echo "$phy" | tr -d -C "0-9")"
>  	local hwmode="11g"
> -	if [ "$channel" -gt "14" ]; then
> +	if [ "$channel" = "auto5" ] ; then
> +		hwmode="11a"
> +		channel="auto"
> +	elif ( ! [ "$channel" = "auto" ] ) && [ "$channel" -gt "14" ]; then
>  		hwmode="11a"
>  	fi
>  
> @@ -60,7 +63,7 @@ wifiAddPhyCond() {
>  	local freq=$2
>  	local channel=$3
>  	local radio=""
> -	
> +
>  	if iw phy "$phy" info | grep -q -m1 "${freq}... MHz"; then
>  		radio="$(wifiAddPhy "$phy" "$channel")"
>  		if [ -z "$radio" ]; then
> @@ -148,21 +151,17 @@ wifiAddAP() {
>  }
>  
>  wifiAddSta() {
> -	if [ $# -ne "3" ]
> +	if [ $# -ne "4" ]
>  	then
> -		echo "Usage: wifiAddSta <radio> <essid> <network>"
> +		echo "Usage: wifiAddSta <radio> <essid> <network> <iface>"
>  		return 1
>  	fi
>  
>  	local radio=$1
>  	local essid=$2
>  	local network=$3
> +	local iface=$4
>  
> -	local channel=$(uci get "wireless.${radio}.channel")
> -	local iface="w2sta"
> -	if [ "$channel" -gt "14" ]; then
> -		iface="w5sta"
> -	fi
>  	uci batch <<-__EOF__
>  		set wireless.${iface}='wifi-iface'
>  		set wireless.${iface}.device='${radio}'
> -- 
> 2.7.4
> 

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 473 bytes
Beschreibung: This is a digitally signed message part
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20171025/06ba2bce/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev