Gluon 2019.1

Important notes

Gluon v2019.1.x will be the last series of releases to support batman-adv-legacy (v14 compat) and IBSS (Ad-hoc) mesh links. Migration features have been developed and should be used during this release cycle to migrate to batman-adv v15 compat and/or 802.11s mesh links. These migration features are the scheduled domain switching (since v2018.2.1) and batman-adv module coexistence (since v2019.1, see below). The migration must be completed before an upgrade to future Gluon releases (v2019.2 or later) becomes possible.

With Gluon v2019.1, nodes will not answer respondd queries on [ff02::2:1001]:1001 anymore. Respondd querier setups still using this address must be updated to the new address [ff05::2:1001]:1001 (supported since Gluon v2017.1). This change was required due to cross-domain leakage of respondd data. If you are using hopglass-server to query respondd data, you need to update it to at least commit f0e2c0a5.

If you are upgrading from a version prior to v2018.1, please note that the flash layout on some devices (TP-Link CPE/WBS 210/510) was changed. To avoid upgrade failures, make sure to upgrade to Gluon 2017.1.8 or the latest Gluon 2016.2.x (unreleased) before installing Gluon 2018.1, 2018.2 or 2019.1.

Added hardware support

ar71xx-generic

  • D-Link

    • DAP-1330 A1

ar71xx-tiny [1]

  • TP-Link

    • TL-WR840N v2

ipq40xx

  • 8devices

    • Jalapeno

mpc85xx-p1020 [2]

  • Aerohive

    • HiveAP 330

ramips-mt7621

  • ASUS

Note

The ipq806x target has been flagged as broken, as none of its devices are fully supported in this OpenWrt release yet. You might have to update your build scripts accordingly.

New features

batman-adv coexistence

To allow a migration from B.A.T.M.A.N. Adv. compat 14 this Gluon release offers the ability to ship both B.A.T.M.A.N. Adv. compat versions 14 and 15 in the same image. The mesh.batman_adv.routing_algo option is used to decide which module gets loaded and the scheduled domain switching functionality can be used to migrate between the two versions.

Note that if you were using gluon-mesh-batman-adv-14 (“batman-adv-legacy”) before you will need to update the mesh.batman_adv.routing_algo setting from BATMAN_IV to BATMAN_IV_LEGACY if you want to stay on v14 compat.

See the mesh section for the site.conf configuration of this feature.

Outdoor Mode

Radio devices hosted outdoors are often affected by different regulation than if they were installed indoors. The outdoor mode allows for the reconfiguration of 5 GHz radios onto different channels and channel ranges. Regulatory policies like DFS currently make it difficult to use the 5 GHz band for mesh networking because it’s never certain that nodes will stay on the same channel. If enabled, by setting wifi5.outdoor_chanlist, a number of devices that are commonly installed outdoors will have outdoor mode automatically enabled during their initial setup, specifically:

  • Ubiquiti

    • Bullet M

    • Litebeam M5

    • Nanostation M5

    • Nanostation M5 Loco

    • Rocket M5

    • Rocket M5 TI

    • Unifi AC Mesh

    • Unifi AC Mesh Pro

    • Unifi Outdoor

  • TP-Link

    • CPE510

    • WBS510

See the wifi5 section for the site.conf configuration of this feature.

Device Deprecation

The ar71xx-tiny and several devices in the ramips-rt305x target have been marked as deprecated. The GLUON_DEPRECATED flag was introduced to offer communities the choice on how to deal with the ending support for those devices. Devices or targets marked as deprecated will very likely not be included in following Gluon releases anymore, usually due to their insufficient flash size.

See the Build configuration section for details.

Hoodselector: Geolocation Mode

The new hoodselector package allows a node to automatically reevaluate its selected mesh domain at runtime. In this release we support its geolocation feature.

See the gluon-hoodselector documentation for details.

x86 images support firstboot

x86 images are now using squashfs instead of ext4 and can now have their configuration reset by using firstboot.

Bugfixes

  • Fixes passwordless SSH access when gluon-authorized-keys was used without gluon-setup-mode. (#1777)

  • Fixes cross-domain leakage of respondd data by not joining the link-local multicast group on br-client. Nodes will not be answering respondd queries on [ff02::2:1001]:1001 anymore. Respondd queries using that address must be updated to the new address [ff05::2:1001]:1001. (#1701)

Site changes

When updating a site configuration from Gluon 2018.2.x, the following changes must be made:

site.mk

  • We now require the GLUON_DEPRECATED variable to be set to decide how to handle the image generation for deprecated devices. (#1745)

  • The variable DEVICES that controls which devices to build images for has been renamed to GLUON_DEVICES. (#1686)

  • The gluon-radvd package is now included by default and can be dropped from FEATURES and GLUON_SITE_PACKGES.

site.conf

  • The mesh.batman_adv.routing_algo option is now required when the batman-adv routing protocol is used. (#1622)

    To continue using batman-adv v14 compat you need to set this option from BATMAN_IV to BATMAN_IV_LEGACY.

  • The options wifi*.basic_rates and wifi*.supported_rates have been removed, as the legacy 802.11b rates are now disabled by default. (#1716)

Gateway recommendations

These are recommendations for running non-Gluon nodes, like for example gateways, in your mesh network:

  • Since Gluon v2018.1 the IGMP/MLD segmentation feature was enabled by default. When bat0 is run with a bridge on top the bat0 bridge port should be set to receive all multicast traffic unconditionally:

    # echo 2 > /sys/class/net/bat0/brport/multicast_router
    

    See the chapter on IGMP/MLD Domain Segmentation for more details.

Internals

Debug Build Flag

Setting GLUON_DEBUG=1 will provide firmware images including debugging symbols usable with GDB or similar tools. Requires a device or target with at least 16 MB of flash space, e.g. x86-64. Unset by default.

Lua target files

Target definitions were rewritten in Lua; this was necessary to implement the device deprecation feature. It also offers the option for more flexible tagging of devices in the future. (#1745)

luacheck

Lua scripts can now be properly linted and analyzed using luacheck. Run luacheck package scripts target in the Gluon project root. (#1741)

Docker build environment

A minimal docker-based build environment is now available in contrib/Dockerfile. (#1738)

Known issues

  • Out of memory situations with high client count on ath9k. (#1768)

  • The integration of the BATMAN_V routing algorithm is incomplete.

    • Mesh neighbors don’t appear on the status page. (#1726)

      Many tools have the BATMAN_IV metric hardcoded, these need to be updated to account for the new throughput metric.

    • Throughput values are not correctly acquired for different interface types. (#1728)

      This affects virtual interface types like bridges and VXLAN.

  • Default TX power on many Ubiquiti devices is too high, correct offsets are unknown (#94)

    Reducing the TX power in the Advanced Settings is recommended.

  • The MAC address of the WAN interface is modified even when Mesh-on-WAN is disabled (#496)

    This may lead to issues in environments where a fixed MAC address is expected (like VMware when promiscuous mode is disallowed).

  • Inconsistent respondd API (#522)

    The current API is inconsistent and will be replaced eventually. The old API will still be supported for a while.

  • Frequent reboots due to out-of-memory or high load due to memory pressure on weak hardware especially in larger meshes (#1243)

    Optimizations in Gluon 2018.1 have significantly improved memory usage. There are still known bugs leading to unreasonably high load that we hope to solve in future releases.