From patchwork Mon Jul 4 22:38:38 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: Router automatisch verorten From: Stefan Waigand X-Patchwork-Id: 182 Message-Id: <30888796-a3a0-8d9d-831a-c43a5845282f@gmx.de> To: franken-dev@freifunk.net Date: Tue, 5 Jul 2016 00:38:38 +0200 Hallo zusammen, es gibt ja immer wieder Probleme mit Routern, die falsch oder gar nicht verortet sind und dann die Hoods überbrücken usw. Was haltet ihr von der Idee, in die Firmware eine Funktion einzubauen, die die Daten aus dem Wifi Scan nimmt und damit die Google Maps Geolocation API befragt? Damit sollte es doch möglich sein, den Routerstandort zu bestimmen, oder? Könnte auch automatisch passieren, falls kein Standort eingetragen wurde. Falls das nicht so einfach geht hätte ich einen andren Vorschlag. Die Firmware könnte im Wifi Scan zusätzlich die MACs der APs mit ausgeben. Damit hätte man zumindest die Möglichkeit, die AP-Daten zu kopieren und in ein andres Tool oder eine Webseite zu füttern, die daraus den Standort bestimmt (weiss jemand, ob es sowas gibt?). Geht natürlich nur, wenn man Zugriff aufs WebUI hat. Hatte selbst aber schon öfter den Fall, Router weggegeben, selbst das root-Passwort behalten und keine Ahnung wo das Teil dann steht. Hab das mal testhalber eingebaut und bitte darum, den Patch unten in die nächste Firmware zu übernehmen. Sieht im WebUI dann so aus: ### vorher: Name Kanal Signal Typ volldehonisch 6 -47 dBm Master volldehonisch6-47 dBmMaster ### nachher: Name Kanal Signal Typ MAC Encryption volldehonisch 6 -61 dBm Master 12:34:56:78:90:AB WPA2 PSK (CCMP) volldehonisch6-61 dBmMaster12:34:56:78:90:ABWPA2 PSK (CCMP) Danke! vy 73, Stefan + "\\2\\4\\5 dBm\\3\\1\\6", "g"); print r;}' | sort -n # The HTML comment contains the signal quality to allow sorting %> 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 3ef88b1..a235159 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 @@ -11,13 +11,15 @@ Kanal Signal Typ + MAC + Encryption <% iwinfo w2mesh scan |\ awk -v RS='' \ - '{r = gensub(/.*ESSID: "?(unknown|[^"]*)"?.*Mode: ([^ ]*).*Channel: ([0-9]*).*Signal: (-[0-9]*) dBm.*/, \ - "\\1\\3\\4 dBm\\2", "g"); print r;}' | sort -n + '{r = gensub(/.*Address: ([0-9A-F:]*)?.*ESSID: "?(unknown|[^"]*)"?.*Mode: ([^ ]*).*Channel: ([0-9]*).*Signal: (-[0-9]*) dBm.*Encryption: ([^"]*).*/, \