Freifunk Aachen/Firmware
Firmware
Die Firmware ist das Betriebssystem für den Router. Ausgeliefert werden die kompatiblen Geräte mit einer Firmware, die für den Freifunk-Betrieb nutzlos ist. Deswegen muss eine der unten genannten Firmwares heruntergeladen und installiert/geflasht werden.
Die in Aachen verwendete Freifunk-Firmware nennt sich Gluon. Sie basiert auf der freien Firmware OpenWRT, ist jedoch an die Bedürfnisse der Freifunk-Gemeinde angepasst.
Wir haben uns in Aachen dazu entschieden, die Firmware über drei sogenannte Release-Channels anzubieten – „Stable“, „Beta“, und „Experimental“ – die verschiedenen Stabilitätsstufen entsprechen. (Bei der Erstkonfiguration der Firmware kann man sich für einen dieser Channels entscheiden; der Auto-Updater installiert dann stets die neueste Firmware dieses Typs.)
Im Allgemeinen sollte man sich für die „Stable“-Version entscheiden, da diese dem Namen entsprechend anstrebt, stabile und ausgereifte Funktionalität zu bieten.
Zudem stehen die Firmware-Images in zwei Varianten zur Verfügung:
- factory – diese Variante solltet Ihr für jede Erstinstallation (oder vollständige Neu-Installation) wählen
- sysupgrade – diese Variante solltet Ihr nur dann wählen, wenn bereits Freifunk-Firmware oder auch z.B. ein „normales“ OpenWRT auf dem Gerät läuft
Dokumentation
Changelog der Stable und Beta Versionen mit zugörigen OpenWRT Versionen.
Gluon ist auf github einsehbar: https://github.com/freifunk-gluon/gluon
Die Aachener Site Config mit den entsprechenden Tags ist ebenfalls auf github verfügbar: https://github.com/ffac/site
Damit ist es mit gewissen Grundkenntnissen möglich die Firmware selber zu bauen statt sie von unseren Server zu landen.
Der Firmware-Selector befindet sich hier: https://images.ffac.rocks
Die Änderungenshistorie der Releases ab v2021 ist in der Changelog Datei zu lesen: https://github.com/ffac/site/blob/v2023.1.x/CHANGELOG.md
Veraltete Release Notes pre v2021
Old-Stable
Knoten um die ihr euch möglichst nie wieder kümmern möchtet sollten ihre Autoupdates per stable Release erhalten.
Name | Release | Gluon Tag | OpenWRT Version | Changelog/Kommentar |
---|---|---|---|---|
v2019.1.2-2-stable | 15.06.2020 | v2019.1.2 | OpenWrt 18.06-SNAPSHOT, r7978+25-6bfde67 | entspricht fast 2019.1.2-2-beta es wurde lediglich das ffm Paket vollständig entfernt, damit man auch mit einem neuen clone bauen kann. |
v2019.1-1-stable | 26.11.2019 | v2019.1 | OpenWrt 18.06-SNAPSHOT, r7835+25-89808e2 | entspricht 2019.1-1-beta |
v2018.2.3-2-stable | 25.11.2019 | v2018.2.3 | Chaos Calmer, r49389 | entspricht v2018.2.3-2-beta |
v2017.1.8-1-stable | 26.11.2019 | v2017.1.8 | 17.01-SNAPSHOT, r3881+51-999bb66 | entspricht v2017.1.8-2-beta |
2016.2.7-1-stable | 25.10.2017 | v2016.2.7 | Chaos Calmer, r49389 | entspricht 2016.2.7-1-beta |
2016.2.4-1-stable | 05.04.2017 | v2016.2.4 | Chaos Calmer, r49389 | entspricht 2016.2.4-1-beta |
2016.2.3-1-stable | 15.02.2017 | v2016.2.3 | Chaos Calmer, r49389 | entspricht 2016.2.3-1-beta |
2016.2.2-3-stable | 05.02.2017 | v2016.2.2 | Chaos Calmer, r49389 | entspricht 2016.2.2-3-beta |
2016.1.5-3-stable | 23.06.2016 | v2016.1.5 | Chaos Calmer, r49261 | entspricht 2016.1.5-2-beta |
2016.1.5-2-stable | 22.06.2016 | v2016.1.5 | Chaos Calmer, r49261 | entspricht 2016.1.5-2-beta, jedoch mit fehlerhaftem Treiber |
2016.1.2-1-stable | 17.03.2016 | v2016.1.2 | Chaos Calmer, r47335 | entspricht 2016.1.2-1-beta |
2016.1.1-1-stable | 08.03.2016 | v2016.1.1 | Chaos Calmer, r47335 | entspricht 2016.1.1-1-beta keine Verteilung per Autoupdate da Gluon 2016.1.2 bereits erscheint. |
2016.1-stable01 | 02.03.2016 | v2016.1 | Chaos Calmer, r47335 | entspricht 2016.1-beta04, keine Verteilung per Autoupdate da Gluon 2016.1.1 bereits für die nächsten Tage angekündigt ist. |
2015.1.2-stable06 | 24.01.2016 | v2015.1.2 | Barrier Breaker, r46287 | entspricht 2015.1.2-beta08 |
2015.1.2-stable05 | 22.11.2015 | v2015.1.2 | Barrier Breaker, r46287 | entspricht 2015.1.2-beta07 |
2015.1.2-stable04 | 21.11.2015 | v2015.1.2 | Barrier Breaker, r46287 | Autoupdater per default auf Stable - nicht per Autoupdater |
2015.1.2-stable03 | 20.11.2015 | v2015.1.2 | Barrier Breaker, r46287 | entspricht 2015.1.2-beta06 - nicht per Autupdater |
2015.1.2-stable02 | 04.09.2015 | v2015.1.2 | Barrier Breaker, r46287 | entspricht 2015.1.2-beta02 |
2015.1.2-stable01 | 25.08.2015 | v2015.1.2 | Barrier Breaker, r46287 | entspricht 2015.1.2-beta01 |
2015.1.1-stable01 | 29.06.2014 | v2015.1.1 | Barrier Breaker, r45951 | entspricht 2015.1.1-beta02 |
2015.1-stable01 | 31.05.2014 | v2015.1 | Barrier Breaker, r45620 | entspricht 2015.1-beta01 |
2014.4-stable-01 | 02.03.2014 | v2014.4 | Barrier Breaker, r43483 | entspricht 2014.4-beta-01 |
Beta
Die Beta erhält häufiger Updates, insbesondere gibt es hier auch Firmware Versionen für Hardware bei der noch kleine Probleme vorliegen und die deshalb als "broken" markiert ist.
Name | Release | Gluon Tag | OpenWRT Version | Changelog/Kommentar | |
---|---|---|---|---|---|
2019.1.2-2-beta | 10.2.2019 | v2019.1.2 | OpenWrt 18.06-SNAPSHOT, r7978+25-6bfde67 | Maintenance für Gluon 2019.1. Die Knoten erkennen nun viele Fehlerzustände des Wifi und beheben diese automatisch und boot bei Bedarf neu. Auch der Verlust von Mesh Partner wird erkannt und automatisch behoben. Es sind nun Kanäle für den Outdoor Betrieb definiert. Damit ist der 5GHz Betrieb im freien mit DFS Unterstützung möglich. Sowie einige kleine Anpassungen, sichtbar im kompletten Vergleich zur vorherigen Version. | |
2019.1-1-beta | 22.1.2019 | v2019.1 | OpenWrt 18.06-SNAPSHOT, r7835+25-89808e2 | Erste Version auf Basis von Gluon v2019, indirekte Update Strategie für Firmware vor 2018 für die Modelle CPE, WBS und x86 mittels unterschiedlichen Versionen im Manifest. Das 5GHz Mesh wird auf 802-11.s umgestellt um passende Treiber für neue Hardware zu haben. Wir haben nun einen eigenen Update Pfad pro Major Release um flexibel Serverseitig auf Probleme reagieren zu können und auch sehr alten Knoten ein sicheres Update zu erlauben. Da es vereinzelt zu Instabilitäten kommen kann, booten alle Freifunk Knoten nun in der Nacht von Donnerstag auf Freitag neu, sofern dadurch auffällt, mit dem Lerneffekt aus diesem Paket können wir entscheiden ob weitere Patches hilfreich sind. Geräte wie der TP-Link TL-WR-841 haben nur sehr wenig RAM, daher werden diese Geräte nun mit komprimiertem RAM arbeiten, dies mildert den höheren RAM Bedarf der neuen Gluon Version ab. Alle Änderungen außer den Beschriebenen sind Anpassungen an neuen Syntax und neue Optionen von Gluon. | |
v2018.2.3-2-beta] | 25.11.2019 | v2018.2.3 | Chaos Calmer, r49389 | Zwischenupdate um x86 Geräte mit zu kleinen Festplatten zu erkennen, nur für diese Geräte verteilt | |
v2018.2.3-1-beta] | 22.11.2019 | v2018.2.3 | Chaos Calmer, r49389 | Zwischenupdate um x86 Geräte mit zu kleinen Festplatten zu erkennen - wegen fehlendem Modul verworfen | |
2018.2-1-beta | 13.03.2019 | v2018.2 | OpenWrt 18.06-SNAPSHOT, r7629+12-eef6bd3 | Erste Version auf Basis von Gluon v2018, nachdem wir v2017 ausgelassen haben, da diese Version technische Probleme hatte. Update Key von Flam gegen sellerie und vegms ausgetauscht. Wir nutzen nun eigene NTP Server. Alle Änderungen außer den Beschriebenen sind dies Anpassungen an neuen Syntax und neue Optionen von Gluon. | |
v2017.1.8-1-beta] | 22.11.2019 | v2017.1.8 | 17.01-SNAPSHOT, r3881+51-999bb66 | Zwischenupdate wegen flash Layout Änderung CPE und WBS, nur für diese Geräte verteilt | |
2016.2.7-1-beta | 21.10.2017 | v2016.2.7 | Chaos Calmer, r49389 | Dies ist als letzte Version auf Basis von Gluon 2016.2.x geplant, da diese Version zwingen Installiert werden muss um anschließend auf 2017.1.x zu wechseln wird sie auf unbestimmte Zeit Update angeboten werden. Daher enthält diese Version neue URLs für Firmwareupdates. Diese Gelegenheit haben wir außerdem genutzt um die redundante URLs für die Supernodes einzuführen. | |
2016.2.4-1-beta | 31.03.2017 | v2016.2.4 | Chaos Calmer, r49389 | Das Paket respondd-module-airtime hinzugefügt um Informationen zur verfügbaren Airtime zu übertragen. Neue Gluon Version, Änderungen siehe Gluon Release Notes, insbesonder mit einem Bugfix um die Load wieder auf Niveau der 2016.2.2 zu senken. | |
2016.2.3-1-beta | 13.02.2017 | v2016.2.3 | Chaos Calmer, r49389 | Neue Gluon Version, Änderungen siehe Gluon Release Notes | |
2016.2.2-3-beta | 01.02.2017 | v2016.2.2 | Chaos Calmer, r49389 | Neben den Änderungen in Gluon seit 2016.1.5 haben wir in Aachen folgende Anpassungen vorgenommen: Entfernen der 802.11b Raten, Bereitstellung eines Build Skriptes in der Site, Bereitstellung der opkg modules zur nachinstalltion, Entfernen der durch die Segmentierung nicht mehr sinnvollen IPv4 Next Node Adresse, nun gibt es nur noch die IPv6 Adresse: http://[fdac::ac], entfernen des Feldes für die Höhe, da es nicht näher definiert ist, Obligatorischer Eintrag im Kontakt Feld. Siehe auch https://github.com/ffac/site/compare/v2016.1.5-3-s...v2016.2.2-3-s | |
2016.2.2-2-beta | 31.01.2017 | v2016.2.2 | Chaos Calmer, r49389 | kein Release per Autoupdate wegen fehlendem next-node | |
2016.2.2-1-beta | - | v2016.2.2 | Chaos Calmer, r49389 | Dummy für Autoupdatereihenfolge von experimental | |
2016.1.5-2-beta | 18.06.2016 | v2016.1.5 | Chaos Calmer, r49261 | Der ath10k Treiber, insbesondere für Archer C5/C7 ist instabil, wir tauschen daher den Treiber gegen die Stabile Version aus Gluon 2016.1.2 aus. | |
2016.1.5-1-beta | 26.05.2016 | v2016.1.5 | Chaos Calmer, r49261 | Neue Gluon Version, Änderungen siehe Gluon Release Notes | |
2016.1.4-2-beta | 12.05.2016 | v2016.1.4 | Chaos Calmer, r47335 | Zusätzlich zum Cherry Pick aus 2016.1.4-1-beta noch einen Fix für den Archer C5v1/C7v2 hinzugefügt ohne den bei diesem Modell das 5GHz Wlan nicht mehr funktioniert. | |
2016.1.4-1-beta | 29.04.2016 | v2016.1.4 | Chaos Calmer, r49097 | Wie beim letzten Community Treffen beschlossen wurde der Signing Key von Sirius hinzugefügt. Unterstützung für TP-Link 841v11 per cherry-pick. Update der WLAN Treiber, dies beseitigt Instabilitäten die von einigen Communities berichtet wurden, sowie einige weitere bugfixes, siehe Gluon Release Notes | |
2016.1.3-1-beta | 02.04.2016 | v2016.1.3 | Chaos Calmer, r47335 | Neue Gluon Version, bugfixes und unterstützung für neue Hardware, siehe Gluon Release Notes. Da unsere Karte nun Alfred nicht mehr benötigt ist das entsprechende Gluon Paket entfernt worden. | |
2016.1.2-1-beta | 11.03.2016 | v2016.1.2 | Chaos Calmer, r47335 | Neue Gluon Version, fix für einen nondeterministic boot hang, siehe dortige Release Notes | |
2016.1.1-1-beta | 05.03.2016 | v2016.1.1 | Chaos Calmer, r47335 | Neue Gluon Version, hauptsächlich bugfixes und neue Hardware, siehe dortige Release Notes, neues ffac Release Namensschema damit man auch beim Wechseln der Branch immer direkt die nächste Version als Autoupdate bekommt, Erklärung dazu im Forum | |
2016.1-beta04 | 01.03.2016 | v2016.1 | Chaos Calmer, r47335 | Die zusätzlichen Treiber für Netzerkkarten und USB Geräte sind jetzt auch in den x86-64 die es seit 2016.1 gibt enthalten, nur die x86-64 Images gebaut. Keine Verteilung per Autoupdate notwendig | |
2016.1-beta03 | 23.02.2016 | v2016.1 | Chaos Calmer, r47335 | Korrektur der 5GHz Mesh BSSID | |
2016.1-beta02 | 16.02.2016 | v2016.1 | Chaos Calmer, r47335 | Die neue Statusseite zeigt per default Kontaktdaten an, aufgrund unserer globalen IPv6 Adressen ist diese Weltweit erreichbar. Daher blenden wir diese nun mittels einer angepassten Version der Status Page api aus, siehe auch Issue #653 im Gluon Git Repository. 2016.1-beta02-rebuild veröffentlicht, da beim ersten Build Prozess die 5GHz Treiber nicht geladen wurden. | |
2016.1-beta01 | 13.02.2016 | v2016.1 | Chaos Calmer, r47335 | neuer Build Server mit neuem Signing Key, alter Key entfernt. Keine sonstigen Aachen spezifischen Änderungen, aber diverse Änderungen in Gluon, insbesondere einige zusätzliche Router Modelle. | |
2015.1.2-beta08 | 23.01.2016 | v2015.1.2 | Barrier Breaker, r46287 | Neuer IPv6 Prefix fdac::/64 der von den Knoten selber vergeben wird, daher auch neue Next Node Adresse: http://[fdac::ac], Futro kompatibel. Außerdem gibt es nun nur noch eine site.mk, also auch nur noch ein Release Tag für alle Targets, es werden dort automatisch die passenden Pakete ausgewählt | |
2015.1.2-beta07 | 22.11.2015 | v2015.1.2 | Barrier Breaker, r46287 | Fehler beim Build Aufruf führte bei Beta06 dazu dass per deufault kein Autoupdater ausgewählt war. Dies muss nicht per Autoupdater verteilt werden, da es nur bei Neuinstallation und komplett Reset relevant ist. | |
2015.1.2-beta06 | 15.11.2015 | v2015.1.2 | Barrier Breaker, r46287 | Dummy Einträge hinzugefügt um überholte fastd peer Groups zu entfernen, siehe issue auf github | |
2015.1.2-beta05 | 14.11.2015 | v2015.1.2 | Barrier Breaker, r46287 | Zusätzliche Supernodes auf Reserve, zusätzliche Ports für die Segmentierung. Aktuelle ssid-changer Version enthalten. x86 Version mit zusätzlichen Treiber, ohne ssid changer | |
2015.1.2-beta04 | 05.10.2015 | v2015.1.2 | Barrier Breaker, r46287 | New ssid-changer Version, wird nicht ausgerollt. Funktioniert, zunächst wird vorsichtshalber trotzdem die 2015.1.2-beta02 verbreitet. | |
2015.1.2-beta03 | 04.10.2015 | v2015.1.2 | Barrier Breaker, r46287 | Added an ssid-changer to change ssid if no gateway is reachable, x86 site.mk with additional drivers. Nicht per Autoupdater verteilt. | |
2015.1.2-beta02 | 03.09.2015 | v2015.1.2 | Barrier Breaker, r46287 | 2,4GHz Kanal von 11 HT40- auf 11 HT20 um mehr Platz für andere Netze zu lassen | |
2015.1.2-beta01 | 17.08.2015 | v2015.1.2 | Barrier Breaker, r46287 | Nur für Gluon Update | |
2015.1.1-beta02 | 28.06.2015 | v2015.1.1 | Barrier Breaker, r45951 | Nur noch ein vpn Tunnel pro Knoten | |
2015.1.1-beta01 | 18.06.2015 | v2015.1.1 | Barrier Breaker, r45951 | Nie per Autoupdate verteilt | |
2015.1-beta01 | 29.05.2015 | v2015.1 | Barrier Breaker, r45620 | Es wird jetzt immer ein Tunnel zu Supernode 1 oder 2 und 3 oder 4 aufgebaut | |
2014.4-beta-01 | 28.02.2014 | v2014.4 | Barrier Breaker, r43483 |
Hinweise
Benötigte Ports
Um einen Freifunk-Router mit Aachener Firmware hinter einer Firewall betreiben zu können, müssen folgende ausgehende Ports freigegeben werden[1]:
- Definitiv benötigte Ports:
- Port 53 TCP/UDP für DNS
- Bei den VPN-Tunnels wird es ein wenig komplizierter: es müssen alle UDP-Ports 30x0y und 30x10 freigegeben werden (wobei x immer für eine Ziffer von 0-9 und y immer für eine Ziffer von 1-9 steht). Insgesamt also 100 Ports in der Summe. Sonst ist keine automatische Zuordnung auf verschiedene Netzsegmente möglich, und es kann sein, dass der Router nach kurzem erfolgreichen Betrieb an Konnektivität verliert.
- Optionale Ports:
- Port 123 UDP für NTP - geht alternativ auch durch den VPN-Tunnel