Free Community Networks in Catalonia with Guifi.net

Ramon Roca from Guifi.net talking to ARTE-TV.

Thanks to Elektra for the translation.

Gurb in Spain
1002 km to Brussels

Ramon: The NSA scandal almost makes us laugh I have founded Guifi.net so we can build broadband internet access ourselves.

Voiceover: Here in the middle of the catalan nowhere a digital revolution started 10 years ago.

Ramon and his neighbors have build their own broadband internet because the big commercial providers had no interest in providing access to the village and its vicinity. Today, Guifi.net is one of the greatest altenative networks in the world.

Ramon: I want to show you where the cables merge together. Right here. This rack is the equivalent of a telephone switchboard in a village. It is a bit dirty because this shag actually belongs to my garden. What it can do is impressing. I can’t say it precisely, but these are the routers of 5000 households.

Overdub: In a Freifunk-Network the participants are networking among each other and not via Internet providers. They can directly share data with each other, chat, write e-mails. A decentralized network that the users control themselves.
Thereby their data is secured from access by third parties. Meanwhile, the Internet-Guerilla are able to roll out their own fiberline network. Today, Ramons colleagues are working since 3 AM. We all know that the government operates slowly.
We can’t wait until laws are solving all our problems.

In our case this also comfortable for us: With regards to communication, we can do or not do whatever we like.

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: https://lists.funkfeuer.at/mailman/listinfo/interop-dev
 
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 (map.ninux.org). 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 (sourceforge.net/projects/wnmap/), powered by django, released under GPLv3 and tested inside the Ninux wireless community network (wiki.ninux.org). How to install: A basic guide on how to setup nodeshot for your community is available here: wiki.ninux.org/InstallNodeshot
 
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. 
 

Freifunk Application for Google Summer of Code

Some fantastic work was done during the last days working with some great folks to get an application for freifunk networks for the Google Summer of Code out. Our goal is to get new students excited about the idea of free networks and to join us in the development process and contribute code. We have formed an international group to get this application done. Besides talking to our developers in Germany I have been busily speaking to ninux.org from Italy, guifi.net from Spain and France Wireless in order to recruit our most talented and active developers as mentors for the programme. Not everyone was able to give me a "yes" yet, but we have formed a great team to start off and we are happy to welcome even more prospective mentors from other free wireless networks from around the world.

Our starting team of mentors is:

  • Sven-Ola Tücke (http://ff-firmware.sf.net, Freifunk Firmware)
  • Alexander Morlang (Alx, p2p in freifunk networks, Fraunhofer, Germany)
  • Thomas Hirsch (freimap, Fraunhofer, Germany)
  • Felix Fietkau (OpenWRT, Europe)
  • Frithjof Hammer (Freifunk BNO, Germany)
  • Harald Schioeberg (t-labs, Germany)
  • Ramon Navarro Bosch (Guifi.net, Spain, former GSoC Plone student)
  • Xavi Martinez (Guifi.net, Spain)
  • Aaron Kaplan (OLSR.org, Austria)
  • Francesco Saverio Proto (ninux.org, Italy)
  • Mikolas Bingemer (Freifunk-Hannover.de, Germany, head of Software development of medium sized enterprise)
  • Jo-Philipp Wich (leipzig.freifunk.net, Freifunk Leipzig Firmware, Germany)
  • Andrea Detti is full researcher and adjoined Professor at the School of Telecommunications Engineering of the University of Rome "Tor Vergata" (Italy)

The backup organization administrator is Mario Behling (me), (Freifunkblog, perspektive89.com, Germany)

My idea is that we would have mentors for students who would maybe even be able to meet them locally. As we find already more than 170 free wireless communities worldwide on the global freifunk newswire, there is a chance we could do this in a lot of cases.

Freifunk serves as an umbrella for all the local projects here. We use the Freifunk-Wiki for our coordination. We started to collect ideas for possible student projects here already as well. Currently there are:

  • Multimedia Streaming in Mesh Networks / Porting Obamp to C++
  • Passive + Active Measurement in Mesh Networks / Porting OpenIMP probes to OpenWRT
  • Traffic Flow Visualization / IPFIX DataSource for freimap
  • Mesh Node Status Monitoring / SNMP DataSource for freimap
  • Service Discovery in Mesh Networks / Avahi DataSource for freimap
  • Service Control Module for freimap
  • Topology visualization / B.A.T.M.A.N and olsrd routing decision recovery for freimap
  • Database output for freimap
  • Antenna placement information elements in freifunk map data
  • Search in Wireless Mesh Networks – Yacy
  • Search in Wireless Mesh Networks – Nutch/Lucene
  • Peer-to-peer file sharing applications in Wireless Mesh Networks
  • Developing a Freifunk Theme for CMS
  • VoIP phoning in Freifunk Mesh Networks
  • Porting Freifunk to EeePC
  • Freifunk Webinterface for OpenWrt Kamikaze
  • more ideas are welcome…

After the application of Freifunk is accepted, prospective students have two weeks to apply at the summer of code programme. We hope our application will be accepted and we will soon see new
students contributing to the code base of our projects. We are looking forward to have students participating on an ongoing basis in the free wireless freifunk
networks all over the world.