Download B.A.T.M.A.N.

We are currently working on different branches. To get the details about the differences of these branches, see our Branches Explained page.

Please use the maint branch for your public infrastructure unless you know exactly what you are doing and are prepared for the big unknown.

Download Released Source Code

If you are wondering whether batman-adv or batmand might suit your setup better, have a look at this page. Please note that the development is focusing on batman-adv at the moment.

To download previous release tarballs, simply check out our download section.

If you find any bugs, please let us know!

Git Repository Access

Since we started integrating the batman-adv kernel module into the mainline Linux tree, we maintain a git repository which contains the batman-adv maintenance branches. More information can be found on our git page.
On overview about all the git repositories can be found on our git frontend. We also host individual repositories for development related to batman or meshing in general. Feel free to contact us if you are interested in getting a repository too.

batman-adv in the Linux tree

Since linux 2.6.33 batman-adv is part of the official linux tree. You can build batman-adv along with your linux binary by simply selecting batman-adv in the Linux drivers section. If you use an older kernel or want to have access to the latest features you can checkout our git repository which still are backward compatible until 2.6.29.

It follows an overview of linux versions and the batman-adv version they contain, so that you can easily pick the compatible batctl packages:
  • linux 2.6.33 => batman-adv 0.2.0 (get batctl 0.2.0 from here)
  • linux 2.6.34 => batman-adv 0.2.1 (get batctl 0.2.1 from here)
  • linux 2.6.35 => batman-adv 2010.0.x (get batctl 2010.0.x from here)
  • linux 2.6.36 => batman-adv 2010.1.x (get batctl 2010.1.x from here)
  • linux 2.6.37 => batman-adv 2010.2.x (get batctl 2010.2.x from here)
  • linux 2.6.38 => batman-adv 2011.0.x (get batctl 2011.0.x from here)
  • linux 2.6.39 => batman-adv 2011.1.x (get batctl 2011.1.x from here)
  • linux 3.0 => batman-adv 2011.2.x (get batctl 2011.2.x from here)
  • linux 3.1 => batman-adv 2011.3.x (get batctl 2011.3.x from here)
  • linux 3.2 => batman-adv 2011.4.x (get batctl 2011.4.x from here)
  • linux 3.3 => batman-adv 2012.0.x (get batctl 2012.0.x from here)
  • linux 3.4 => batman-adv 2012.1.x (get batctl 2012.1.x from here)
  • linux 3.5 => batman-adv 2012.2.x (get batctl 2012.2.x from here)
  • linux 3.6 => batman-adv 2012.3.x (get batctl 2012.3.x from here)
  • linux 3.7 => batman-adv 2012.4.x (get batctl 2012.4.x from here)
  • linux 3.8 => batman-adv 2013.0.x (get batctl 2013.0.x from here)
  • linux 3.9 => batman-adv 2013.1.x (get batctl 2013.1.x from here)
  • linux 3.10 => batman-adv 2013.2.x (get batctl 2013.2.x from here)
  • linux 3.11 => batman-adv 2013.3.x (get batctl 2013.3.x from here)
  • linux 3.12 => batman-adv 2013.4.x (get batctl 2013.4.x from here)
  • linux 3.13 => batman-adv 2014.0.x (get batctl 2014.0.x from here) NOTE: in-kernel version number is 2013.5.0
  • linux 3.14 => batman-adv 2014.1.x (get batctl 2014.1.x from here)
  • linux 3.15 => batman-adv 2014.2.x (get batctl 2014.2.x from here)
  • linux 3.16 => batman-adv 2014.3.x (get batctl 2014.3.x from here)
  • linux 3.17-3.19 => batman-adv 2014.4.x (get batctl 2014.4.x from here)
  • linux 4.0-4.1 => batman-adv 2015.0 (get batctl 2015.0 from here
  • linux 4.2-4.3 => batman-adv 2015.1 (get batctl 2015.1 from here)
  • linux 4.4 => batman-adv 2015.2 (get batctl 2015.2 from here)
  • linux 4.5 => batman-adv 2016.0 (get batctl 2016.0 from here)
  • linux 4.6 => batman-adv 2016.1 (get batctl 2016.1 from here)
  • linux 4.7 => batman-adv 2016.2 (get batctl 2016.2 from here)
  • linux 4.8 => batman-adv 2016.3 (get batctl 2016.3 from here)
  • linux 4.9 => batman-adv 2016.4 (get batctl 2016.4 from here)
  • linux 4.10 => batman-adv 2016.5 (get batctl 2016.5 from here)
  • linux 4.11 => batman-adv 2017.0.1 (get batctl 2017.0 from here)
  • linux 4.12 => batman-adv 2017.1 (get batctl 2017.1 from here)
  • linux 4.13 => batman-adv 2017.2 (get batctl 2017.2 from here)
  • linux 4.14 => batman-adv 2017.3 (get batctl 2017.3 from here)
  • linux 4.15 => batman-adv 2017.4 (get batctl 2017.4 from here)
  • linux 4.16 => batman-adv 2018.0 (get batctl 2018.0 from here)

Arch Linux

Batman-adv and Batctl are avaible in the AUR as PKGBUILD:


Use apt-get (or any other dpkg frontend of choice) to install B.A.T.M.A.N. onto your debian machine. Following packages are available:
  • alfred - batctl 2015.2
  • batmand - batman 0.3.2
  • batctl - batctl 2015.2
  • Debian Wheezy and all newer releases come with batman-adv as part of the kernel, no need to re-install the module manually. For squeeze, check:
    • batman-adv-source - batman-advanced kernel 2010.0.0 module source for Debian Squeeze (installable via module-assistant)
    • batman-adv-dkms - batman-advanced kernel module 2010.0.0 dkms package for Debian Squeeze to build new modules dynamically (half-automatic)
  • linux - batman-advanced kernel module as part of the official kernel packages

Similar packages are also available through Ubuntu universe .


Use emerge to build B.A.T.M.A.N. on your gentoo machine. Following ebuilds are available:


Building OpenWRT packages

B.A.T.M.A.N. is also included in OpenWRT as a package. Download the extra package feed, link the batman folder into your main OpenWRT svn directory and use "make menuconfig" to select the B.A.T.M.A.N. flavor you intend to use. This enables you to integrate B.A.T.M.A.N. seamlessly into your builds (see this page for a detailed explanation).

More information about how to build the OpenWRT toolchain is available here.