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

mail at adrianschmutzler.de mail at adrianschmutzler.de
Do Okt 19 22:47:20 CEST 2017


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

> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf
> Of Fabian Bläse
> Sent: Donnerstag, 19. Oktober 2017 22:39
> To: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> Cc: franken-dev at freifunk.net
> Subject: Re: [PATCH v6] fff-hoods: Use channel provided by gateway
> 
> Tested-by: Fabian Bläse <fabian at blaese.de>
> 
> > On 15. Oct 2017, at 11:29, Adrian Schmutzler
> <freifunk at adrianschmutzler.de> wrote:
> >
> > 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
> >
> > 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        | 19 ++++++++++++------
> -
> > .../fff/fff-wireless/files/lib/functions/fff/wireless | 17 ++++++++---------
> > 2 files changed, 20 insertions(+), 16 deletions(-)
> >
> > diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> > index 8ce9133..d64345f 100755
> > --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> > +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> > @@ -74,12 +74,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
> > @@ -124,11 +129,11 @@ 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
> > 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
> >




Mehr Informationen über die Mailingliste franken-dev