Neue Firmware 1.2.2

Gestern war zwar nicht Freitag der 13., aber der Tag des Fehlerteufels in unserer Firmware.
Irrtümlicherweise war das 1.2.1-Release auf Testing konfiguriert.

Basisdaten:
 * Firmware-Version: 1.2.2
 * Gluon-Version: v2016.1.x
 * Commit ID: 8c9504bccb1899325f1dfb2a5a292074a6f9173c
 * Download: https://firmware.ffnw.de/1.2.2/

Folgende Comunnity spezifischen Änderungen gab es:
siteconf:
Konfiguration von SSID etc. auf Produktivbetrieb

Neue Firmware 1.2.1

In den nächsten Stunden wird im Freifunk Nordwest Netz eine neue Firmware ausgerollt. Leider hat die Version 1.2 einen Fehler enthalten, sodass Router mehrere öffentliche IPv6 Adressen er- und behalten haben.

Basisdaten:
 * Firmware-Version: 1.2.1
 * Gluon-Version: v2016.1.x
 * Commit ID: ee597c66769a455d38467192598813e7f8411cfd
 * Download: https://firmware.ffnw.de/1.2.1/

Folgende Comunnity spezifischen Änderungen gab es:
package repo:
* Kritischer Fehler im multiple-v6-watchdog:
  Dieser schaute nur nach GLEICHEN v6 Adressen,
  nicht nach unterschiedlichen aus den Hoods. 
  Dieser Fehler wurde behoben.

Änderungen an der Siteconf können im Siteconf-Repo hier eingesehen werden:
https://git.nordwest.freifunk.net/ffnw-firmware/siteconf/compare/v1.2...v1.2.1

Die Änderungen an unseren eigenen Paketen können im Packages-Repository
hier eingesehen werden:
https://git.nordwest.freifunk.net/ffnw-firmware/packages/compare/v1.2...v1.2.1

Neue Firmware 1.2

In den nächsten Stunden wird im Freifunk Nordwest Netz die neue Firmware 1.2 ausgerollt. Alle Router, die den Autoupdater auf den Branche „stable“ aktiviert haben, erhalten dies automatischt.

 * Firmware-Version: 1.2
 * Gluon-Version: v2016.1.x
 * Commit ID: ee597c66769a455d38467192598813e7f8411cfd
 * Download: https://firmware.ffnw.de/1.2

Die upstream Änderungen findet ihr hier:

https://github.com/freifunk-gluon/gluon/compare/ee597c...ee597c

Folgende Comunnity spezifischen Änderungen gab es:
package repo:
* logic Fehler im configmode wurden behoben
    Das Dropdown menu hat, bei wiederholten ausführen des
    configModes seinen zustand nicht wiederhergestellt.
    Das setzen zweier uci Parameter ist durch einen Typen Fehler
    nie zu Stande gekommen.

* Client seitige Javascript map im configeMode
    Es wird nun vom Router aus via Javascript auf den Client eine
    OSM Karte geladen, sofern der Client über eine Internet
    Verbindung verfügt. Um das selektieren von statischen Geo
    Koordinaten zu vereinfachen.

* hoodselector: hoodinfo Sektion in respondd wurde erstellt #63 #48
    Über respondd werden nun Informationen über die aktuell
    selektierte hood eines Routers verteilt.

* hoodselector: das MOLWM Protokoll wurde implementiert Mesh On Lan
/ Wan Managemend
    Das MOLWM Protokoll detektiert hood Kollisionen im mesh on lan
    oder mesh on wan. U.a. anhand von Vergleichungen von md5 hashes
    der einzelnen hoods.

* hoodselector: Der hoodselector gibt nun returncodes bei der
Terminierung zurück.

* hoodselector: pid datei write Permission wird abgefangen

* hoodselector: Unbenutzte variablen wurden entfernt und das überlappen
von Globalen variablen wurde behoben (zum Einsatz kam luacheck)

* hoodselector: Es können nun mehrere fastd peers mit äquivalenten DNS
aber unterschiedlichen Port bestehen. #40
    Das ermöglicht uns anstelle von folgenden zu schreiben:
      starwars0.sn.ffnw.de 1001
      starwars1.sn.ffnw.de 1010
      starwars1.sn.ffnw.de 1011

    Lediglich:
      starwars.sn.ffnw.de 1001
      starwars.sn.ffnw.de 1010
      starwars.sn.ffnw.de 1011

    Das reduziert somit die ganzen DNS Einträge.

* hoodselector: Im scanmode arbeitet der hoodselector nun nicht mehr mit
einen statisch festgelegten WLAN Interface, sondern scannt über alle WLAN
Interfaces die ein Gerät hat. #69

* hoodselector: Im scanmode wird nicht mehr statisch 30 sec abgewartet
um anschließend zu prüfen ob eine mesh Verbindung besteht. Es wird nun
kontinuierlich geschaut und spätesten nach einem Zeitablauf von 30 sec
fortgesetzt. #70

* hoodselector: Fehlermeldungen werden nun in ein logfile geschrieben und
können und über logread eingesehen werden. #36

Änderungen an der Siteconf können im Siteconf-Repo hier eingesehen werden:
https://git.nordwest.freifunk.net/ffnw-firmware/siteconf/compare/v1.1.1...v1.2

Die Änderungen an unseren eigenen Paketen können im Packages-Repository hier eingesehen werden:
https://git.nordwest.freifunk.net/ffnw-firmware/packages/compare/v1.1.1...v1.2

Neue Firmware 1.1.1

In den nächsten Stunden wird im Freifunk Nordwest Netz die neue Firmware 1.1.1 ausgerollt.

Basisdaten:
 * Firmware-Version: 1.1.1
 * Gluon-Version: v2016.1.x
 * Commit ID: ee597c66769a455d38467192598813e7f8411cfd
 * Download: http://firmware.ffnw.de/1.1.1

Die upstream Änderungen findet ihr hier:

https://github.com/freifunk-gluon/gluon/compare/867d939...ee597c6

Folgende Comunnity speziffischen Änderungen gab es:
package repo:
* shell banner enthält nun versions informationen #45
* geoposition wurde abstrahiert #22
* typo Fehler im configmode wurden behoben
* uci section location hat nun einen config identifier
* geolocator Problem was zu einer hohen load geführt hat
ist behoben durch die Terminierung einer subshell auf zeit. #67
* dkjson ist erstetz durch luci.jsonc #51
* hoodselector: uci exception handling #49
* package multiple-v6-watchdoog hinzugefügt #66

siteconf repo:
* CI: gluon commit ID wird als versions nummer gesetzt
* Es werden alle images als nightly build deployd anstatt nur die 841er
* typo Fehler in den Übersetzungen wurden behoben
* weitere USB Netzwerk Treiber für die VM images sind hinzugekommen

Die Änderungen an der Siteconf können im Siteconf-Repo hier eingesehen werden:
https://git.nordwest.freifunk.net/ffnw-firmware/siteconf/compare/v1.1...v1.1.1

Die Änderungen an unseren eigenen Paketen können im Packages-Repository hier eingesehen werden:
https://git.nordwest.freifunk.net/ffnw-firmware/packages/compare/v1.1...v1.1.1

 

Monitoring and quality assurance of open wifi networks out of client view (final evaluation)

Hi together,

now the time has come to explain the full Google Summer of Code Project. In both blog posts before I explained the work packages and structure of the Project [0][1]. In the first post I declare the three main subjects. Here is a short overview to remind of the project structure:

sub-projects,

Mainline project

and seminars.

The sub-projects are background work for community projects.

The mainline Google Summer of Code project is to develop a new firmware for routers, based on LEDE [2]. The third point are seminars for enlightment of technical aspects of the Freifunk Community. (mehr …)

Firmware 1.1

Ab Dienstag dem 12.07.2016 wird im Freifunk Nordwest Netz die neue Firmware 1.1 ausgerollt.

 * Firmware-Version: 1.1
 * Gluon-Version: v2016.1.x
 * Commit ID: 3b916a554e2d8513169ae5fb186c83ac678ac464
 * Download: http://firmware.ffnw.de/1.1

Die upstream Änderungen findet ihr hier:

https://github.com/freifunk-gluon/gluon/compare/f6b390c...3b916a554e2d8513169ae5fb186c83ac678ac464

Folgende Comunnity speziffischen Änderungen gab es:
* Add hood butjadingen to hoodfile
* Add hood wittmund to hoodfile
* Add hood rastede to hoodfile
* Add hood lk-vec to hoodfile
* Add hood delmenhorst to hoodfile
* Hoodselector Cron every 2 Minutes
* 2 Peer für frieslandhood

Die Änderungen an der Siteconf können im Siteconf-Repo hier eingesehen werden:
https://git.nordwest.freifunk.net/ffnw-firmware/siteconf/compare/v1.0...v1.1

Die Änderungen an unseren eigenen Paketen können im Packages-Repository hier eingesehen werden:
https://git.nordwest.freifunk.net/ffnw-firmware/packages/compare/v1.0...v1.1

Alle Router die den Autoupdater auf aktiv haben, erhalten dieses Update automatisch.

Monitoring and quality assurance of open wifi networks out of client view (midterm evaluation)

Hey everyone,
Now we are on the midterm evaluation. I would like to tell you what I have done so far and what will come next. In the first post [0] I explained the work packages. In this post I will come back to the work packages  and show you what I have done for each package.
The first sub-project was the hoodselector. At the beginning of the work period I did some bugfixing for the hoodselector so that we where able to deploy the hoodselector in our live environment. The hoodselector creates decentralized, semi automated ISO OSI layer 2 network segmentations. You can find a detailed discription here [0]. Retrospective I can say that the deploymend of the hoodsystem went without any major problems opposed to my first expectations. Currently we have 4 hoods active. Around Oldenburg(Oldb), Ibbenbüren, Osnabrück and Friesland. More hoods will follow in future. Open Issues can be find here [1].
The second sub-project was to create a propper workaround for building images with the continuous-integration (CI) system of Gitlab using make on multiple cores.
The Freifunk Nordwest firmware now has automatically built testing images that are not only build on a single core but can be built on multiple cores. And the architecture targets are also autogenerated out of the sourcecode. This makes it possible to generate images dynamically for all
targets also including new targets that may come in the future. I implemented a small algorithm that manages the thread counter of make commands. I
use the number of CPUs out of /proc/cpuinfo * 2 this means for each logic core will follow two threads. In example our runner02.ffnw.de server has 8 cores so the CI build process will automatically build with 16 Threads [2]. Here is an example of a passed buildprocess with our CI builder[3]. Actually it is not possible to build images with a high verbose output, because the CI logfiles will get to big. That makes it impossible to use the webfrontend for analyzing the buildprocesses. I opened an issues for this and discussed the problem with the gitlab developers [4].
The CI builder is very helpful for the developing process of the monitoring drone.
Following I would like to report about our first hacking seminar.
The first hacking seminar was on 28.05.2016. We started with two presentations. One about Wireless Geo Location and the second one about the Hoodselector. We recorded the presentation with our new recording equipment [7] bought using some of the money for the mentoring organisation and uploaded the recordings to youtube [5].
The first presentation was about geolocating with wireles technologies.
Based on the Nordwest Freifunk geolocator [6]

The second presentation was about the function of the Hoodselector


After this two presentations we had a smal disscussion about the presentation topics and than we started o
ur hacking session where the developers started coding on their projects.
Now all sub-Projects are finnisched and I will continue with the Monitoring Drone Project after I finish my Study exams. Also the date of next hacking seminar is set for 9th of Juli 2016. Again we will have two presentations. One on Gitlab CI and one about how to use our new Puppet Git repositories including the submodule feature. The presentations will be recorded and after the presentation we will have a coding session like last time.
Timeline:
23. May: Community Bonding (3 weeks)
test and deploy hoodselector  <- Done
16. May 6:00 PM: GSoC Mumble  <- Done
Refine the roadmap  <- Done
23. May – 20. June: Work period 1 (4 weeks) <- Done
28. May 2:00 PM: hacker-session  <- Done
  1. Presentation about the hoodselector <- Done
  2. Presentation about the openwifi.su project[4] and the geolocator <- Done
13. June 6:00 PM: GSoC Mumble  <- Done
Midtermevaluation
Tarek & Clemens exams!!!
20. June – 15. August: Work period 2 (8 weeks)
9. July 2:00 PM: hacker-session
  1. Presentation about workaround with git CI processes.
  2. Presentation about puppet deployment system
13. June 6:00 PM: GSoC Mumble
25. June 2:00 PM: hacker-session
  1. Presentation about workaround with git CI processes.
  2. Presentation about puppet deployment system
18. July 6:00 PM: GSoC Mumble
30. July 2:00 PM: hacker-session
  1. actual unknown
  2. actual unknown
15. August 6:00 PM: GSoC Mumble
Finalevaluation

Neue Firmware 0.8

Hiermit veröffentlichen wir die Freifunk Nordwest Firmware in der Version 0.8.  In den nächsten Stunden werden alle Router, die den Autoupdater aktiviert haben, diese Version einspielen. Für manuelle Updates oder neu zu installierende Router informiert die Wikiseite zur Firmware über die Bezugsquellen.

Basis für die Firmware Version 0.8 ist Gluon in der Version 2016.1.2. Diese Version bringt insbesondere den lange gewünschten Support für den WR841NDv10 und löst außerdem den auf dem letzten Treffen in Oldenburg diskutierten Fehler beim Booten einiger Geräte. Die Firmware wird daher ohne Ausnahme für alle bisher unterstützten Geräte ausgeliefert.  Nachfolgend die Änderungen im Detail (Auszug aus der Release-Mail des Dev-Teams):

 * Hinzu gekommener Hardware Support:
    ar71xx-generic
      Onion Omega
    Buffalo
        WZR-HP-G300NH
    D-Link
        DIR-505 (A1)
    TP-Link
        CPE210/220/510/520 v1.1
        TL-WA901N/ND v1
        TL-WR710N v2
        TL-WR801N/ND v1, v2
        TL-WR841N/ND v10
        TL-WR843N/ND v1
        TL-WR940N v1, v2, v3
        TL-WR941ND v6
        TL-WR1043N/ND v3
        TP-Link TL-MR13U v1
    Ubiquiti
        airGateway
        airRouter
        UniFi AP Outdoor+
    Western Digital
        My Net N600
        My Net N750


 * Fehlerbehebung
   * opkg reposetory key wird nicht bei sedem build überschreiben.

 * AirOS 5.6.x Kompatibilität
   * das Downgraden zu AirOS 5.5.x bevor Gluon auf Airmax M XM/XW
     Geräten gefläsht wird (NanoStation, Bullet, ...) ist nicht mehr
     notwendig.

 * Status seite
   * Behebt das entfernen von verschwundenen Nodes aus der liste.
   * Der Signal Graphen wird nun korrekt auf mobielen Browsern
     dargestellt.
   * Höhere Browser Kompatibilität

 * Config mode
   * Entfernt Leerzeichen aus nummern Feldern (Der LuCI Validator prüft
     nicht auf Leerzeichen)
   * Negatives Bandbreiten Limit ist nun nicht mehr möglich.

 * Failsafe mode
   * Das entern des failsafe mode auf dem TL-WDR4900 ist nun möglich.

Details zu den Änderungen siehe auf:
https://gluon.readthedocs.org/en/v2016.1.1/releases/v2016.1.1.html

Folgende Nordwest spezifische Änderungen gab es:
 * IEEE 802.11s wurde entfernt.
 * Der geolocator wurde auf Standart Enable gesetz.
 * Das package gluon-announced wurde durch gluon-respondd ersetzt.
 * Das package ffnw-opkgconfig wurde entfernt.
 * Fastd publickey ist im configmode wieder Sichbar.
 * Signatur publickeys von bioxz und pic sind entfernt worden.
 * Signatur publickeys von fkr und PowerPan sind hinzugefügt worden.
 * Signatur publickeys von runner02.ffnw.de in in testing hinzugefügt
   worden für gitlab-CI.
 * Das package ffnw-configurator wurde entfernt.
 * Das package ffnw-nodewatcher wurde entfernt.
 * Folgende packages sind in der x86-generic architecture hinzu gekommen:
    * kmod-usb-core
    * kmod-usb2
    * kmod-usb-hid
    * kmod-usb-net
    * kmod-usb-net-asix
    * kmod-usb-net-dm9601-ether

Die Änderungen können Sie in unserem GIT-Repo jederzeit angeschaut werden:
https://git.nordwest.freifunk.net/ffnw-firmware/siteconf/commits/v0.8

Die nächste geplante Version der Firmware ist die Version 0.9, diese Version wird erste Änderungen zur Vorbereitung der Umstellung des Netzes auf Hoods mitbringen. Die tatsächliche Einführung der ersten Hood ist für die übernächste Version 1.0 geplant.

Abschließend möchten wir noch einmal darauf hinweisen, dass alle Test- und Zwischenversionen, die nicht offiziell freigegeben wurden (z.B. die Versionen 0.7, 0.8.1 oder 0.8 RC1) von uns nicht unterstützt werden und in Zukunft mit sehr hoher Wahrscheinlichkeit dauerhaft ausfallen werden. Diese Versionen können im Zweifelsfall nur manuell auf eine stabile Version zurückgeflasht werden. Wir bitten alle Freifunker, die keine Entwickler sind, unbedingt auf die Installation von Testversionen im Produktivbetrieb zu verzichten.

Neue Firmware 0.6.1

Seit kurzem gibt es im Bereich Freifunk Nordwest eine neue Firmware. Diese beinhaltet Größtenteils kleine Ausbesserungen:

WLAN Lokalisierung wurde auf default false gesetzt[1].

Router Hostname Präfix wurde auf ffnw- geändert[2].

Der configmode wird wieder vollständig in Deutsch angezeigt[3].

Die Router Koordinaten aus Netmon werden mit einer Priorität auf die
Router synchronisiert[4].

In libwlocate wurde der posix standard für sockets
implementiert und
unnötiger code entfernt. Das führt dazu das libwlocate nun auch mit ipv6
funktioniert und von 27Kilobyte auf 17Kilobyte geschrumpft ist[5].

Schöne Grüße aus Emden
Tarek

[0] http://firmware.ffnw.de/0.6.1/

[1] https://git.nordwest.freifunk.net/ffnw/siteconf/commit/e7e4fe1599cd913d2e3e770bf08515e653825038

[2] https://git.nordwest.freifunk.net/ffnw/siteconf/commit/8ff167107df540708a046b0889e2e7ebc42def68

[3] https://git.nordwest.freifunk.net/ffnw/packages/commit/55abd47cecb5ccb4e35ee00883df745d5a558fc7
https://git.nordwest.freifunk.net/ffnw/packages/commit/489cb4586a23840f98c5214bf23f9eefc189a675

[4] https://git.nordwest.freifunk.net/ffnw/packages/commit/f26e4a62aa5842ca5c27ca2012de499039cf7b66

[5] https://git.nordwest.freifunk.net/ffnw/packages/commit/c81b04285fb35542825f08232724974d0880a21b

Neue Firmware 0.6

Seit kurzem wird unsere neue Firmware 0.6 ausgerollt. Für alle Router, bei denen der Autoupdater an ist, ist nichts weiteres zu tun, da diese eigenständig updaten.

Hier die wesentlichen Änderungen im Überblick:

1. Change GLUON base from v2014.4.x up to v2015.1.x. Thats included the following main changes:
Changes up to v2015.1.2
Added hardware support
ar71xx-generic
TP-Link
TL-WA830RE (v1)
TP-Link TL-WA801N/ND v1
TL-WA701N/ND (v2)
TL-WA801N/ND (v1)
TL-WA830RE (v2)
TL-WR740N / TL-WR741ND (v5)

TP-Link TL-WA830RE v2: remove BROKEN

New features
The x86-generic and x86-kvm_guest images now support two ethernet interfaces by default. If two interfaces exist during the first boot, eth0 will be used as LAN and eth1 as WAN.
Ubiquiti Loco M, Picostation M and Rocket M now get their own images (which are just copies of the Bullet M image)so it’s more obvious for users which image to use.
The x86-generic images now contain the e1000e ethernet driver by default.

Bugfixes
Fix German “Expert Mode” label (was “Export Mode”).
Fix download of OpenSSL during build because of broken OpenSSL download servers.
Fix ABI break causing kernel panics when trying to use network-related modules from the official OpenWrt repository (like kmod-pppoe).
Fix race conditions breaking parallel build occasionally.
A broken network configuration would be generated when an older Gluon version was updated to 2015.1 with mesh_on_lan enabled in site.conf.
Minor announced/alfred JSON format fixes (don’t output empty lists where empty objects would be expected).
Fix another ABI incompatiblity with the upstream kernel modules which prevented loading some filesystem-related modules.
Fix potential MAC address conflicts on x86 target when using mesh-on-wan/lan.
Fix signal strength indicators on TP-LINK CPE210/510.
Fix the model name string on some NETGEAR WNDR3700v2.
Fix 5GHz WLAN switching channels and losing connectivity when other WLANs using the same channel are detected (including other Gluon nodes…); see https://github.com/freifunk-gluon/gluon/issues/386.
Fix DNS resolution for mesh VPN on IPv6-only WAN; see https://github.com/freifunk-gluon/gluon/issues/397.
gluon-mesh-batman-adv-15: update batman-adv to 2015.0 with additional bugfixes (fixes various minor bugs).
gluon-mesh-batman-adv-15: fix forwarding of fragmented frames over multiple links with different MTUs.

Additional changes up to v2015.1.x

Enable DIRECT_IO kernel config
Fixes a kernel incompatiblity with the upstream OpenWrt modules regarding
filesystem drivers (and probably other modules related to block devices).

x86-generic: add kmod-e1000e network driver

Always use eth0 address as primary address on x86 and brcm2708
These targets don’t have a WLAN adapter by default, so it doesn’t make
sense to default to the phy0 address.

gluon-mesh-batman-adv-core: adjust rssid config to renamed WLAN interfaces
This should fix the signal strength indicators on the TP-Link CPE210/510.

gluon-mesh-batman-adv-core: unconditionally set the WAN MAC address
This fixes MAC address conflicts on devices which use the eth0 as primary address.

2. Add the package ffnw-banner for a ffnw specific shell banner.
3. Add the package opkgconf to change the openWRT repo urls.
because of working global IPv6
4. Add and update the packages libwlocate and lwtrace for wifi triangulation.
This works together with the geolocator in the package ffnw-node-info.
libwlocate uses openWlanMap.org for triangulation
5. Add the package ffnw-node-info.
This is the full cloned gluon-node-info package with additional changes.
The main change is the so called geolocator that can be used to locate the position of the router via wifi triangulation and set the geolocation.
The geolocator works actually only on VPNrouters, a new libwlocation libray is in manufacturing

Add the package ffnw-config-mode-geo-location and ffnw-config-mode-contact-info.
ffnw-config-mode-geo-location can now configure the geolocator to set automatically triangulated positions.
ffnw-config-mode-contact-info cloned by gluon-config-mode-contact-info because of package-conflicts.The geolocator works actually only on VPNrouters, a new libwlocation libray is in manufacturing
In case of that gluon-node-info and gluon-config-mode-geo-location and gluon-config-mode-contact-info will be dropped.
6. Remove Netmon geolocation synchronisation code from packages/configurator.

7. Change netmon ULA address to the domain netmon.ffnw.

8. Nodewatcher: add geo-location to node.data