Althea Development Update #48: Bringing old buildings into the future

These last couple of weeks have been an all out code sprint on our way to Alpha 3, productivity is pretty rapid now that the groundwork is…

These last couple of weeks have been an all out code sprint on our way to Alpha 3, productivity is pretty rapid now that the groundwork is laid and we’re hitting all but my most optimistic targets.

The big ticket item for alpha3 is enough user setup to actually get things done without the command line. Here’s the development version of the dashboard, you should find it in a nightly firmware in the next couple of days.

The Althea exit server signup screen

If you don’t have any OpenWRT capable devices lying around the Linux installer is in far better shape than it was just a week ago and should be easy to play around with. It should be as easy as plugging in an RPI and running the Ansible script. As always hit me up @ttk2 in our development chat. Even simple problems are important because they let us know what we need to explain better in our documentation.


Portland mesh planning

Our outreach efforts continue to line up locations for Althea deployments. Deborah has been developing groups in several cities as well as a playbook on how to connect various types of homes.

‘Reverse tower’ strategy for dense housing

Where internal wiring is unavailable or of low quality a ‘reverse tower’ setup can provide building residents 100mb or greater at a tiny fraction of the cost to rewire the building.

If buildings have unused phone lines or coaxial cable they can be used to provide short distance gigabit speeds using G.Fast hardware, we’ve been working with a vendor for a solution around $100 per unit.

Of course for a lot of older buildings the picture of in-wall-copper isn’t so pretty. After snooping around several apartment buildings wiring cabinets. I found that arrangements like the one below are pretty common. This ~600 unit building had at-minimum 100 units on a single unamplified input cable line. With a tree of unpowered splitters per floor, down the hallway, and finally per unit.

Without easily available power trees of signal killing splitters are common

Units in this building are lucky to get 20mbps out of their cable modems. Each splitter attenuates the signal and without a powered amplifier and modems struggle to compensate with slower encoding and heavy use of slow error correcting.

After some study and brainstorming I think we could get the whole building to gigabit speeds for less than $200 a unit. By using power adapters in each unit that sent power back up the lines powered splitters could be placed into each box. Reducing signal degradation and allowing each unit to use the full line capacity.

After that it’s a matter of cutting a few levels off of the tree and dropping in routers per floor or at least per wing to bring the oversale ratio down.

Installations in single family homes are more a matter of land layout than anything else. It’s all about height and line of sight with none of the tricks you can pull in denser living situations. That being said the lack of having to rent roof space really helps.

Althea installation for a single family home

All of these potential mesh groups are a little different, some have backhaul but lack a solid customer group, others are the opposite. Some are municipal internet advocates trying to make local cooperatives. We’ve been working with our contacts to make sure that each of them are successful.


All this development has led to a few interesting bugs to chase. On the EdgerouterX I’m chasing a bug with UBIFS where UCI config files become corrupt without a explicit call to ‘sync’. I’m on the verge of just putting a hack into the startup script for this, but I’m going to spend a few more hours trying to track it back to the source.

In trying to get the Edgerouter Lite working I tracked down a bug in Rust’s generated assembly code the assumption of hard FPU support seems to be a recurring theme in the cross architecture toolchains they have available.

One of these things doesn’t belong

I also spent about 4 hours hardening the exit installer playbook for what turned out to be a local hardware issue. My Gil.iNet ar750’s wan port started flaking out and producing 70% packet loss at all times, this resulted in me seeing the negotiation packets on each end but not realizing the session was being screwed up by lost packets.

While there are still plenty of strange bugs floating around we’ve reached the point where the nightlies tend to work more often than they don’t. Putting us well on the way to a truly stable release.