Daily Dev Update for 31-07-2018

@ttk2 :
Working on

  • Explicit peer discovery, I need to talk to @kindiana about how to deal with some of the remaining futures, today I ripped all but two out of the entire system with the goal of making code that’s actually somewhat comprehensible. Two other things, why in the world is it so hard to make error types for futures and why is Rita loop itself an actor? why not just do it in the main thread?

Working on


  • /exits/nickname/register to complement the other two endpoitns, Adam may soon be blocked on this
  • Version lock Althea-firmware on top of specific OpenWRT commit hashes, then try and automate the process of testing an update to those hashes.
  • Improved dynamic topology CI for Rita

Working on

  • Refactoring the unit tests to be more readable, right now they work on checking some of the console commands run, in addition to other things, while these are ok test wise they are nearly impossible to modify easily

Working on

  • Modify the /wifi-settings endpoint to take changes more simply, like POST to wifi-settings/radio-0/mesh to toggle rather than sending an entire struct.


  • Looks like routers got miss shipped so he’s going to order a glb1300

Working on

  • Dashboard exit signup changes, this includes updating the exits section screen to use the /exits interface as well as @drozdziak1’s recently merged /exit/nickname/select and /exit/nickname/reset endpoints.


  • Dashboard smoothness, high latency endpoints need some compensation
  • Dashboard liveness, the exits endpoint provides a lot of cool debugging features that should be presented to the user helpfully.
  • Layout and design improvements

Working on

  • Setting up QA network, Josh is going to be testing a few builds a week with the goal of providing an outside person to break things devs won’t take the time to. But first he has to get his test network working.

Working on

  • Getting a Althea Cosmos zone up and running, he has a validator up now and is working on figuring out various things we may need. While we are using ETH api’s and software we plan to run on cosmos for their faster proof of stake speed. High transaction fees could easily kill the viability of Althea otherwise.

Working on

Found an issue with the firmware builder on Deb9 systems. When following the instructions to run “first-time-setup.yml” the playbook checks dependencies for every single linux distro. It was failing after attempting to install CentOS dependencies on the Deb9 system. When attempting to install the deps manually, I found the Deb9 command had a typo “build-essentials” is the proper command and not “build essentials”. Once I got theat resolved I was able to use firmware-build.yml to get a .bin file.

I’ve managed to use the .bin on two of the four routers. I have an N600 and the B1300 installed with the version that is on the github. The other two are giving me a “Image metadata not found. Invalid image, bad type: d72740b1. Image check ‘platform_check_image’ failed” error. I managed to get LEDE installed on the remaining two, but can’t get them to recognize the Althea.bin firmware (through GUI or CLI).

Side note: I can go through the docs as I’m learning this stuff and commit edits for typos if anyone feels that is even remotely necessary.

@Josh where you using a very old version of ansible? I don’t understand how the operating system check conditional would fail. Please go ahead and make a pull request with build-essentials.

Anyways the n750’s have recently been complaining about sysupgrade, if you use the reset button on the bottom and flash a factory firmware it tends to work fine.