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

Tim Niemeyer tim at tn-x.org
Sa Nov 4 15:49:15 CET 2017


Am Samstag, den 04.11.2017, 15:44 +0100 schrieb mail at adrianschmutzler.de:
> 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...
Es ist ein Patchset. Für die Nachvollziehbarkein wäre es gut, wenn es
getrennt bleibt. Ich habe beobachtet, dass dieses Patchset nun schon
eine ganze Weile rum lag und es niemand reviewed hat. Ein Grund könnte
auch die Komplexität sein. Diese gilt es für den Reviewer als möglichst
angenehm zu gestalten.

Der erste Patch als Vorbereitung, das Auslagern in Funktionen. Dieser
Patch sollte an der Funktion selbst möglichst nichts ändern.

Dann darauf aufbauend weitere Patches, die dann einzelne Sachen fixen
oder hinzufügen.

Tim

> 
> 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
> > > 
> 
> 
-------------- 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/20171104/aff12756/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev