[Commotion-dev] SPAN Android App

Hans of Guardian hans at guardianproject.info
Mon Oct 15 19:10:45 UTC 2012


On Oct 15, 2012, at 3:00 PM, Will Hawkins wrote:

> Hi Jeff!
> 
> I am one of the Commotion developers at OTI and focus specifically on
> the mobile side of things. I came over recently from the Naval Research
> Lab where I was working on similar things. Thank you for your work on
> SPAN and your detailed email. I will respond where I have knowledge and
> defer to others where I am ignorant.
> 
> On 10/15/2012 01:34 PM, Robble, Jeff wrote:
>> Hi Hans,
>> 
>> What Android devices does Commotion currently support? I tried it out an
>> my Galaxy Nexus (CDMA) and Galaxy S II (SPH-D710) to no avail.

Getting the device into adhoc mode is the limiting factor.  Currently HTC devices on 2.x are for the most part working well, that's what I developed with.  I also have a Motorola Droid running CM7 working well too.  Samsungs are known to be troublesome, as is Android 4.x


>> Supporting all of the various Android devices and their hardware
>> differences is a major issue. A common framework would be great.
>> Currently SPAN works on devices with Wireless Extensions kernel support.
>> That way we can simply use iwconfig; however, there are some things that
>> iwconfig can't seem to do on Android devices, like set the 802.11 channel.
>> 
>> It seems that Commotion is focusing on OLSR. Is there a reason you went
>> with OLSR and not BATMAN? Serval uses BATMAN I believe. Based on what I
>> read, the main developers behind OLSR came up with BATMAN to address
>> circular routing, network congestion, and performance issues. Yet,
>> OLSR-NG apparently fixed their fisheye feature and now it performs much
>> better than before with less network congestion:
>> http://www.olsr.org/?q=node/13
>> 
>> Ultimately a generic framework for plug-and-play routing protocols would
>> be best. That way people could test and determine which ones are best.
>> Have you guys given any thought to reactive protocols (like AODV) vs.
>> proactive protocols (like OLSR)?
> 
> I will defer to Josh, one of the original Commotion designers who was
> one of those people who helped make the decision to focus on OLSRd.
> However, I can say that one of our goals for the near future is to
> support multiple routing protocols (and even perhaps supporting
> 802.11s). We have looked into BATMAN and that is on our short list of
> protocols that we want to be compatible with.

I'll throw in my two bits here: from what I've heard, OLSR is quicker than BATMAN in reacting to changes, and also handles large meshes better.




>> Serval does a decent job with security; however, it seems that for each
>> device they randomly generate a public/private key pair such that the
>> public key is an IPv4 address they statically assign to that device.
>> While the probability is low that there will be IPv4 address collision
>> in a class C subnet, there is still a possibility, and that doesn't sit
>> right with me. 
> 
> It sounds like what you are describing is similar to their mesh datagram
> protocol. Commotion is actively working with Serval to implement MDP
> into its implementation. Is this what you are describing?
> 
>> SPAN is looking into using tinc
>> (http://www.tinc-vpn.org/) for P2P VPN across the mesh and sharing keys
>> via NFC.
> 
> This looks very interesting. I will definitely investigate further!
> Thanks for the pointer.
> 
>> 
>> SPAN is also looking into supporting iOS. Have the Commotion folks
>> looked into that yet?
> 
> We have "looked" into it but not yet gotten very far. We have iOS
> development expertise in house (me) but have not yet moved forward. If
> you have an architecture in mind I would like to hear about it. If not,
> I would absolutely be interested in brainstorming approaches to mesh
> networking in iOS.
> 
>> 
>> Getting ad-hoc support into the Android framework would be amazing. The
>> root requirement is a no-go for a lot of users. Also, it would be great
>> if an Android app. could simply work over the mesh without needing to be
>> customized against a special mesh API. That's why SPAN came up with a
>> transparent proxy that runs on the device and routes outgoing packets to
>> our mesh service. Of course apps will need an API to get the peer list,
>> etc., but existing "stock" Android apps wouldn't need to change.
> 
> I would be interested in hearing more about this. With the Commotion
> Mesh Tether application running on a mesh network with access to the
> Internet (through HNA), applications "just work". For instance, I can
> fire up the default Android web browser and hop on the Internet without
> needing to know that I am reaching, for example, cnn.com over the mesh.
> Is there a particular problem you were seeing that caused you to
> implement this proxy solution?

To add a couple details to what Will said: When using OLSR on a rooted device, apps do not need to do anything differently because OLSR is using plain old IPv4 (or IPv6 if you want) and the routing is handled in the standard system routing table.  DNS is handled via a plugin and/or hard-coding one manually (i.e. 8.8.8.8).  

Is your proxy solution perhaps related to how BATMAN works? I don't think it would be at all possible to run olsrd without root since it needs to modify the system routing table.  Is it possible to usefully run batmand without root?

.hc



> 
>> 
>> Jeffrey Robble
>> 
>> Software Systems Engineer
>> 
>> The MITRE Corporation (Bedford)
>> 
>> Office: 781.271.2790
>> 
>> 
>> From: Hans of Guardian <hans at guardianproject.info
>> <mailto:hans at guardianproject.info>>
>> Date: Friday, October 12, 2012 8:56 PM
>> To: "m0nk.omg.pwnies at gmail.com <mailto:m0nk.omg.pwnies at gmail.com>"
>> <m0nk.omg.pwnies at gmail.com <mailto:m0nk.omg.pwnies at gmail.com>>
>> Cc: "Robble, Jeff" <jrobble at mitre.org <mailto:jrobble at mitre.org>>, List
>> Commotion Development <commotion-dev at lists.chambana.net
>> <mailto:commotion-dev at lists.chambana.net>>
>> Subject: Re: SPAN Android App
>> 
>> 
>> Spreading the word would be awesome.  And helping us figure out the SPAN
>> code would be great as well.
>> 
>> .hc
>> 
>> On Oct 12, 2012, at 7:36 PM, m0nk wrote:
>> 
>>> That is so incredibly awesome.
>>> 
>>> I'll start digging into the project this weekend, sorry I have not
>>> come across it before.
>>> I'd personally love to be involved and help out with damn near
>>> anything mesh related if it has the ability to reach the populous.  
>>> 
>>> I'll be speaking at ToorCon in San Diego next weekend about meshing
>>> Android and some other conferences later this year.  Please let me
>>> know what can and can not be made "public" from your end…
>>> I started speaking about our specific project, but I have been
>>> focusing my recent talks more on overall concepts, headaches and
>>> technical challenges across the projects that I know of.
>>> 
>>> Thanks for the info… i am sure I will have questions after digging
>>> into the code and project.
>>> 
>>> josh
>>> 
>>> -- 
>>> m0nk
>>> Sent with Sparrow <http://www.sparrowmailapp.com/?sig>
>>> 
>>> On Friday, October 12, 2012 at 5:00 PM, Hans of Guardian wrote:
>>> 
>>>> 
>>>> Hey there,
>>>> 
>>>> I just saw that you posted the SPAN sources, thanks to Teco Boot's
>>>> post to the olsr-dev list. It looks like there is a lot of overlap
>>>> between the SPAN project, and the Commotion project, specifically
>>>> olsrd on Android, and its issues. We're also working with Serval as
>>>> well and are looking to get some more code sharing going on. To start
>>>> with, an android ad-hoc framework to encapsulate all the tricks
>>>> needed to enable adhoc mode for various devices.
>>>> 
>>>> If you're interested in trying the Commotion MeshTether app, you can
>>>> get a test build here:
>>>> https://commotionwireless.net/blog/meshtether-test-release
>>>> 
>>>> and the source is here:
>>>> https://code.commotionwireless.net/projects/commotion-android
>>>> 
>>>> In related news, you'll probably be happy to hear that we've been
>>>> working with some Google engineers on their 20% time to get adhoc
>>>> support into Android. The patch is been submitted to the Android
>>>> gerrit, has been verified by their automated builder, and is just
>>>> waiting for final approval from the Android dev:
>>>> 
>>>> https://android-review.googlesource.com/#/c/43070/
>>>> 
>>>> .hc
>>> 
>> 
>> 
>> 
>> _______________________________________________
>> Commotion-dev mailing list
>> Commotion-dev at lists.chambana.net
>> http://lists.chambana.net/mailman/listinfo/commotion-dev
>> 
> _______________________________________________
> Commotion-dev mailing list
> Commotion-dev at lists.chambana.net
> http://lists.chambana.net/mailman/listinfo/commotion-dev
> 




More information about the Commotion-dev mailing list