qMp (Quick Mesh Project) - Packages: Noticieshttp://dev.qmp.cat/http://dev.qmp.cat/favicon.ico?16699090422014-01-21T12:49:32ZqMp (Quick Mesh Project) and BMX6/BMX7 development site
Redmine Wireless Battle of the Mesh v7http://dev.qmp.cat/news/182014-01-21T12:49:32ZPau Escrichpau@dabax.net
<p><img src="http://battlemesh.org/moin_static196/common/battlemeshv7.png" alt="" /></p>
<p>The "Wireless Battle of the Mesh" is an event that aims to bring<br />together people from across the globe to test the performance of<br />different routing protocols for ad-hoc networks, like Babel,<br />B.A.T.M.A.N., BMX, OLSR, and 802.11s. Of course, new protocols (working<br />on OpenWRT) are always welcome!</p>
<p>This year, version 7 of the event will take place from Monday 12th till<br />Sunday 18th of May at the sublab (<a class="external" href="http://sublab.org/">http://sublab.org/</a>) in Leipzig, Germany.</p>
<p>The qMp team endorses and supports the Battle of the Mesh v7 because of<br />the efforts made by its community to advance the field of wireless mesh<br />networking and foster the development of grassroots community networks.<br />The qMp project will support the event by:</p>
<ul>
<li>coming to the event and convince others to do the same</li>
<li>help to set up the testbed and analyze measurement results</li>
<li>give talks about advancement of our system and it's usage in communities</li>
</ul>
<p>Many other communities endorse and support the Wireless Battle of The<br />Mesh v7, an up to date list of the endorsers of the Battlemesh v7 can be<br />found at the main Battlemesh website: <a class="external" href="http://battlemesh.org">http://battlemesh.org</a>.</p>
<p>Join us!</p> IEEE paper about a QMP deployment in Barcelonahttp://dev.qmp.cat/news/172013-11-04T22:05:52ZPau Escrichpau@dabax.net
<p>A new paper has been accepted and published in the IEEE MWSWIM 2013 conference. <br />It is an analysis about the QMP network deployed in Barcelona (Sants/UPC), taking <br />measures for more than 5 months.</p>
<p>Find the documents here: <a class="external" href="http://dev.qmp.cat/documents/23">http://dev.qmp.cat/documents/23</a></p> New qMp map toolhttp://dev.qmp.cat/news/102013-06-28T13:40:22ZPau Escrichpau@dabax.net
<p>The qMp firmware has a new map agent based on the<br />Altermesh map tools which can be found here [1]. The difference with the<br />one included in qMp (b6m) is that this second one is distributed and<br />altermap is centralized and needs a central server to work.</p>
<p>It is very simple, easy to use and it consumes a very few amount of<br />resources in the node, so I have thought it would be nice to have it in<br />parallel with b6m. For quick deployments where nodes are moving, using<br />it does not have any sense but b6m yes.</p>
<p>To use it you need to have the last qMp version. Once it boots, every<br />hour it will send some information about the node to the central server<br />(which is currently managed by AlterMundi people). Execute<br />"altermap-agent" to force the refresh of the information.</p>
<p>Then the node owner must go to [3], select the qMp.cat network and click<br />the button "Add node". In the field have to be introduced the exact<br />hostname of the node (i.e GSalcolea46-fs), and then pick the map<br />position and you are done!!</p>
<p>I hope you enjoy it!</p>
<p>[1] <a class="external" href="https://bitbucket.org/guidoi/altermesh-packages/">https://bitbucket.org/guidoi/altermesh-packages/</a><br />[2] <a class="external" href="http://map.qmp.cat/altermap">http://map.qmp.cat/altermap</a><br />[3] <a class="external" href="http://map.qmp.cat">http://map.qmp.cat</a></p> qMp visualization toolhttp://dev.qmp.cat/news/92013-02-27T16:29:49ZPau Escrichpau@dabax.net
<p>Dr. Llorenç Cerdà from UPC is studying a mesh network deployed in Barcelona using qMp nodes.<br />He developed a very interessting visualization tool which shows the current state (1h updated) of the network.</p>
<p>It can be consulted from the Internet:<br /><a class="external" href="http://compnet.ac.upc.edu/~llorenc/qmpsantsupc/index.php">http://compnet.ac.upc.edu/~llorenc/qmpsantsupc/index.php</a></p>
<p>And from guifi.net community network:<br /><a class="external" href="http://10.228.205.130">http://10.228.205.130</a></p>
<p>The code is under aGPLv3 and can be found here:<br /><a class="external" href="https://github.com/llorenc/qmpsantsupc">https://github.com/llorenc/qmpsantsupc</a></p> Wireless Battle of the Mesh v6http://dev.qmp.cat/news/82013-02-21T10:41:41ZPau Escrichpau@dabax.net
<p>This year the event will take place from Monday 15th till Sunday 21st of April at the University of Aalborg, Denmark.</p>
<p>We explicitly endorse and support the Battle of the Mesh v6 because of the efforts made by its community to advance the field of wireless mesh networking and foster the development of grassroots community networks. We hope we will be able to share our experience in integrating optical fibre in community networks, customizing OpenWRT firmware, and in participating in international projects.</p>
<p>We will support the WBMv6 by:</p>
<ul>
<li>helping to promote the event</li>
<li>members of qMp have already confirmed their attendance</li>
<li>give talks about advancement of our project</li>
<li>help setting up the firmware and testbed for protocol testing</li>
</ul>
<p>Many other communities and projects endorse and support the Wireless <strong>Battle of The Mesh v6</strong>, an up to date list of the endorsers of the Battlemesh v6 can be found at the main Battlemesh website.</p> GSOC and qMphttp://dev.qmp.cat/news/62012-10-29T11:10:04ZPau Escrichpau@dabax.net
<p style="text-align:center;"> <img src="http://1-ps.googleusercontent.com/x/s.google-melange.appspot.com/www.google-melange.com/soc/content/2-0-20121022/images/gsoc/logo/924x156xbanner-gsoc2012.png.pagespeed.ic.syjCIFiGvO.jpg" alt="" /></p>
<p>In this last Google Summer of Code (2012) a project related with qMp was accepted and funded under to umbrella of the Freifunk organization<sup><a href="#fn0">0</a></sup>.</p>
<p>The GSOC proposal<sup><a href="#fn1">1</a></sup> was sent by Joel Espunya, a computer's student and Guifi.net folk. It was about modify and extend the qMp system to work with the Guifi.net<sup><a href="#fn2">2</a></sup> community network. The Quick Mesh Project is designed to use dynamic mesh protocols like OLSR, BMX6 and Babel. However the Guifi.net community (and also many others) are using BGP<sup><a href="#fn3">3</a></sup>, at least to interconnect the different clouds or zones.The main goal of this project was to add BGP support to our system. When we started doing the working schedule/plan, we realized there were two main points:</p>
<ol>
<li>Write an abstraction layer to execute BGP functions</li>
<li>Find/customize some software to routes exchange (between dynamic protocols and BGP)</li>
</ol>
<a name="First-stage"></a>
<h2 >First stage<a href="#First-stage" class="wiki-anchor">¶</a></h2>
<p>The Quick Mesh Project can be defined as an abstraction layer of OpenWRT which includes many features to make the job easier (web interface, autoconf. system, internet detect, etc.). Right now the core of this abstraction layer is written in shell script. You can execute commands like "qmpcontrol configure_network" to get the network automatically configured according some heuristics and a few configuration placed on "/etc/config/qmp".<br />However, some months ago, qMp developer team decided to rewrite this abstraction layer to LUA<sup><a href="#fn4">4</a></sup>. Why LUA? Because it is a programming language very tiny, optimized and also powerful. We are working in embedded hardware, which can be a 180MHz MIPS with 16MB of RAM and 4MB flash. The LUA interpreter and standard library of OpenWRT only take 90KB. So it fits perfectly in this environment. LUA has also been the choice of LUCI<sup><a href="#fn5">5</a></sup>, and it has a very nice API which can be reused.</p>
<p>Coming back to the GSOC project, instead of writing the BGP functions using Shell Script, we started the new LUA API. Not to develop it completely, but to have the basic features needed by the project. Here<sup><a href="#fn6">6</a></sup> can be found a list of modules and functions of the library. And here<sup><a href="#fn7">7</a></sup> can be found the code implemented. As can be seen there is a quagga module. Quagga<sup><a href="#fn8">8</a></sup> is a software routing suit which includes a BGP daemon. It is a kind of standard suit, most of the current routing protocols have support for it, so all of them can easy exchange routes. At this point we started looking for the best way to use Quagga. Then we entered in the second stage.</p>
<a name="Second-stage"></a>
<h2 >Second stage<a href="#Second-stage" class="wiki-anchor">¶</a></h2>
<p>Quick Mesh Project uses BMX6<sup><a href="#fn9">9</a></sup> as main protocol and OLSR/BABEL/any as secondary (backup). The problem with BMX6 is that it didn't has support for Quagga. Then, instead of doing the routing exchange using some other crappy system, we decided to write a Quagga plugin for BMX6. However, Joel (the student) realized that it was out of his scope. He was not familiar with BMX6 implementation and neither with Quagga. So I (as a mentor) asked Axel Neumann for participate in the project. He was one of the B.A.T.M.A.N developers, and right now the BMX6 main maintainer. He accepted to contribute with us and made a very great job, the code can be found here<sup><a href="#fn10">10</a></sup> and the documentation here<sup><a href="#fn11">11</a></sup>. At the end he received half of the funding.</p>
<a name="Results"></a>
<h2 >Results<a href="#Results" class="wiki-anchor">¶</a></h2>
<p>So, at the end we have the Quagga plugin to automatic routes exchange and the LUA Quagga/BGP API to interact with the qMp system.</p>
<p>Right now (after the GSOC) we are still working on it. We are extending the API also to Network, WiFi, etc. To be used in the next release based on OpenWRT Attitude Adjustment<sup><a href="#fn12">12</a></sup> which will include also BGP support. It will suppose an essential feature for the qMp/Guifi.net integration and also for other network communities.</p>
<p>--</p>
<p>[0] <a class="external" href="http://www.google-melange.com/gsoc/org/google/gsoc2012/freifunk">http://www.google-melange.com/gsoc/org/google/gsoc2012/freifunk</a><br />[1] <a class="external" href="http://www.google-melange.com/gsoc/project/google/gsoc2012/auska1714/6001">http://www.google-melange.com/gsoc/project/google/gsoc2012/auska1714/6001</a><br />[2] <a class="external" href="http://guifi.net">http://guifi.net</a><br />[3] <a class="external" href="http://en.wikipedia.org/wiki/Border_Gateway_Protocol">http://en.wikipedia.org/wiki/Border_Gateway_Protocol</a><br />[4] <a class="external" href="http://www.lua.org">http://www.lua.org</a><br />[5] <a class="external" href="http://luci.subsignal.org">http://luci.subsignal.org</a><br />[6] <a class="external" href="http://qmp.cat/projects/qmp/wiki/Lua_model">http://qmp.cat/projects/qmp/wiki/Lua_model</a><br />[7] <a class="external" href="http://qmp.cat/projects/qmp/repository/revisions/gsoc/show/packages/qmp-small-node/files/etc/qmp/qmplua">http://qmp.cat/projects/qmp/repository/revisions/gsoc/show/packages/qmp-small-node/files/etc/qmp/qmplua</a><br />[8] <a class="external" href="http://www.nongnu.org/quagga">http://www.nongnu.org/quagga</a><br />[9] <a class="external" href="http://bmx6.net">http://bmx6.net</a><br />[10] <a class="external" href="http://www.bmx6.net/projects/bmx6/repository/revisions/master/show/lib/bmx6_quagga">http://www.bmx6.net/projects/bmx6/repository/revisions/master/show/lib/bmx6_quagga</a><br />[11] <a class="external" href="http://www.bmx6.net/projects/bmx6/wiki#Quagga-Plugin">http://www.bmx6.net/projects/bmx6/wiki#Quagga-Plugin</a><br />[12] <a class="external" href="http://qmp.cat/projects/qmp/repository/show?rev=attitude_adjustment">http://qmp.cat/projects/qmp/repository/show?rev=attitude_adjustment</a></p>