Welcome to the home page of Charles N Wyble. Charles is a 24 year old systems guy, hacker and entrepreneur currently living in El Monte CA, with his wife of 3 years.

He is currently employed as a system engineer for Ripple TV with responsibility for a nation wide advertising network.

In his spare time he serves as Chief Technology Officer for the SoCalWiFI.net project, runs a hacker space in the San Gabriel Valley and tries to save the local economy.

Monday, March 02, 2009

[Fwd: Re: [announce] Afrimesh Dashboard]

An interesting project to watch.

-------- Original Message --------
Subject: Re: [announce] Afrimesh Dashboard
Date: Mon, 2 Mar 2009 20:31:48 +0200
From: Antoine van Gelder <antoine@7degrees.co.za>
Reply-To: village-telco-dev@googlegroups.com
To: village-telco-dev@googlegroups.com
CC: Wireless Africa <wireless-africa@googlegroups.com>
References: <AFEB1097-C5E3-4CEA-97EB-FA002F24BA97@7degrees.co.za>

On 02 Mar 2009, at 17:22 , Steve Song wrote:
> Sorry for the delayed reply. Have been on leave for a week. I have
> had
> a look at the latest Afrimesh dashboard and it looks very cool.
> Now I have a bunch of questions.
> 1) First, just to confirm, this is all running on a Linksys WRT or
> similar?

The particular instance you're looking at on the web is installed on
an Inveneo box running FreeBSD but the systems in the development
testbed include:

. Linksys WRT54's (both older and newer versions of the hardware)
. A large cardboard box full of Meraki Minis
. A couple of Open-Mesh.com routers
. A 5ghz and a 2.4ghz Ubiquity Nanostation
. A couple of Macintoshes running OSX
. Various virtualized Linux & FreeBSD instances

The officially supported build targets will be OpenWRT, FreeBSD and

> 2) How is network authentication managed? If I have a 10 node network
> with Afrimesh running on each one, how do I add nodes to the network?
> Would the Afrimesh software just pick up on the BATMAN routing table?
> How would that all work? Is there admin and user level authentication
> for Afrimesh?

A mouthful of a question! Let me try to break it down into two chunks:

Adding nodes

Network nodes and routes are picked up automatically by polling the
BATMAN visualization daemon.

Nodes can be positioned on the map either by the user as part of the
initial installation procedure or on the Network->Map by a mesh

The way configuration information is managed also allows for initial
location and/or live location updates to occur via an embedded GPS

Also, information about network routers & routes from sources _other_
than a BATMAN vis daemon can be transparently incorporated into the

This allow us the option to, for example, add support for mapping an
OLSR mesh network or even non-mesh networks.


There are two kinds of authentication we can talk about:

* Authorization to use the mesh management interface - currently I
have no access control configured on the demo page but unless anyone
wants to twist my rubber arm with a set of use-cases to support a more
complex schema I reckon we just use the built in authentication
mechanisms offered by the web server.

* Authorization for mesh clients to access the network and/or any
Internet gateways. This is currently managed by a standard Radius [1]
server which allows pretty much any kind of authentication schema you
can imagine as well as some you would rather not. I have also spoken
to Alberto about the possibility of writing a Radius authentication
module that would allow mesh nodes to authenticate against A2Billing.

[1] http://en.wikipedia.org/wiki/RADIUS

> 3) How modular is Afrimesh? For the Village Telco, we will want to
> add
> in node information related to telephone calls, numbers, usage, etc.
> How open is Afrimesh design to adding on things like this?

The short answer to your question is: Highly and very.

The long answer is this:

WARNING WARNING - Hairy technical details ahead - WARNING WARNING

Step 1: Configure/hack the system you want to interface with to output
data in XML or JSON [2] format. These days this is not as
hard as
it used to be.

Step 2: Tell Afrimesh what the data looks like, where it lives on the
network and how it relates to the other data it knows about.
This is all done in Javascript.

Step 3: Implement any views you wish on that data in standard
HTML/Javascript. (The Map view is also implemented as HTML &
Javascript so there is no special magic or server-side
mangling required to extend the range of information that
can be overlaid.)

[2] http://www.json.org/


The converse also applies where Afrimesh can itself act as a data
source and serve any of the information it aggregates about the
network in real-time.

> 4) For me the gold standard in mesh management interfaces is still
> OpenMesh/Meraki. I think Afrimesh comes pretty close in terms of how
> the map interface is evolving but the network graphing is obviously
> not
> there at least on a graphical level. Are there plans to integrate
> some
> graphical representations of bandwidth use?

There is a plan to integrate more graphing but there is also still a
conversation about whether it will be easier to rely on existing
software such as Nagios [3] or to build our own flashy Ajax-y ones [4]
or maybe even some kind of middle way which gives us a delicious user
experience without having to spend a lot of time re-inventing wheels.

One thing I would like to point out though is that if you look at the
Network->Health page you will see a live graph displaying Internet
traffic which is being pulled directly from my gateway router using
the standard SNMP [5] protocol.

So to give some perspective to our conversation, using afrimesh.js as
a foundation boils the implementation of that graph down to less than
twenty lines of very simple Javascript.

This holds true for any other data source on the network (SNMP or

Most importantly, the same technique which places the graph you're
looking at on a web page can also be used to embed it in the popups
from the Network->Map view.

Maybe a good pair of constructive questions to ask to help this
conversation along are:

1. Specifically, what kind of graphs would everyone like to see?
2. What, specifically, will being able to see each of those graphs
help you to do?

[3] http://www.nagios.org/
[4] See for e.g. http://code.google.com/p/flot/
[5] http://en.wikipedia.org/wiki/SNMP

> I have more questions but this seems like a good start. Looking
> forward
> to more. Awesome work!

Thank you Steve :)

- antoine

"Libré software for human education."

You received this message because you are subscribed to the Google
Groups "village-telco-dev" group.
To post to this group, send email to village-telco-dev@googlegroups.com
To unsubscribe from this group, send email to
For more options, visit this group at

Charles N Wyble charles@thewybles.com
(818)280-7059 http://charlesnw.blogspot.com
CTO SocalWiFI.net

No comments: