[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