I am looking at the possibility of using babel over an 802.11N wireless network 
for one of our systems. 
The system consists of a number of portable devices, one acting as a 
webserver/database server, one or more hand-held smart phones or tablets, and 
10-100 measurement devices - all in the same building. The measurement devices 
would be placed 1-2 metres apart, either in one or two rows or in a loop. The 
server node would be located at an arbitrary position in the same room as the 
measurement devices. The users interact with an application running on the 
central node either through the browser or an application on the hand-held 
device. This network is not necessarily connected to any other network, or the 
www. 


At this point I am not sure whether an infrastructure mode or a mesh network 
would be better suited, so I have been experimenting with babel. The main issue 
with infrastructure mode would be that range could be an issue with only one 
access point. Using a mesh network would address the range issue, at the 
expense of throughput and latency for nodes that could not talk directly to the 
server node. Mesh access points would need to be added so that the hand-held 
devices could communicate with the server node across the mesh. 


Setup: Raspberry Pi, Arch Linux, babel 1.4.0, TP-Link TL-WN721N USB Wi-Fi 
adapter. 
I have created systemd services to bring up wlan0 in ad-hoc mode with an 
appropriate static IPv4 address, and another starts babeld after the wlan0 
interface is up. (Though it is nice to now see that 1.4.2 provides a system 
service and conf template).


I have had some success with a limited number of devices (9-12) in close 
proximity, but recent experiments with more devices (24-30) have caused an 
instability and now I have managed to break the mesh more frequently than I 
have in the past. I have a feeling that I have not configured babel or the wlan 
adapter appropriately for this number of devices, or that I may be running into 
the 802.11 ad-hoc limitations. The routing table appeared to be stable when 
bench testing, with most of the devices having a 1:1 mapping in the routing 
table. 
There is nothing of particular interest in the normal babeld.log. There are 
lines in dmesg of the type "wlan0: failed to move IBSS STA <mac address> to 
state 3 (-105) - keeping it anyway". Other issues appear to be coming up in the 
/var/log/babeld.log as 

"Warning: bucket full, dropping packet to wlan0"
"Warning: bucket full, dropping unicast packet to  
"Interface wlan0 has no link-local address"
"setsocketopt(IPV6_LEAVE_GROUP): Cannot assign requested address" 
"send(unicast): Cannot assign requested address"
"send: Cannot assign requested address"


These particular Wi-Fi adapters support a maximum of 7 connected devices when 
they are used in a soft-access point mode. I imagine the same holds for use in 
ad-hoc mode, though the device appears to be able to connect sequentially to a 
number much larger than this (ping tests, custom python scripts, shell scripts 
using scp or ssh). 


Are there any obvious settings that are required for babel to work in dense 
mesh networks? Would increasing the hello interval reduce the load on the 
network (though babel already appears to have a relatively low overhead). 

 
Regards,
 
JASON PALMER 

 



_______________________________________________
Babel-users mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/babel-users

Reply via email to