[PATCH v2 2/2] fff-web: Disable WiFi devices via Web UI

Tim Niemeyer tim at tn-x.org
Sa Jan 20 11:57:18 CET 2018


Am Montag, den 20.11.2017, 11:27 +0100 schrieb Adrian Schmutzler:
> This uses the new fff-config option to provide users the
> possibility of enabling/disabling WiFi devices via the Web UI.
> 
> > Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> 
> > Tested-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> 
> ---
> 
> Changes in v2:
> - Added uci -q set fff.wifi=fff
> ---
>  .../fff-web/files/www/ssl/cgi-bin/settings.html    | 46 ++++++++++++++++++++++
>  1 file changed, 46 insertions(+)
> 
> diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html
> index 7d8e65f..c977ad5 100755
> --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html
> +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html
> @@ -1,7 +1,11 @@
>  #!/usr/bin/haserl
>  
>  <%
> +. /lib/functions/fff/wireless
> +
>  # write
> +radio2="$(wifiGetPhy "2")"
> +radio5="$(wifiGetPhy "5")"
>  if [ "$REQUEST_METHOD" == "POST" ] ; then
> >  	#check for valid hostname as specified in rfc 1123
> >  	#see http://stackoverflow.com/a/3824105
> @@ -63,8 +67,30 @@ if [ "$REQUEST_METHOD" == "POST" ] ; then
> >  				uci -q set "system.poe_passthrough.value=0"
> >  			fi
> >  		fi
> +		
> > +		uci -q set fff.wifi=fff
> > +		if [ -n "$radio2" ] ; then
> > +			if [ "$POST_enable24ghz" == "on" ] ; then
> > +				uci -q set "fff.wifi.disable24ghz=0"
> +				uci -q set "wireless.${radio2}.disabled=0"
An solchen Stellen sollte die in 1/2 erwähnte Funktion verwendet
werden. Man sieht hier deutlich, dass zum eigentlichen an/abschalten
eben mehr gemacht werden muss.

Tim

> +			else
> > +				uci -q set "fff.wifi.disable24ghz=1"
> > +				uci -q set "wireless.${radio2}.disabled=1"
> > +			fi
> > +		fi
> > +		if [ -n "$radio5" ] ; then
> > +			if [ "$POST_enable5ghz" == "on" ] ; then
> > +				uci -q set "fff.wifi.disable5ghz=0"
> > +				uci -q set "wireless.${radio5}.disabled=0"
> > +			else
> > +				uci -q set "fff.wifi.disable5ghz=1"
> > +				uci -q set "wireless.${radio5}.disabled=1"
> > +			fi
> > +		fi
>  
> >  		uci -q commit
> +		
> > +		wifi > /dev/null
>  
> >  		MSG='<span class="green">Daten gespeichert! - Bitte Router neustarten.</span>'
> >  	fi
> @@ -90,6 +116,16 @@ if [ "$(uci -q get 'fff.notifyupdate.resetonupgrade')" == "0" ] ; then # not set
>  else
> >  	upgrade_reset_checked="$chkd"
>  fi
> +if [ "$(uci -q get 'fff.wifi.disable24ghz')" = "1" ] ; then # not set=0
> > +	enable24ghz_checked=""
> +else
> > +	enable24ghz_checked="$chkd"
> +fi
> +if [ "$(uci -q get 'fff.wifi.disable5ghz')" = "1" ] ; then # not set=0
> > +	enable5ghz_checked=""
> +else
> > +	enable5ghz_checked="$chkd"
> +fi
>  %>
>  <% show_msg %>
>  <form method="post">
> @@ -145,6 +181,16 @@ fi
> >  			<input type="checkbox" name="poe_passthrough" <%= ${poe_pt_checked} %>/>
> >  		</td></tr>
> >  		<% fi %>
> > +		<% if [ -n "$radio2" ] ; then %>
> > +		<tr><th>Enable 2.4 GHz WiFi device:</th><td colspan="2">
> > +			<input type="checkbox" name="enable24ghz" <%= ${enable24ghz_checked} %>/>
> > +		</td></tr>
> > +		<% fi %>
> > +		<% if [ -n "$radio5" ] ; then %>
> > +		<tr><th>Enable 5 GHz WiFi device:</th><td colspan="2">
> > +			<input type="checkbox" name="enable5ghz" <%= ${enable5ghz_checked} %>/>
> > +		</td></tr>
> > +		<% fi %>
>  		
> >  	</table>
>  </fieldset>
> -- 
> 2.7.4
> 
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 488 bytes
Beschreibung: This is a digitally signed message part
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20180120/82ecea52/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev