International Community Map Project and Node Database

One of the things every community would like to see are maps of their network. There are many initiatives and map projects around, but how much more progress could we make, if we work together? This is why a group of free networks contributors started a group to work together on a common project. We started a mailing list to coordinate efforts and welcome everyone who would like to collaborate:
The current goal is to define a basis for a common map. We are looking at different map solutions and try to find out how we can merge the best of each into one. The best approach seems to be a modular system. In the following three great projects of different communities.
Nodeshot comes from the community in Italy and is widely being used there ( The main developer is Federico Capoano. The goal of the Django application is to have “a nice snapshot of your wireless community network”. Nodeshot is a web tool for wireless community network. It allows members to add their node and to share and manage information about their configurations like devices, ip addresses, wireless parameters etc. In this way, newcomers can easily contact/connect with them. Internal scripts will update the topology and retrieve nodes information via snmp, or parsing routing information given by olsr, batman or whatever. It is super-fast, nice and easy to use. It rises from the ashes of WNMap (, powered by django, released under GPLv3 and tested inside the Ninux wireless community network ( How to install: A basic guide on how to setup nodeshot for your community is available here:
Nodewatcher, another Django based application was started in Slowenia by Mitar. Its main goal is the development of an open source network planning, deployment, monitoring and maintanance platform. The project is divided into multiple components:
* node telemetry provider: A simple shell script that is accessible via HTTP interface and is used for node status data acquisition that is performed by the data collection system. Its role is similar to the one of SNMP, however it uses less resources (CPU-wise and, mostly, when it comes to memory and flash space). Our firmware has this preinstalled, others can follow these instructions to install it.
* data collection system : A daemon written in Python that periodically collects data regarding the OLSR topology, active HNAs, node telemetry and performs active reachability tests for visible nodes. Using rrdtool it can then generate graphs that are used by the web interface.
* web interface: A web-based application, written in Python and using the Django framework. It is used by the users to monitor the status of the network and individual nodes and by the node owners to manage their nodes.
* firmware image generator: A daemon that handles per-node configuration and firmware image generation via the OpenWrt buildroot using our custom firmware. It receives requests from the web interface. Live version We use nodewatcher in wlan slovenija network (this is why we are developing it), so you can see a live version of nodewatcher for real deployed network here
yaffmap is a project from Dennis Bartsch from Freifunk Berlin. He is working on an implementation of a node database he started with a friend. It is called yaffmap. It got its name because at the beginning of the project we had many mapservers in Berlin and so it started as yet another approach for a Freifunk map. The intention was to make a server that not just produces points and lines (nodes and their links) but to gather all information that might help to understand why a link is as bad as it is. This includes to gather wireless scan results, the effective rate chosen/calculated by the wireless driver to a specific neighbour and so on. Furthermore it had to be independent from the routing-protocol and its daemons (but needs it to gather useful info) and the IP version (or even no IP version for RPs like batman) and had to be able to upload and store data from multiple routing protocols on the same node. In order to sample so much information we went the route of scripting an agent for the map-server which runs on the nodes gathering the information and uploading it through a JSON interface to the server. For link-state-protocols like OLSR we even implemented the upload of the global topology to the server, which gave us some headache. From the beginning on I stressed the need for decentralized operation, so replication between the servers was implemented and any community which wants can have their own map data server. and accepted as Google Summer of Code Mentor Organizations and have been accepted as mentor organizations for the Google Summer of Code 2012. It is fantastic news that the growing international free networks community is now represented by two organizations in the study program.

If you are looking for more information on how to participate get in touch with your local wireless community or introduce your ideas on the wiki or Wlanware mailing list. People on the list will direct you to specific subprojects and contact points if needed. is an umbrella organization for wlan networks and community projects around the world and welcomes student applications for software tools to build and enhance free networks including:

* projects for routing protocols like OLSR, B.A.T.M.A.N. or other freely licensed protocols

* firmwares for routers and software for network devices

* software for network specific content creation like network CMS’

* any other network related software project

If you are a student there are important links to follow:

* Idea Page:

* Student Check List:

* Mailing List

* Freifunk GSoC Page

* Google Open Source Programs:

There is an info day on March 15 in Rome. You can also meet many contributors to the community at the battle of the mesh in Athens from March 26-April 1:

Wireless Battle of the Mesh V3 – June 2-6, 2010 in Bracciano, Italy

The next ‘Wireless Battle of the Mesh’ will take place from Wed 2nd till Sun 6th of June in Bracciano (near Rome), Italy. The event aims to bring together people from across Europe to test the performance of different routing protocols for ad-hoc networks, like Babel, B.A.T.M.A.N., and OLSR. This third WBM will be improving the testbed conditions for mesh protocols with standardized testing procedures that will be reported after the event for the wireless communities.

On the development side, a flashing tool will be presented to simplify the deployment of such wireless networks based on OpenWrt stable release and packages for each protocol.

If you are a mesh networking enthusiast, community networking activist, or have an interest in mesh networks you have to check this out!

Informations about the event are gathered at:

The Wireless Battle of the Mesh is an event that
aims at bringing together people from across Europe to test the
performance of different routing protocols for ad-hoc networks, like Babel, B.A.T.M.A.N., OLSR, and Static Routing. It
is a tournament with a social character. If you are a mesh networking
enthusiast, community networking activist, or have an interest in mesh
networks you might want to check this out! The goal of the WirelessBattleMesh
events is to set-up hands-on testbed for each available mesh routing
protocol with a standard test procedure for the different mesh
networks. During the different WBM events, similar hardware and
software configuration will be used based on the OpenWRT BoardSupportPackage
and packages for each protocol implementation. The WBM events are also
a great opportunity to develop testing tools for PHY/MAC radio layers
(drivers, scripts and PHY analyzers). 

Google Summer of Code: The event will also offer opportunities for students and mentors participating in Freifunk Google Summer of Code to meet up and work on projects.
The "tournament" will take place from June 2-6, 2010.

The event will take place in the camping Porticciolo in Bracciano, Italy. along the border of the lake of Bracciano, just North-West of Rome.

Registrations will be available at different hackerspaces (Fusolab, HSBXL, /tmp/lab, metalab, CCC, …) and on the official website for the event at

Every participant needs to donate 50 EUR (this should cover the costs for the camping, and the infrastructure). To finance this event, we ask you to pay when subscribing (paypal, bank transfer or cash).

* Web:
* Email:
* IRC:

NinuxDay in Rome from November 27-29, 2009

The team announced the first “Ninux Day”, a weekend with about and for wireless communities. You will meet software and hardware hackers, geeks, nerds, engineers, artists, the curious and
academics. Experts from all over Europe offer technical and social presentations in the area of wireless community networks.

Join the Ninux Days in Rome, Italy, from November 27-29, 2009.

More Info here:

* (English)
* (Italian)
* Announcement:
* Ninux Blog

[via ZioPRoTo]

Multicast for OLSR mesh networks: Obamp release by Saverio Proto

Saverio Proto (ZioPRoTo) has the released the olsr OBAMP plugin, that was a freifunk project for the Google Summer Of Code. The OBAMP plugin allows multicast traffic to be forwarded in a OLSR mesh network. OBAMP is an overlay protocol. It first makes a mesh network with overlay links (udp tunnels) between the OBAMP nodes, and then it creates a distribution spanning tree over these mesh links.

This version of the OBAMP protocol, implemented as an OLSR plugin, is a simplified one for Wireless Community Networks, where we assume the nodes to be in fixed positions on the roof of the houses. Protocol features regarding mobility have not been implemented (yet).

To explain how the plugin works consider the scenario in the following figure:

There are 7 routers, where only 5 have the OBAMP plugin working. Router 1 2 and 6 also have an attached HNA network with some hosts.

OBAMP nodes generate OLSR OBAMP_ALIVE messages, these OLSR messages are forwarded in the whole network (also by the nodes that do not understand OBAMP thanks to the OLSR design). Because of the flooding mechanism every OBAMP node has a complete list of all the other OBAMP nodes in the mesh network. Every OBAMP node listens on the UDP port 6226 for OBAMP signalling.

When a OBAMP nodes starts it has 5 timers to periodically start operations:

OBAMP_alive_timer: every obamp node sends alive messages to advertise its presence to the other obamp nodes in the network. In the alive message every nodes states its IP address, and if it has already a tree link or not (we will see later this information is important for the outer tree create procedure).
The OBAMP network must have a member called “Core”, that starts the TREE_CREATE procedure. The core is the node with the smallest IP address. When the list of known OBAMP nodes changes, the Core Election procedure is eventually called.

mesh_create_timer: every obamp node every OBAMP_MESH_CREATE_IVAL evaluates how far the other obamp nodes are and selects a subset of nodes to keep mesh links with. Note that to reduce signalling and to increase scalability, the overylay mesh links are setup only with a subset of the nearest OBAMP nodes. To select the overlay neighbor the OBAMP nodes first calculates the ETX distance of the nearest OBAMP nodes, and the creates overlay mesh links to every node that are far in the range (minETX,minETX+1)

tree_create_timer: the core of the network every OBAMP_TREE_CREATE_IVAL sends a message called TREE_CREATE on its mesh links. The creation of the spanning tree is very similar to the spanning tree protocol. When a TREE_CREATE message is received a OBAMP node enables a tree link with its parent and forwards the TREE_CREATE on the other mesh links. TREE_CREATE messages are generated only by the core and are numbered, so TREE_CREATE received over loops can be discarded.

outer_tree_create_timer: The mesh_create algorithm may create cluster of OBAMP nodes within the network that are disconnected between each other. This happens if there are groups OBAMP nodes that are far from each other. If this happens only the cluster where the Core is present will receive the TREE_CREATE and will receive traffic from the distribution tree. To overcome this problem if in a cluster there are not TREE_CREATE every OBAMP_TREE_CREATE_IVAL the node with the smallest IP in the cluster will make a long mesh link with the nearest node that has at least a tree link. All the necessary information to perform this procedure is diffused in the OBAMP_ALIVE messages.

purge_nodes_timer: checks expire time of various variables, and deletes nodes or tree links in a soft state fashion

The OBAMP nodes will capture the multicast udp traffic from the non-OLSR interfaces, and will forward this traffic encapsulated in the UDP tunnels of the distribution tree. The other OBAMP nodes will forward the traffic in the tree and will decapsulate it on their non-OLSR interfaces. To avoid duplicated packets the data is carried into OBAMP_DATA messages, that are identified by a sequence number, and the OBAMP source node where the traffic has been encapsulated.

In the figure black links represent real radio links, and red links represent overlay mesh links (udp tunnels). Router 1 2 3 and will create a OBAMP cluster, with two mesh links. Router 6 and 7 will create a mesh link between them. Because the mesh_create algorithm does not create a mesh link between the two clusters, the router 6 (supposing it has the smallest IP address in the mesh) will create an outer tree link with Router 3.

So please download the code and use it . If you find bugs please report them to Saverio and in the Sourceforge tracker here:

Thanks for this great result of the summer. Special thanks also to Nino from who was the mentor for this projet.



Wireless Freifunk Community Weekend Video Highlights from 2008

Another great series of interviews I filmed with Saverio from during the Wireless Community Weekend. Interviews with core contributors to the global Freifunk community:

* Kloschi from Leipzig about the future of Freifunk

* Bruno about the Horst tool developer

* Elektra from Berlin about the B.A.T.M.A.N. routing protocol and the goals of the developers.

Wireless Community Weekend 2008 Highlights from Saverio Proto on Vimeo.



Freifunk & Ninux Video – Coproduction from the Archives

I just found an interview that I filmed during the Wireless Community Weekend 2008 online. The interview was done by Saverio from with Kloschi and Tetzlav from Leipzig and gives us a few insights where Freifunk is heading. Enjoy!

Wireless Community Weekend 2008: Interview with kloschi at C-Base Berlin from Saverio Proto on Vimeo.

Status of Service Discovery for Freimap development

An update on one of our Google summer of code projects: Service Discovery for Freimap. Stefano Pilla from is working on the project. We have widened the project a bit. He is now also working on porting freimap to IDE like
Netbeans. This will make it easier in the future to implement new graphic map views.

Service Discovery works fine and at the moment Stefano is testing a prototype and working already on documentation. During the project he got in touch with the creator of JmDNS, Rick Blair. JmDNS is an implementation of mdns for Java. He also started an exchange with the creator of JXMapKit
(SwingLabs – Josh) that is the new kind of map for freimap that we want
to use with Openstreetmap.

screenshot of the "new freimap"

An important mentor for this project is Alx Morlang from Freifunk in Berlin. Thank you! And our friends from Ninux namely – Saverio, Claudio and all of the team. Service Discovery will be tested first in the freifunk ninux network in Rome during the upcoming weeks with mdns.

screenshot of the "new freimap"

Interview with Free Wireless Evangelists from the Italian Ninux Community and the Freifunk Community in Germany

Saverio from the Italian Ninux community has now published a video interview Daniel Paufler and I conducted with them at the Wireless Community Weekend in Berlin. Thank you very much for the great montaggio! It is real fun to watch!

Interview to Ninux and Freifunk members at WCW2008 from Saverio Proto on Vimeo.

Direct Link:

In Berlin, at C-Base, people from wireless communities all around
Europe meet to share ideas and experiences. See this interview by Mario
Behling with free networks activists from and

Freifunk Wireless Community Weekend 2008 – Thank you!

The Freifunk Wireless Community Weekend 2008 is over. I had a fantastic time meeting so many people pushing the idea of free networks to new hights. The interest in free wireless was overwhelming and we probably had more than double the number of the 51 visitors who put their names on the participants list. Many developers were taking part. We saw presentations about OpenWRT, B.A.T.M.A.N., the HorstTool, mikroFM, OpenHardware and the Luci-Interface for Freifunk networks. Receiving questions about "free networks and the implications of the law" regularly, we were extremely pleased that Reto Mantz recently published a doctoral thesis about this subject and held a presentation at the WCW (slides now available).

Besides German communities we were very happy to meet many friends from other countries like from Catalunia, Spain, Sergey Yugov from Russia, Jesper Svarre with 28 people from Denmark and our friends from the Rome community

Together with the help of Italian and German Freifunkers Saverio and me made tons of interviews. Be sure it will not take two years this time to see them online 😉 Get a little taste of the WCW2008 with the first of a series of videos already published by our Italian friends.

Per ora vi lascio con questo breve video, che mostra qualche immagine
della domenicale del Wireless Community Weekend. Molto presto verranno
pubblicate le interviste. (

Direct Link: