built 8 min verified 723b308 (2026-09-19)
How the house mesh works
Lightning Mesh is several layers that share a box. Mixing them up is the usual source of confusion.
Status: built. This is how a live house fleet behaves today.
Two Wi-Fi names
| Name you see | Who joins it | Purpose |
|---|---|---|
⚡ or Lightning Mesh (or your rename) |
Phones, laptops, IoT | Client access point. This is the house Wi-Fi. |
mjolnir-mesh |
Routers only | Backhaul. 802.11s. Phones cannot usefully join it. |
Association to the client name is not membership of a guild and does not write identity logs. The backhaul is how routers talk to each other when they are not on the same ethernet.
Addresses you will see
| Kind | Looks like | Meaning |
|---|---|---|
| Your device | 10.42.61.23 |
DHCP from the router you associated to. Each router owns its own /24. |
| That router's LAN gateway | 10.42.61.1 |
hello.mesh and LAN services on this box |
| Router management (overlay) | 10.254.x.y |
Derived from the router's node id. SSH here once the mesh is up |
| Recovery ethernet | 192.168.1.1 |
Only when you plug a computer into a LAN port and the overlay is dead |
Two people in the same room can have different 10.42. prefixes if they
landed on different routers. That is expected. babel routes between them.
Do not add 192.168.1.1/24 onto a live gateway's br-lan as a second
address while it is already serving 10.42.x.1. That combination has
produced a "lease but no ping" black hole for phones.
What talks to what
phone --client Wi-Fi--> router A (10.42.A.1)
|
802.11s backhaul (mjolnir-mesh)
|
router B (10.42.B.1) --WAN--> existing house internet
|
overlay 10.254/16 (SSH, gossip, .mesh names)
- Radio is plumbing. The product is the routed overlay plus the directory of people and services.
- Client LAN segments are not bridged across routers. Broadcast stays
on one box. That is why printers and Chromecast discovery that depend on
LAN broadcast may need a published
.meshname instead. - If any one router has a working WAN and
gateway=auto, the whole mesh can use that internet. If the uplink dies, sharing stops by itself.
The service mesh (directory)
Every router runs a small front desk (mjolnir-hello) at
http://hello.mesh. Behind it, mjolnir-meshd gossips a CRDT: node
names, who is around, and published services.
| Piece | What you see |
|---|---|
| People | Optional IdentiKeys that introduced themselves |
| Services | .mesh names (a chat app, a file drop, a printer) |
| Routers | Boxes in this mesh and which ones hear each other |
A service is not "installed on the cloud." Someone published it from a router (or an app claimed a name). It resolves on every node. If the publisher goes away, the listing ages out (about 90 seconds after it stops renewing).
Apps at https://something.mesh use certificates the mesh made. Browsers
warn because .mesh is not a public internet name. Continue only for
names you opened from hello.mesh. Details:
Find services and
Publish a service.
What is not built yet
| Planned | Today |
|---|---|
| House owner / admin roles in the UI | SSH keys and whoever can reach the box |
| Private resident Wi-Fi by default | Open client SSID unless you set a password at flash time |
| Membership gate for adding routers | Matching radio settings is enough to join the backhaul |
| Seamless roam while on a call | You may get a new 10.42. address when you walk |
Treat those as design, not as knobs on the box you just plugged in.
Next: Administer the house.