[ArborMesh] Arbormesh Hackathon: What needs doing?

Ryan Hughes ryan at iheartryan.com
Wed Apr 20 21:10:12 CDT 2011


Hi.  So I wanted to get the ball rolling on the discussion of what should 
happen at the ArborMesh hackathon, Friday, May 6.

We could use a website!  Also, artwork, logo, and so forth!

There are things to be done on the firmware.

I got openwrt configured to speak OLSR and Batman-adv, both.  It uses two 
different network prefixes (one for each protocol).  I was wanting to do 
that so we could do tests/upgrades on one routing protocol while the other 
makes the actual network happen.  That sort of thing.

One thing that olsr does that batman-adv does not is this:  It detects 
whether the router has access to the internet.  If it does, it reports 
itself as a gateway.  It periodically pings a set of hard-coded addresses 
to test whether it can get to the internet.

I'd like us to implement a cron script that would do the equivalent for 
batman.

Perhaps, before the hackathon, we should have a little "clinic" on how to 
work with openwrt, and a more in-depth technical introduction to the 
routing protocols.  I can show you what I've been doing, and we can get 
y'all up to speed.  If anybody would like to attend such a "clinic", tell 
me and we can arrange a time.

We could also do this type of thing at the hackathon itself.  I just 
thought that if anybody wanted a pre-introduction, they could do a little 
tinkering before we got there, and then we could get more work done at the 
hackathon.

I'm gonna try to convert what I've been doing into an "OpenWRT 
ImageBuilder script".  Right now, I've got a .config file and so forth, so 
you need a full OpenWRT source tree.  But an imagebuilder script is a 
little easier to share and faster to produce.


Now, in addition to the router firmware, we will probably want a web-app 
that can do some of the central management tasks.  I was thinking we'd use 
"Nodewatcher" for this purpose.  The central management tasks include 
such things as assigning IP addresses and showing a cool map with our 
nodes and connections, to brag.  Nodewatcher is a django app.
 	http://dev.wlan-si.net/wiki/Podrobnosti/Nodewatcher

Here's a live sample of nodewatcher being run on wlan-slovenia.
 	https://nodes.wlan-si.net/

Nodewatcher needs to be installed and configured for us, but it's also a 
pretty new software project.  Only recently has it gained the ability to 
operate outside of wlan-slovenia.  We will almost certainly have to add 
features.


Also, we will probably want to add some stuff to the web-UI that's on each 
router.  This would be done in OpenWRT's "LuCI" environment.  LuCI is a 
web-app framework written in lua that runs on each router.

Some of the things to add:  Maybe some kind of "configuration wizard", 
like what Freifunk has.
 	http://wiki.freifunk.net/Freifunk_Firmware_%28English%29

Also, there is already a luci app to show a visualization of the olsr 
topology, but I don't think there are any luci apps to deal with batman at 
all.  It'd be nice if we could start one -- at least as a topology 
visualizer, but also to see other status information and do some 
configuration, maybe.


Also, it'd be sweet if we had one of those "welcome screens".  Like, when 
you first log into the network and it's like "You are about to use 
ArborMesh.  Plz to agree to our policies."  There are openwrt packages 
ready to use, but we'd have to configure them, and put our own artwork and 
info inthere.
But this would also be cool if we could use that space to advertise 
hyperlocal things, like "You are about to use arbormesh.  Here's a cool 
irc channel and mailing list.  Y'know what's cool?  AHA.  And other 
community organizations and stuff.  Oh, and look:  These are some 
network services being run on the inside of the network!  Check out this 
website without even going down to the copper at all!".

We could come up with some sort of broadcast mechanism that we could use 
to push out changes to the welcome page.


This is my brainstorm.  Anybody else got any ideas?  List 'em, here.  When 
we get to the hackathon, we can prioritize.
--Ryan


More information about the ArborMesh mailing list