[PATCH v5 1/2] fff-web: Show WiFi channels and SSID

Tim Niemeyer tim at tn-x.org
So Nov 12 19:42:38 CET 2017


Hi

Reviewed-by: Tim Niemeyer <tim at tn-x.org>

Tim

Am Montag, den 06.11.2017, 10:18 +0100 schrieb Adrian Schmutzler:
> This patch introduced more detailed information about the
> hood in the WebUI, i.e. channel and SSIDs.
> 
> The patch includes a reorganization of the columns.
> 
> Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> Tested-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> 
> ---
> 
> Changes in v2:
>  - Rebased onto fff-hoods: Fix case of missing keyxchangev2data
> 
> Changes in v3:
>  - Display client AP ssid
>  - Display both value demanded by json and value actually set
> 
> Changes in v4:
>  - Read/set-up hood data in separate file to make it reusable
> 
> Changes in v5:
>  - Suppress uci wXap output
> 
> ---
>  .../fff-hoods/files/lib/functions/fff/evalhoodinfo | 36 ++++++++++++++++
>  .../fff/fff-web/files/www/ssl/cgi-bin/home.html    | 49 ++++++++--------------
>  2 files changed, 54 insertions(+), 31 deletions(-)
>  create mode 100644 src/packages/fff/fff-hoods/files/lib/functions/fff/evalhoodinfo
> 
> diff --git a/src/packages/fff/fff-hoods/files/lib/functions/fff/evalhoodinfo b/src/packages/fff/fff-hoods/files/lib/functions/fff/evalhoodinfo
> new file mode 100644
> index 0000000..c487ea7
> --- /dev/null
> +++ b/src/packages/fff/fff-hoods/files/lib/functions/fff/evalhoodinfo
> @@ -0,0 +1,36 @@
> +#!/bin/sh
> +# Copyright 2017 Adrian Schmutzler
> +# License GPLv3
> +
> +. /lib/functions/fff/keyxchange
> +
> +jsonfile="$(getJsonPath)"
> +if [ -n "$jsonfile" ] ; then
> +	json_load "$(cat "$jsonfile")"
> +	json_select hood
> +	json_get_var mesh_type2 mesh_type2
> +	json_get_var mesh_type5 mesh_type5
> +	json_get_var chan2ghz channel2
> +	json_get_var chan5ghz channel5
> +	json_get_var essid essid
> +else
> +	mesh_type2="-"
> +	mesh_type5="-"
> +	chan2ghz="-"
> +	chan5ghz="-"
> +	essid="-"
> +fi
> +
> +real_chan2ghz="--"
> +real_chan5ghz="--"
> +real_essid="-"
> +if uci -q get wireless.w2ap > /dev/null ; then
> +	radio2="$(uci -q get wireless.w2ap.device)"
> +	real_chan2ghz="$(uci -q get "wireless.${radio2}.channel")"
> +	real_essid="$(uci -q get wireless.w2ap.ssid)"
> +fi
> +if uci -q get wireless.w5ap > /dev/null ; then
> +	radio5="$(uci -q get wireless.w5ap.device)"
> +	real_chan5ghz="$(uci -q get "wireless.${radio5}.channel")"
> +	real_essid="$(uci -q get wireless.w5ap.ssid)"
> +fi
> diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html
> index 7931ea9..21bd4e7 100755
> --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html
> +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html
> @@ -1,7 +1,8 @@
>  #!/usr/bin/haserl
>  
>  <%
> -. /lib/functions/fff/keyxchange
> +# read from keyxchangev2data
> +. /lib/functions/fff/evalhoodinfo
>  
>  # prepare
>  if [ "$REQUEST_METHOD" == "POST" ] ; then
> @@ -49,23 +50,10 @@ else
>  	internet_active="Nein"
>  fi
>  
> -# read from keyxchangev2data
> -. /lib/functions/fff/keyxchange
> -jsonfile="$(getJsonPath)"
> -if [ -n "$jsonfile" ] ; then
> -	json_load "$(cat "$jsonfile")"
> -	json_select hood
> -	json_get_var mesh_type2 mesh_type2
> -	json_get_var mesh_type5 mesh_type5
> -else
> -	mesh_type2="-"
> -	mesh_type5="-"
> -fi
> -
>  %>
>  <table style="width: 100%;">
>  <tr><td>
> -<fieldset style="min-height: 15.05em;">
> +<fieldset style="padding-bottom:12px">
>  	<legend>System</legend>
>  	<table>
>  		<tr><th>Name:</th><td><%= ${HOSTNAME} %></td></tr>
> @@ -80,8 +68,18 @@ fi
>  		<tr><th>Uhrzeit:</th><td><% date %></td></tr>
>  	</table>
>  </fieldset>
> +<fieldset style="padding-bottom:12px">
> +	<legend>Netz: Freifunk</legend>
> +	<table>
> +		<tr><th>Nutzer:</th><td><% cat /sys/kernel/debug/batman_adv/bat0/transtable_local 2> /dev/null | grep -c 'W' %></td></tr>
> +		<tr><th>Empfangen:</th><td><% cat /sys/class/net/br-mesh/statistics/rx_bytes 2> /dev/null | human_bytes %></td></tr>
> +		<tr><th>Gesendet:</th><td><% cat /sys/class/net/br-mesh/statistics/tx_bytes 2> /dev/null | human_bytes %></td></tr>
> +		<tr><th>IPv4 Adressen:</th><td><% addr 4 br-mesh %></td></tr>
> +		<tr><th>IPv6 Adressen:</th><td><% addr 6 br-mesh %></td></tr>
> +	</table>
> +</fieldset>
>  </td><td>
> -<fieldset style="min-height: 10em;">
> +<fieldset style="padding-bottom:12px">
>  	<legend>Software</legend>
>  	<table>
>  		<tr><th>Firmware Version:</th><td><%= ${FIRMWARE_VERSION} %></td></tr>
> @@ -92,31 +90,20 @@ fi
>  	</table>
>  </fieldset>
>  <form method="post">
> -<fieldset style="min-height: 5em;">
> +<fieldset style="padding-bottom:12px">
>  	<legend>Hood</legend>
>  	<table>
>  		<tr><th style="width:200px">Hood:</th><td><% echo "$hood" %></td></tr>
>  		<tr><th style="width:200px">Mesh-Type (2.4/5 GHz):</th><td><% echo "${mesh_type2} / ${mesh_type5}" %></td></tr>
> +		<tr><th style="width:200px">Channel (2.4/5 GHz):</th><td>Gerät: <% echo "${real_chan2ghz} / ${real_chan5ghz}" %> | Hood:  <% echo "${chan2ghz} / ${chan5ghz}" %></td></tr>
> +		<tr><th style="width:200px">SSID (Client-AP):</th><td>Gerät: <% echo "${real_essid}" %> | Hood:  <% echo "${essid}" %></td></tr>
>  		<tr><td colspan="2"> </td></tr>
>  		<tr><td colspan="2">Beim Klicken werden die Hood-Daten innerhalb von 5 Minuten neu abgerufen und angewandt:</td></tr>
>  		<tr><td colspan="2"><input type="submit" name="resethood" value="Reset hood data" /></td></tr>
>  	</table>
>  </fieldset>
>  </form>
> -</td></tr>
> -<tr><td>
> -<fieldset style="min-height: 12.65em;">
> -	<legend>Netz: Freifunk</legend>
> -	<table>
> -		<tr><th>Nutzer:</th><td><% cat /sys/kernel/debug/batman_adv/bat0/transtable_local 2> /dev/null | grep -c 'W' %></td></tr>
> -		<tr><th>Empfangen:</th><td><% cat /sys/class/net/br-mesh/statistics/rx_bytes 2> /dev/null | human_bytes %></td></tr>
> -		<tr><th>Gesendet:</th><td><% cat /sys/class/net/br-mesh/statistics/tx_bytes 2> /dev/null | human_bytes %></td></tr>
> -		<tr><th>IPv4 Adressen:</th><td><% addr 4 br-mesh %></td></tr>
> -		<tr><th>IPv6 Adressen:</th><td><% addr 6 br-mesh %></td></tr>
> -	</table>
> -</fieldset>
> -</td><td>
> -<fieldset style="min-height: 12.65em;">
> +<fieldset style="padding-bottom:12px">
>  	<legend>Netz: WAN</legend>
>  	<table>
>  		<tr><th>Internet vorhanden:</th><td><%= ${internet_active} %></td></tr>
> -- 
> 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/20171112/1c5ff0d9/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev