[PATCH v2 3/3] fff-web: Add 5 GHz to wifiscan plus some tidying up

mail at adrianschmutzler.de mail at adrianschmutzler.de
Sa Nov 4 15:44:41 CET 2017


Hallo,

kann ich einfach aus allen drei Patches einen bauen?

Da es ja inzwischen ohnehin als Paket betrachtet wird, ist das wohl auch am stimmigsten...

Grüße

Adrian

> -----Original Message-----
> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf
> Of Tim Niemeyer
> Sent: Samstag, 4. November 2017 15:43
> To: Adrian Schmutzler <freifunk at adrianschmutzler.de>; franken-
> dev at freifunk.net
> Subject: Re: [PATCH v2 3/3] fff-web: Add 5 GHz to wifiscan plus some tidying
> up
> 
> Hi
> 
> Ah.. Aufräumarbeiten.. Sehr gut.. Wäre es viel Arbeit diesen Patch als erstes
> von den drein drauf zu haben? Ich denke, danach sind ein paar der
> Anmerkungen von eben obsolete.
> 
> Weiteres unten..
> 
> Am Freitag, den 20.10.2017, 00:25 +0200 schrieb Adrian Schmutzler:
> > This patch ...
> >  - provides a 5 GHz wifi scan
> >  - changes to w2ap iface since w2mesh might be w2ibss
> >  - puts a lot of stuff into functions for easy reuse
> >
> > Introduced in v2.
> >
> > > Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> >
> > > Tested-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> > ---
> >  .../fff-web/files/www/ssl/cgi-bin/wifiscan.html    | 112
> > +++++++++++++--------
> >  1 file changed, 70 insertions(+), 42 deletions(-)
> >
> > diff --git
> > a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/wifiscan.html
> > b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/wifiscan.html
> > index 29f99e5..4fc01dd 100755
> > --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/wifiscan.html
> > +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/wifiscan.html
> > @@ -37,46 +37,23 @@ if [ -s /tmp/wifinodelist ] ; then
> >  else
> > >  	havelist='<span style="color:red">Nein</span>'
> >  fi
> > -%>
> > -<table style="width: 100%">
> > -<tr><td>
> > -<form method="post" enctype="multipart/form-data"> -<fieldset>
> > > -	<legend>Wifi Node File</legend>
> > > -	<table>
> > > -		<tr><th style="width: 20em;text-align:left;padding-
> bottom:10px">Alias Liste vorhanden:</th><td style="padding-
> bottom:10px"><%= "$havelist" %></td></tr>
> > > -		<tr><th style="width: 20em;text-align:left">Upload Node-
> Liste:</th><td><input type="file" name="nodelist" /></td></tr>
> > > -		<tr><td colspan="2" style="padding:10px 0">Hier kann eine
> Node-Liste (WiFiAnalyzer-Stil) hochgeladen werden.</td></tr>
> > > -		<tr><td colspan="2"><input type="submit"
> name="wifiupload" value="Datei-Upload auf Router" /></td></tr>
> > > -		<tr><td colspan="2" style="padding:10px 0">Wenn der
> Router mit dem Internet verbunden ist, kann die Node-Liste vom Monitoring
> bezogen werden:</td></tr>
> > > -		<tr><th style="width: 20em;text-align:left">Name der
> Hood:</th><td><input type="text" name="hood" value="" /></td></tr>
> > > -		<tr><td colspan="2" style="padding:10px 0"><input
> type="submit" name="wifidownload" value="Datei-Download von
> Monitoring" /></td></tr>
> > > -	</table>
> > -</fieldset>
> > -</form>
> > -</td></tr>
> > -<tr><td>
> > -<fieldset>
> > > -	<legend>Wifi Scan</legend>
> > > -	<table class="wifitable">
> > > -		<tr>
> > > -			<th>Name</th>
> > > -			<th>Kanal</th>
> > > -			<th>Signal</th>
> > > -			<th>Typ</th>
> > > -			<th>MAC</th>
> > > -			<th>Encryption</th>
> > > -		</tr>
> >
> > -<%
> > -if [ -s /tmp/wifinodelist ] ; then
> > > -	firststep=$(iwinfo w2mesh scan |\
> > +readIWinfo() {
> > > +	local iface=$1
> > > +	local ssid=$2
> > > +	local mac=$3
> > +
> > > +	iwinfo "$iface" scan |\
> > >  		awk -v RS='' \
> > >  		'{r = gensub(/.*Address: ([0-9A-F:]*)?.*ESSID:
> "?(unknown|[^"]*)"?[ ]*\n.*Mode: ([^ ]*).*Channel: ([0-9]*).*Signal: (-[0-
> 9]*) dBm.*Encryption: ([^"]*).*/, \
> > > -		"<!-- \\5 --><tr><ssid>\\2</ssid><td>\\4</td><td>\\5
> dBm</td><td>\\3</td><mac>\\1</mac><td>\\6</td></tr>", "g"); print r;}'
> | sort -n | sed 's#&#\&#')
> > > +		"<!-- \\5 --
> ><tr><'${ssid}'>\\2</'${ssid}'><td>\\4</td><td>\\5
> dBm</td><td>\\3</td><'${mac}'>\\1</'${mac}'><td>\\6</td></tr>", "g");
> print r;}' | sort -n | sed 's#&#\&#'
> > >  		# The HTML comment contains the signal quality to allow
> sorting
> > +}
> >
> > > -	echo "$firststep" | while read line ; do
> > +rewriteIWinfo() {
> > > +	local data="$1"
> > +
> > > +	echo "$data" | while read line ; do
> > >  		mac="$(echo "$line" | sed -e
> 's#.*<mac>\(.*\)</mac>.*#\1#')"
> > >  		routerid="$(grep -i -e "$mac" /tmp/wifinodelist | awk -F"|"
> '{print $2}')"
> > >  		if [ -n "$routerid" ] ; then
> > @@ -93,17 +70,68 @@ if [ -s /tmp/wifinodelist ] ; then
> > >  		endpart=$(echo "$line" | sed -e
> 's#.*</mac>\(.*\)</tr>.*#\1#')
> > >  		echo
> "<tr><td>${ssid}</td>${midpart}<td>${mac}</td>${endpart}</tr>"
> > >  	done
> > -else
> > > -	iwinfo w2mesh scan |\
> > > -		awk -v RS='' \
> > > -		'{r = gensub(/.*Address: ([0-9A-F:]*)?.*ESSID:
> "?(unknown|[^"]*)"?[ ]*\n.*Mode: ([^ ]*).*Channel: ([0-9]*).*Signal: (-[0-
> 9]*) dBm.*Encryption: ([^"]*).*/, \
> > > -		"<!-- \\5 --><tr><td>\\2</td><td>\\4</td><td>\\5
> dBm</td><td>\\3</td><td>\\1</td><td>\\6</td></tr>", "g"); print r;}' |
> sort -n | sed 's#&#\&#'
> > > -		# The HTML comment contains the signal quality to allow
> sorting
> > -fi
> > +}
> > +
> > +printWifiScan() {
> > > +	local iface=$1
> > > +	local freq="2.4 GHz"
> > > +	if [ "$iface" = "w5ap" ] ; then
> > > +		freq="5 GHz"
> > > +	fi
> > +%>
> > > +	<tr><td>
> > > +	<fieldset>
> > > +		<legend>Wifi Scan: <%= "$freq" %></legend>
> > > +		<table class="wifitable">
> > > +			<tr>
> > > +				<th>Name</th>
> > > +				<th>Kanal</th>
> > > +				<th>Signal</th>
> > > +				<th>Typ</th>
> > > +				<th>MAC</th>
> > > +				<th>Encryption</th>
> > > +			</tr>
> > +
> > +<%
> > > +	if [ -s /tmp/wifinodelist ] ; then
> > > +		firststep="$(readIWinfo "$iface" "ssid" "mac")"
> > > +		rewriteIWinfo "$firststep"
> > > +	else
> > > +		readIWinfo "$iface" "td" "td"
> > > +	fi
> >  %>
> > > +		</table>
> > > +	</fieldset>
> > > +	</td></tr>
> > +<%
> > +}
> > +
> > +%>
> > +<table style="width: 100%">
> > +<tr><td>
> > +<form method="post" enctype="multipart/form-data"> <fieldset>
> > > +	<legend>Wifi Node File</legend>
> > > +	<table>
> > > +		<tr><th style="width: 20em;text-align:left;padding-
> bottom:10px">Alias Liste vorhanden:</th><td style="padding-
> bottom:10px"><%= "$havelist" %></td></tr>
> > > +		<tr><th style="width: 20em;text-align:left">Upload Node-
> Liste:</th><td><input type="file" name="nodelist" /></td></tr>
> > > +		<tr><td colspan="2" style="padding:10px 0">Hier kann eine
> Node-Liste (WiFiAnalyzer-Stil) hochgeladen werden.</td></tr>
> > > +		<tr><td colspan="2"><input type="submit"
> name="wifiupload" value="Datei-Upload auf Router" /></td></tr>
> > > +		<tr><td colspan="2" style="padding:10px 0">Wenn der
> Router mit dem Internet verbunden ist, kann die Node-Liste vom Monitoring
> bezogen werden:</td></tr>
> > > +		<tr><th style="width: 20em;text-align:left">Name der
> Hood:</th><td><input type="text" name="hood" value="" /></td></tr>
> > > +		<tr><td colspan="2" style="padding:10px 0"><input
> type="submit"
> > > +name="wifidownload" value="Datei-Download von Monitoring"
> > > +/></td></tr>
> > >  	</table>
> >  </fieldset>
> > +</form>
> >  </td></tr>
> > +<%
> > +if uci -q get wireless.w2ap > /dev/null ; then
> > +	printWifiScan "w2ap"
> Besser phy0/1 dafür nehmen:
> 
> Wenn der Eintrag da ist, dann gleich den Wert als Device zum Scannen
> nehmen: uci get wireless.radio0.phy
> 
> Die Phy's haben den Vorteil, dass die auch gehen sollten, wenn wir grad noch
> im  Station-Mode sind.
> 
> 
> > +fi
> > +if uci -q get wireless.w5ap > /dev/null ; then
> > > +	printWifiScan "w5ap"
> > +fi
> > +%>
> >  </table>
> >
> >  <%in /www/ssl/cgi-bin/footer %>
> > --
> > 2.7.4
> >



Mehr Informationen über die Mailingliste franken-dev