The Problem
Deploying a self‑healing IP mesh over kilometer‑scale distances without any central infrastructure is still uncommon for most field teams. Existing solutions either require proprietary gateways, lack clear on‑ramp documentation, or provide no automated quality‑gate for builds and tests.
What This Does
Haven is a toolkit that bundles HaLow (802.11ah) radios, BATMAN‑adv mesh routing, and OpenMANET firmware to create long‑range, decentralized networks. The repository lives in scripts/, docs/, and integrations/. Node‑operation scripts such as scripts/node-ops/haven-bridge-check.sh and scripts/node-ops/haven-diag.sh let you verify connectivity and diagnose link quality after deployment. Optional overlays are provided through integrations/atak/cotbridge.py for ATAK situational awareness and integrations/reticulum/ for encrypted Reticulum communications. Documentation is split across docs/getting-started/, docs/reference/, and docs/runbooks/, with a full sitemap in docs/README.md.
How To Use It
Flash OpenMANET – the README notes “flash OpenMANET, then the setup guide”. Configure the GATE node – run the gate‑setup script: bash scripts/node-setup/setup-haven-gate.sh
This script provisions the Ethernet uplink, HaLow mesh interface, and the br-ahwlan bridge with DHCP (openmanetd). Add POINT nodes – invoke the point‑node script: bash scripts/node-setup/setup-haven-point.sh
It configures the HaLow mesh stack and Wi‑Fi AP groups on the 10.41.x.x/16 subnet. Optional encrypted overlay – if Reticulum is desired, execute: bash scripts/optional/setup-reticulum.sh
The same script installs the Reticulum stack and generates the necessary keys. ATAK integration – the COT bridge can be started from integrations/atak/cotbridge.py after the mesh is operational. Access node GUIs – consult docs/reference/finding-nodes.md for the LuCI URLs and IP discovery commands; the guide references the br-ahwlan interface IP range.
If a step lacks an explicit command in the repo, the README is the only source; no further install flags are documented.
Real‑World Use
A field team deploying a temporary command‑post can set one Raspberry‑Pi‑based Haven GATE at a high‑point location, then drop several Haven POINT nodes in vehicles or on foot. Phones and ATAK units connect to the Wi‑Fi APs broadcast by the mesh and obtain IP addresses via the built‑in DHCP. Traffic to the internet egresses through the GATE’s uplink. Team members use scripts/tools/rnssend.py to test bulk data propagation and scripts/tools/rnsstatus.py to monitor link health in real time. When a node goes offline, BATMAN‑adv automatically re‑routes traffic through remaining POINTs, preserving connectivity without manual re‑configuration.
Code Health & Issues
No CI/CD pipeline – .github/ or any CI configuration is absent, so there is no automated build/test gate. Missing license – the root directory contains no LICENSE file, leaving usage and redistribution rights unclear. Limited test coverage – only two test files are present; many scripts (haven-diag.sh, rns_*) lack unit‑test scaffolding. Script error‑handling – several shell scripts perform file operations and system calls without explicit exit‑code checks, which could leave the mesh in an inconsistent state if a step fails. Configuration embedded – network parameters (e.g., subnet 10.41.x.x/16) are hard‑coded in setup scripts rather than exposed as environment variables, reducing portability. Extensive documentation – 14 doc files and a clear sitemap mitigate the lack of automated verification, offering on‑ramp guidance for new deployments.
The Bottom Line
Haven provides a pragmatic, open‑source pathway to long‑range, self‑healing IP meshes using commodity HaLow hardware and well‑documented OpenMANET firmware. The repository’s strength lies in its granular scripts and thorough docs that walk a user through gate/point setup, diagnostics, and optional encrypted overlays. Gaps are the absence of a license, no CI gate, and minimal test coverage, which may require extra diligence for production‑grade deployments. It is well‑suited for field teams, emergency‑response units, or research groups that need decentralized connectivity without relying on existing infrastructure.