Project

General

Profile

News

Open-Mesh: Google Summer of Code 2012

Added by Simon Wunderlich almost 12 years ago

the student application period for the Google Summer of Code 2012 has opened.
A chance for any student to get their hands dirty on their favorite OpenSource
project and getting its development process and code base to know better
during these 2 months - while getting payed for it!

As last year, B.A.T.M.A.N. tasks will be done as part of the freifunk project,
which again will serve as an umbrella organization for various projects dealing
with wireless mesh networks.

If you are interested in mesh networking and B.A.T.M.A.N. and if you also love
OpenSource software and would like to become a more firm part of it, then please
apply on fore freifunk:

https://www.google-melange.com/document/show/gsoc_program/google/gsoc2012/timeline

and get in touch with us via mailinglist and/or IRC. So far the following ideas
have been collected which you may apply for:

https://wiki.freifunk.net/Ideas#B.A.T.M.A.N.

But feel free to tell us your own suggestions and ideas, too.

*****                                                 ****
*** Student application deadline is the 6th of April!! ***
****                                                 *****

Happy routing,

The B.A.T.M.A.N. team

Open-Mesh: Batman-adv powers Game of Life

Added by Simon Wunderlich about 12 years ago

We all love our blinking routers when they happily exchange our data. One of the things we have definitely not thought of while designing batman-adv: These LEDs can even have a higher meaning! Sean McIntyre and Jonathan Kiritharan created this nice Conway’s Game of Life implementation on 8 routers based on OpenWrt and batman-adv. Enjoy this fine art project!

More details, source code and a video can be found on the project page: http://www.boxysean.com/portfolio/mesh4lyfe/
(BTW, also Hack A Day featured this project: https://hackaday.com/2012/02/04/using-routers-as-displays/ )

Thanks for this wonderful hack!

Open-Mesh: Batman-adv 2012.0.0 released

Added by Marek Lindner about 12 years ago

Today the B.A.T.M.A.N. team releases its latest edition, 2012.0.0, containing a series of stabilization changes and bug fixes. This release does not introduce any new features and uniquely focuses on stability. As the kernel module always depends on the Linux kernel it was compiled against, it does not make sense to provide binaries on our website. As usual, you will find the signed tarballs in our download section:

https://downloads.open-mesh.org/batman/releases/batman-adv-2012.0.0/

as well as prepackaged binaries in your distribution.

Thanks

Thanks to all people sending in patches:

and to all those that supported us with good advice or rigorous testing:

batman-adv

The gateway handling code was refactored as it became nearly impossible to understand the various gateway handling cases that were added over time. Also refactored was the TT handling code and a common subtype for locally and globally announced mac addresses was introduced. All told, the TT code was thoroughly reviewed leading to numerous fixes: When adding a tt entry to the hash failed its memory is properly freed. Globally roaming clients are now clearly marked as such. The length of a TT packet is compared with the length the packet claims to have, thereby avoiding memory corruptions. The expensive packet linearize function is called only when absolutely necessary.
We also were in the lucky position of getting a security audit from Paul Kot who did find a possible memory corruption in the batman socket reading code (CVE-2011-4604). However, since there is no way to exploit it, according to the reporter, we judged the risk to be low. Obviously, the fix for this corruption is part of the release. Also fixed was a kernel freeze when the bat0 interface could not be created.

batctl

The log level parameter parser was fixed, so that it now correctly exits after receiving an invalid option as well as correctly handles the 'all' log level option.

Happy routing,

The B.A.T.M.A.N. team

Open-Mesh: WirelessBattleMeshv5 Announcement

Added by Marek Lindner about 12 years ago

The WirelessBattleMeshv5 announcement came in and we would like to invite you to join us in Athens / Greece! Once more, wireless communities / enthusiasts / developers are expected to attend the annual gathering. As usual we (the people behind the B.A.T.M.A.N. project) are going to use the opportunity to enjoy a full week with wireless hackers to discuss & develop on the latest hot new stuff. Details about the event's registration / locations / costs can be found in the announcement text below.


==========================================================
      Announcing the Wireless Battle Mesh v5
   (26th of March - 1st of April 2012, Athens, Greece)
==========================================================

The next 'Wireless Battle of the Mesh' will take place from
Mon 26th till Sun 1st of Arpil in the center of Athens 
(close to the acropolis), Greece. The event aims to
bring together people from across the Globe to test the
performance of different routing protocols for ad-hoc
networks, like Babel, B.A.T.M.A.N., BMX, and OLSR.

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:
http://battlemesh.org/BattleMeshV5

Location
========

The (optional) WBMv5 Warmup event takes place in Sarantaporo 
(rural area in range of the Olympus mountain). The main 
event  happens at the National Technical University of 
Athens (NTUA) in the very center of Athens.

Registration
============

Registrations will be available at different hackerspaces
(Fusolab, HSBXL, /tmp/lab, metalab, CCC, ...) and on the
official website for the event at:
 - http://battlemesh.org/BattleMeshV5_Warmup
 - http://battlemesh.org/BattleMeshV5

Fees
====

The warmup requires a small fee to cover the transportation 
costs to Sarantaporo. The main event is free of charge. We
offer the possibility to reserve a low-cost bed close to the
NTUA for you.

Spread the word
===============

Feel free to spread the word by forwarding this mail to all
lists / people that might be interested in it. Also blogging
about the event is more than welcome!

Contact
=======

* Web: 
 - http://battlemesh.org/BattleMeshV5_Warmup
 - http://battlemesh.org/BattleMeshV5
* Email: http://ml.ninux.org/mailman/listinfo/battlemesh
* IRC: irc.freenode.net #wbmv5

Open-Mesh: Batman-adv 2011.4.0 released

Added by Marek Lindner over 12 years ago

The B.A.T.M.A.N. team is proud to announce its final milestone in 2011, 2011.4.0, concentrating on the stabilization & bug fixing of the recent protocol changes and adding some smaller features . As the kernel module always depends on the Linux kernel it was compiled against, it does not make sense to provide binaries on our website. As usual, you will find the signed tarballs in our download section:

https://downloads.open-mesh.org/batman/releases/batman-adv-2011.4.0/

as well as prepackaged binaries in your distribution.

Thanks

Thanks to all people sending in patches:

and to all those that supported us with good advice or rigorous testing:

batman-adv

Above all, the 2011.4.0 milestone centers around polishing the protocol changes introduced with the previous release. Non-mesh clients connected via a wireless interface are marked as such. This information is then propagated in the mesh on top of the new non-mesh client infrastructure and can be used to prevent mesh wide wireless client to wireless client communication (on standard WiFi AccessPoints this feature is known as 'AP isolation'). The non-mesh client status flags (new/delete/purge/roaming/wireless) are exported to user space as part of the translation table output to allow following a client's status closely.
The coming releases will be escorted by a stepwise inclusion of an improved version of our routing algorithm. It will be possible to switch between the current protocol and the new protocol at runtime in order to make testing as easy as possible. This first stage prepared the existing routing algorithm code for the upcoming feature for switching routing protocols. No changes to the routing code behavior have been included.
A couple of translation table bugs have been squashed: memory leaks in the translation table, wrong initialization of ethernet addresses of translation table entries and a kernel crash on module unload. Numerous spelling mistakes in the source code comments were corrected.

batctl

batctl received an option to turn on/off the aforementioned mesh wide AP isolation. When called with '-v' batctl will not only print its own version but also the batman-adv kernel module version (requires the module to be loaded). The log level section was rewritten, so that it now expects human readable log level definitions instead of digits and bitmasks. Also fixed was the mangled tcpdump output of the CRC value in translation table exchange packets.

Happy routing,

The B.A.T.M.A.N. team

Open-Mesh: Batman-adv-2011.3.1 released

Added by Antonio Quartulli over 12 years ago

Today, the B.A.T.M.A.N. team releases an update for the 2011.3.0 release which corrects small but crucial bugs introduced within the last release. This is a pure bug fix release without any new features or protocol modifications. Everyone is strongly encouraged to upgrade to this version. As the kernel module always depends on the Linux kernel it was compiled against, it does not make sense to provide binaries on our website. As usual, you will find the signed tarballs in our download section:

https://downloads.open-mesh.org/batman/releases/batman-adv-2011.3.1/

as well as prepackaged binaries in your distribution.

Thanks

Thanks to all people sending in patches:

Special thanks go to:

  • TY Wu for isolating / debugging the packet latency bug
  • Junkeun Song for his help and ideas to find the translation table bugs
  • Laurent Bouraoui for his help in debugging the translation table bugs and testing the related patches
  • Marek Lindner for debugging support and suggestions

batman-adv

The high latency (4-5 times higher than usual) that could be observed when the gateway mode was activated because batman-adv broadcasted all packets instead of sending them via unicast, was fixed. The reported issues with non-mesh clients communicating with other clients have been addressed too: The translation tables were corrupted caused by uninitialized memory and invalid table sizes sent through client announcement mechanism.

batctl

batctl remains unchanged.

Happy routing,

The B.A.T.M.A.N. team

Open-Mesh: New outfit for B.A.T.M.A.N.

Added by Marek Lindner over 12 years ago

In the early days of the bat, when it just learned flying, a nice "ASCII art" logo was designed to give the project a face. Since then much has changed and we felt it was time to make the logo reflect this new era. With the website relaunch we kept the pages "logo free" until we got something new. Fortunately, Simon Wunderlich took over this task, proposed several logo variations and asked for feedback. Franz Boehm converted the favored logo to SVG as soon as a decision was made.

Here it is:

The new logo already found its way onto the website and can also be downloaded from the wiki. Several people already asked for fan articles such as t-shirts, cups, mouse pads, etc. We are going to publish updates on those articles when they become available.

Happy routing,

The B.A.T.M.A.N. team

Open-Mesh: Batman-adv 2011.3.0 released

Added by Marek Lindner over 12 years ago

The B.A.T.M.A.N. team is delighted to announce its latest release, 2011.3.0, introducing major protocol changes for better roaming of non-mesh clients, gateway convenience features and a pile of bug fixes & code stability changes. As the kernel module always depends on the Linux kernel it was compiled against, it does not make sense to provide binaries on our website. As usual, you will find the signed tarballs in our download section:

https://downloads.open-mesh.org/batman/releases/batman-adv-2011.3.0/

as well as prepackaged binaries in your distribution.

Important changes

The extensive work on roaming improvements for non-mesh clients led to a protocol change which breaks backward compatibility. Be sure to update all your mesh network participants to the latest version to avoid orphan nodes.
Furthermore, a change in the networking infrastructure of the Linux kernel made us drop the support of Linux kernels older than 2.6.29. Maintaining compatibility would be an uphill battle while not being worthwhile for us as a Linux kernel project.

Thanks

Thanks to all people sending in patches:

and to all those that supported us with good advice or rigorous testing:

batman-adv

This release comes with a redesign of one of the oldest code segments / concepts in batman-adv: the non-mesh client announcement mechanism. When batman-adv detects a non-mesh client it automatically starts announcing the client's mac address in the mesh network to make the mesh aware of the client's location. The new protocol extension mainly deals with the optimal handling and propagation of these client position packets. Major benefits include: Only changes (client arriving or leaving) are propagated in the mesh, thereby reducing the protocol overhead; traffic redirection when a client roams from one mesh node to the next until the mesh network has converged to reduce the packet loss while roaming; extensible packet format to construct more features on top of it.
In addition, batman-adv gained support for informing the user space about events via uevent (a long-standing feature request). The gateway subsystem is the first to make use of it by sending signals when a new gateway has been selected / selected gateway has been changed / the selected gateway has been removed. Also, when enabled the gateway subsystem will filter out incoming DHCP renewal requests if they are not targeted at a high quality gateway to force the client to switch to the best available gateway.
The routing algorithm received a minor tweaking which make it accept delayed OGM rebroadcasts to avoid bogus routing under heavy load. A bug hindering the correct broadcast of OGM packets if interfaces were added & removed in a particular order was fixed. A similar problem affecting the OGM aggregation was eliminated too. The many smaller bug fixes and code stability improvements make this release a well-rounded package.

batctl

The Makefile received major attention and various cleanups to make packaging of batctl easier. tcpdump was updated, so that it can analyze the new tt & roaming packets and was extended by a new option to filter all packets except the specified types. An additional debug level for all client announcement related information was added too. A pair of small bugs was squashed along the way: bisect did not properly initialize a variable which led to a compile time warning and a potential memory leak in the bat-hosts parser fixed.

Happy routing,

The B.A.T.M.A.N. team

Open-Mesh: The first steps towards Network Coding

Added by Marek Lindner over 12 years ago

Early 2011 we were approached by 2 Danish students who were intrigued by the idea of implementing & exploring a concept called "Network Coding". A technique aiming at an increase of the WiFi throughput by aggregating multiple frames into a single frame, thus reducing the needed air time. With the help of mathematical calculations and some additional magic the receiving nodes would be able to decode & extract the frame they are interested in.

In the example illustrated below, the repeater R can save one transmission by sending the combined messages of A and B. A and B can calculate the message they want to receive by subtracting their own sent message.

Later in March the students joined the WirelessBattleMesh in Spain and gave a short introduction talk about their project which they named "C.A.T.W.O.M.A.N." (Coding Applied To Wireless On Mobile Ad-hoc Networks). The recorded talk discusses the mechanisms and benefits of Network Coding and should provide a good starting point to understand what this is all about.

Meanwhile they have continued working on the code and developed a first prototype which allowed gathering data about whether or not the concept brings benefits in the real world. The following graphs illustrates the throughput in kb/s with and without network coding (blue and greenline respectively) as well as the throughput gain (red line) achieved by network coding on a chain of 3 routers with clients attached to each end:

As the entire project was to become their master thesis it comes with an excellent documentation explaining every last detail of how it works and resulting performance analyses.

Their Network Coding enabled batman-adv code can is available on github for further testing / studies (it is based on a snapshot taken in early 2011). In the weeks / months to come we are going to polish the code until it can be officially merged with the Linux kernel code. [update] Meanwhile the Network Coding project and its code has moved to git.open-mesh.org (catwoman branch), was rebased on the current master and further improved. An OpenWrt integration was also added to make testing easier. [/update] This should enable all interested parties to further test & extend the Network Coding concept.

Happy routing,

The B.A.T.M.A.N. team

Open-Mesh: Google Summer of Code 2011 - status update

Added by Marek Lindner over 12 years ago

As announced earlier this year the B.A.T.M.A.N. project participated in the GSoC 2011 amongst other organizations under the Freifunk umbrella. We were granted two slots which we filled with interesting project proposals. Both students have started working on their project a couple of weeks ago. We asked each of them to introduce themselves and speak about their project goals:

Hello everybody, I'm Antonio Quartulli from Brindisi, Italy (usually 
UTC+1). I am 24 years old and I'm currently attending the second year 
of the Master's Course in Computer Science at the University of Trento 
(Italy). I'm specializing in "Systems & Networks" (that's the name of 
my current specialization :-) ) and I should get awarded at the end of 
September.

I entered the Wifi Mesh Network world about one year ago when I 
started to study for the "Nomadic Communication" university course. 
Later I participated to the WirelessBattleMeshv3 in Bracciano (Rome - 
Italy) and there I had the possibility to meet various people which 
work on mesh networking and on several open-source routing protocols. 
Getting in touch with the community has been the first step which 
convinced me to deepen this field and B.A.T.M.A.N.-Adv was the
protocol which most attracted me. 

I've been around in the B.A.T.M.A.N.-Adv community for about one year 
and this gave me the possibility to understand the protocol and the 
details behind it (of course I still have to learn A LOT!!).

Several ideas have been presented in the last period which are meant
to bring improvements and new feature to the protocol. Most of those 
are only concepts and still need an implementation so I did a step 
forward and decided to apply for a student slot in the Freifunk 
organization.

This is my first GSoC experience and I am really happy to participate 
as student. My project concerns B.A.T.M.A.N.-Advanced, a mesh network
routing protocol, and the ARP request/response mechanism.

Basically, before starting the first IP communication, every host in 
the network needs to retrieve the destination Layer-2 address and this 
operation is executed by means of broadcast messages. It is easy to 
understand that in medium/large networks this could lead to high delay 
due to packet losses, so delaying the IP communication.

Here comes the idea of using a Distributed Hash Table to store Layer-2
addresses in the network: nodes will not need to use broadcast packets
anymore, instead they can use unicast packets to reach the node which 
is known to store the requested information in the DHT.

More details and up-to-date news are available on this page:
https://www.open-mesh.org/projects/batman-adv/wiki/DistributedArpTable

Stay tuned :-)
Hi folks,

I am Linus Luessing from Luebeck (ok, some 'L's too many, but not 
necessarily my fault ;) ), a city in Northern Germany at the Baltic 
Sea. I am 23 years old and currently a Bachelor's degree student in 
Computer Science - which actually did not involve any mesh networking
so far at all. However I've been fascinated of the Freifunk idea since 
I first heard of it.

Therefore I got in touch with B.A.T.M.A.N., especially the kernel 
module B.A.T.M.A.N. Advanced, about three years ago where we have 
been playing a little with this kind of new technology and 
implementations and trying to guess what kind of weird stuff this 
tricky wifi layer was doing. And it was also a very vibrant impression 
of being somehow involved in an Open Source Software Project for the 
first time. I was quite astonished about the direct, personal support 
and open way of sharing experiences and giving feedback.

During the last years I got more and more addicted to this and also 
tried to join several events, like the Chaos Communication Congress,
the Wireless Battle Mesh or the Chemnitzer Linuxtage. For a lot of 
new, conceptual ideas it was just more feasible to chat about it 
face-to-face. And there were a lot of ideas in this still kind of new, 
experimental field :).

It has been much fun so far and it is a great opportunity and an 
honour to be able to make some more of these ideas a reality during 
the Google Summer Of Code 2011 and to contribute to the Linux 
kernel, meshing, the community and Open Source Software in general.

During the GSoC 2011 I am working on some modularization of the core
routing protocol, splitting the OGM protocol as known of BATMAN IV
into an ELP (Echo Location Protocol, responsible for link, one hop 
tasks), OGM (will be responsible for the routing between nodes only, 
without the knowledge of separate links underneath) and a new MGO 
protocol (Message Guided towards Originator, a mechanism to be able
to recover from sudden path degradation quicker) in BATMAN V.

The protocol specs (work in progress!) can be found here:
https://www.open-mesh.org/projects/batman-adv/wiki/ELP
https://www.open-mesh.org/projects/batman-adv/wiki/OGM

Let's make the world a better place, bit by bit :).

Cheers, Linus

Happy routing,

The B.A.T.M.A.N. team

(81-90/115)

Also available in: Atom