Freifunk Nordwest

Das Bürgernetz im Nordwesten

Titelbild
23. Oktober 2021 10:18 Uhr von Jan-Tarek
Firmware Release version 20210915

Liebe Freifunk-Community,

Mit diesem Blogartikel steht eine neue Freifunk Firmware in den Startlöchern.

Das Release 20210915 enthält einige technisch gravierende Änderungen, wurde aber eingehend von mehreren Communitymitgliedern untersucht und hat sich im Testbetreib nun schon über einen Monat bewährt. Die einzige Kleinigkeit, die dabei auffiel, haben wir ans upstreamprojekt gemeldet.

Basisdaten:

  • Firmware-Version: 20210915
  • Gluon-Version: v2021.1.x
  • Commit ID: 0622764ed123beb7cee8e06ed49d20afd6d906be
  • Download: Firmware version 20210915

Folgende Gluon spezifischen Änderungen gab es unter anderen:

Added hardware support:

ath79-generic

  • Plasma Cloud
    • PA300
    • PA300E
  • TP-Link
    • Archer C2 v3
    • Archer D50 v1
  • Joy-IT
    • JT-OR750i

ipq40xx-generic

  • AVM
    • FRITZ!Box 7530
  • Plasma Cloud
    • PA1200
    • PA2200

ramips-mt7620

  • Netgear
    • EX3700
    • EX3800

ramips-mt76x8

  • Xiaomi
    • Mi Router 4A (100M Edition)

Major changes:

Multicast optimizations (batman-adv):

In this release, we reenable the multicast optimizations, that have gone through another round of bug squashing upstream. With this feature batman-adv will distribute IPv6 link-local multicast packets via individual unicast packets instead of flooding them through the whole mesh as long as the number of subscribed nodes does not exceed 16. This reduces layer 2 overhead, especially for IPv6 Neighbour Discovery.

We also relaxed the firewall for IPv6 multicast packets: Instead of always dropping non-essential multicast packets we now allow all IPv6 link-local multicast packets to pass when the destination group has up to 16 subscribers

Status page:

The status page has received much attention in this release and now exposes many more details that help to understand a node’s setup remotely.

Among other things, we now expose wireless client count per radio, the mac80211 identifiers, the frequencies radios are tuned to, as well as information about the VPN provider and details on the mesh protocol stack.

gluon-switch-domain utility:

The gluon-switch-domain utility has been introduced to allow for a standard way to encapsulate the steps required for safely switching between domains. Existing packages like the hoodselector and the scheduled-domain-switch have been tied in with gluon-switch-domain.

It has an experimental --no-reboot flag that requires further testing, to ensure it doesn’t accidentally bridge separate domains.

Other changes:

  • The private WLAN interface is now assigned the interface name wan_radioX where X is the phy index.
  • Linux kernel has been updated to 4.14.235
  • The kernel’s mac80211 stack has been updated to 4.19.193-test1 to mitigate the FragAttacks vulnerabilities
  • OpenSSL has been updated to 1.1.1l, fixing CVE-2021-3449 and CVE-2021-3450
  • openssl: use –cross-compile-prefix in Configure
  • Dropbear has been patched against mishandling of special filenames in its scp component (CVE-2020-36524)
  • kernel: bump 4.14 to 4.14.245

Bugfixes:

  • The firmware partition lookup in gluon-web-admin’s firmware update page was using an old partition label and therefore failed to look up the available flash size. This resulted in misleading error messages in case the uploaded firmware file exceeds the flash size.
  • Android 9 and higher do not properly wake up to renew their MLD subscriptions, therefore dropping out of the Neighbor Discovery MLD group, which leads to broken IPv6 connectivity after the device has slept for a while. A workaround has been deployed to wake these devices up in regular intervals to prevent this regression.
  • Missing bandwith limit settings resulted in a respondd crash for v2021.1.
  • The Tunneldigger VPN provider was not registered with the Gluon VPN backend, resulting in broken Tunneldigger configurations.
  • Disabling Radio interfaces in v2021.1 could lead to nullpointer dereferences in the respondd airtime module, as the survey returns no data in this case.

Internal:

Mesh-VPN Abstraction Layer:

In preparation for the introduction of new tunneling protocols, the gluon-mesh-vpn framework has been modularized. This allows for providers to use a standard interface and keep their implementation details in a dedicated package.

Continuous Integration:

  • GitHub Actions
    • GitHub actions is now enabled for the Gluon project, build-testing all available targets.
    • CI jobs are now run based on which paths have been modified.
    • Linters for lua and shell scripts have been integrated.

Die upstream Änderungen findet ihr hier: Gluon änderung zwischen version 20210427 und 20210915

Folgende Comunnity spezifischen Änderungen gab es im siteconf repo:

  • Das Buildscript kann nun builddir cleanups über alle Architekturen.
  • ein RC autoupdater branch ist eingerichtet um das testen von release canidates zu vereinfachen.
  • Alle Domains bekommen ein zusätzliches neues IPv6 Präfix.
  • Die Domain Delmenhorst wurde westlicher von Delmenhost verschoben und heißt jetzt Landkreis Oldenburg. Hinzugekommen ist die Domain Bremen.
  • Teile der Domain landkreis_osnabrueck wurden in die Domain bad_iburg verschoben um Domain grenzen weniger durch Ortschaften laufen zu lassen und die Anzahl der Router pro Domain anzugleichen.
  • Die Domain landkreis_wittmund wurde in landkreis_wittmund_nord und landkreis_wittmund_sued geteilt.
  • Der Patch 0004-patches-openwrt-add-0016-ath9k-check-for-deaf-rx-pat.patch wurde entfernt.
  • eine Outdoor channel liste wurde hinzugefügt.

Die Änderungen an der Siteconf können im Siteconf-Repo hier eingesehen werden: Siteconf änderung zwischen version 20210427 und 20210915

Wir wünschen viel spaß mit der neuen Firmware.

Viele Grüße

Jan-Tarek Butt