[lime-dev] Improvement on Libre-Mesh at HackErasmus #2

Gioacchino Mazzurco gio at eigenlab.org
Tue Feb 25 22:37:25 UTC 2014

The past week I was in Garraf at La Responsable together with Al to work on 
libre-mesh, here I'll do a little report of the work done:

First of all my attention was dedicated to complete stabilize and merge into 
develop, wireless mode modularization (branch features/modes-modularization), 
wireless modes supported were implemented directly in wireless core file and 
didn't support adding of new wireless level configuration modules, so if 
someone would for example implement support for 802.11s ¹ in libre-mesh had to 
edit core wireless configuration files, while now he can just implement a mode 
module, writing very little number of line of code and without the risc of 
breaking the libre-mesh core.

Then guided by testing and features requests emerged talking with Al about 
emerging communities needs, we decided moving on the following:

First I had to change some default values that was giving trouble for example 
the channel 60 is DFS then radios had some difficult waking up we moved to 
channel 48 as default that doesn't give such troubles.

Then because we had some cheap device around we tried to flash them with libre-
mesh but the image was too big, so andother pass of modularization was needed, 
this time I have splitted protocols support in defferents packages, so for 
example cheap battery nodes can ship just batman-adv or just bmx6 according to 
user needs, also debug tools were removed form lime-system depends and 
splitted to lime-debug tools, so we can install them just when needed and when 
them fits.

This new rounds of modularizations evidenced some bad abits in the code like 
using a global uci cursor and stuff like that, all things that were fixed before 
merge in develop ( more detalis on features/onadiet branch )

The new possibility of having a hybrid mesh of nodes having L2+L3 or L2 only 
support suggested the needs of having bmx6 take advantage also of L2 only 
piece of mesh so in the branch features/bmx6_over_batman the autoconfiguration 
module doing this was implemented and then merged into develop

The rest of time was used to debug why bmx6 wasn't working as expected that 
resulted in the discovery that older bmx6 version are working as expected 
while newer manifest a bug already reported on this mailing list, plus enjoing 
life :)

While waiting fore the dealyed aircraft i was thinking to some odd output of 
ps command missing dnsmasq then now i have tested and DHCPv4 is not working 
thanks to libre-mesh new modular nature debug of this part will be easier and 
hopefully done in following days!

Thanks to La Responsable for ospitality and fun time together!!

[¹] http://en.wikipedia.org/wiki/IEEE_802.11s

More information about the lime-dev mailing list