Thursday, May 12, 2016

The Australian Prime Minister used Serval this morning

Today we had a surprise visit from our Prime Minister to the University to make some announcements of local importance in the lead up to the election.  He also made a brief tour of a couple of research labs, including ours, at the suggestion of the University.  The end result: The Prime Minister and I had a short exchange using MeshMS on the Serval app:

And the result:

Not how I was expecting this morning to be, but very nice all the same.

Friday, May 6, 2016

Pacific Pilot is Go!

[Deutsch unten]

The announcement was made today by the Australian Minister for Foreign Affairs and Trade, that together with our long-time partners in New Zealand Red Cross, and our collaborators in Germany at TU-Darmstadt and Philips University in Marburg, our submission was one of the five grand winners of the challenge, and we now have funding and mandate to undertake a pilot in one or more pacific nations over the coming year:

Together with our existing grants from Radio Free Asia, and the NLnet Foundation, this means we have a busy few months ahead as we implement a number of technical and user-interface improvements, so that we are ready for the pilot, beginning most probably in the new year.

This is needless to say a very existing development, and it would not have been possible for us to reach this point without the continuing and generous support of so many people and organisations.

Und auf Deutsch...

Endlich war es angekündigt bei unsere Ministerin des Außenpolitik und Handel, dass zusammen mit NZ Rote Kreuz und TU-Darmstadt und Philips Universität Marburg, wir sind einer der fünf Gewinner des „Pacific Humanitarian Challenge.“ Das heißt, dass wir haben Geld für eine Pilotstudie in ein Pazifik Land.  Wahrscheinlich wird das früh 2017 sein.  Die Pressemitteilung ist hier:

Wir haben schon Zuschüsse von NLnet Foundation und Radio Free Asia.  Ingesamt heißt das, dass wir haben dieses Jahr viel zu machen! Wir werden beide Technische und UI Verbesserungen und auch mehr Arbeit auf unsere iOS Fassung.

Natürlich haben wir hier nicht allein bekommen. Sondern sind wir hier nur durch die Hilfe von viele Leute und Organisationen.

Sunday, April 3, 2016

Making self-updating APKs

Serval Mesh is designed to operate without infrastructure.  This makes over-the-air updates for it "interesting," because we cannot rely on the internet and Google Play being available, either because the network is broken, or because Naughty People are preventing others from accessing Google Play or installing Serval Mesh specifically.

We have had a solution for this for a while, where we attach the signed manifest to the end of the Serval Mesh APK, so that it can certify to other phones running Serval Mesh, that it is indeed a legitimate update.  That way, the APK can distribute via Rhizome, and each phone receiving it will announce "update available," which then allows the update to be install.

The trouble is, that sometime before Android 5.1.1, Google have stopped allowing APKs to have random stuff attached to the end, presumably for security reasons. After all, we have been bending the ZIP file specification to do this.  Also, we can't just include the manifest inside the APK, because that would change the signature required for the manifest, and so it would never be valid.

Fortunately, ZIP files support the inclusion of comments, which are not included in the Jar signing signature -- so we can put our manifest in as a comment, without it upsetting the signature.  That is, the APK will install on a phone, whether or not the manifest is in there.  Once installed, we can then pull out the manifest, so that the APK can be inserted into Rhizome with the manifest that certifies it is a genuine update of Serval Mesh.

In short, we now have a nicer solution than we had before, and which follows the ZIP file standard completely. Needless to say, we are very happy about this.

Sunday, March 20, 2016

... and Serval is a first-round winner of the Pacific Humanitarian Challenge


This is a challenge posed by AusAID, the Australian International Aid agency to help Pacific Nations following disaster and emergency situations.

Together with NZ Red Cross our proposal looks at making Serval operationally ready and in use in Pacific Nations to help people stay connected when cyclones and other disaster strikes.

Friday, March 18, 2016

Succinct Data pilot in Fiji

While we have been quiet lately, we haven't been idle.  Quite the opposite. The last few weeks we have been working on getting Succinct Data operationally ready for use by NZ Red Cross, which we have now succeeded in doing, as explained in the press release with Magpi below.

This has only been possible because of the generous support a grant from USAID, and the assistance of the folks at both Magpi and VasTerra.

Wednesday, February 24, 2016

TP-Link Firmware Lockdown and Alternative (Better!) Hardware for Mesh Extenders

TP-LINK are starting to lock down the firmware on their routers.  This is a bad idea, because it means that there will be more and more routers out there that have horribly out of date and vulnerable firmware, that cannot be updated and secured by end-users, or in our case, re-purposed to meet their individual and/or humanitarian needs.  This is rather sad.

Fortunately, there are manufacturers making what are basically souped up clones of the cheap TP-LINK routers, such as the WR703N and MR3020 that we have been using for the Mesh Extender prototypes.

One that has caught our eye is this one:

Which you can buy from places like this:

It comes with OpenWRT DD 14.07 pre-installed, has 64MB RAM (instead of 32MB in the MR3020) and 16MB FLASH (instead of the tiny 4MB on the MR3020), has the serial port already with a header on it (unlike the fiddly soldering process on the MR3020), and also has a few GPIOs on the same header (none on the MR3020), and has two ethernet ports (instead of one on the MR3020).   Oh yes, and if you don't mind paying an extra US$5, which still brings the price to only almost what an MR3020 costs), you can have an external Wi-Fi antenna, which will be sure to increase the range compared with the PCB antennae on the MR3020 (which we hope to verify soon).

In short, it is at least as good, if not better, on every technical measure when compared with the MR3020 and WR703N, and they are also cheaper! In fact, we can get the external antenna version express international couriered via DHL from China for less than we have to pay for an MR3020 via ebay in Australia!

Further, with the extra flash, we should be able to make a Mesh Extender install package set that can just be installed on it, because there is actually enough room in the flash for servald, lbard and the various scripts and things we need. Combine that with the fact that we have a real physical header that we can use to connect between the RFD900 radio and the router PCB, avoiding the need for any soldering at all*, the physical assembly process is now greatly simplified. This makes us very happy about the prospect of making Mesh Extenders easier to build and provision, including for people who aren't big on soldering.

All we will need to have is some special little cable made that goes between the headers on the PCB, and the RFD900 radio, and an updated case design.

Now, about that little * about "no soldering", the only problem we have remaining is that the headers which come on the board don't have a 5V line populated, so we will still need to solder a header on, assuming that the Power-Over-Ethernet header has access to the 5V rail, which seems like a reasonable prospect.  We will take a look at this when the 5 units that we have ordered have arrived. In any case, soldering on just a header is not a big problem, and we might even be able to ask the manufacturer to prepare a batch with the header fully populated.  Likewise, we can probably ask some company in China to make up the little adapter cables that we will want to go between the radio and PCB.

We wouldn't have found these units if TP-LINK weren't being unhelpful with their firmware lockdown policy, so in this particular case it is a clear example where being unfriendly to the open-source will result in

Tuesday, February 2, 2016

Running Serval in the Core Network Simulator

I've just been visiting the NICER project folks in Darmstadt and Marburg in Germany, where they are starting to use Serval for various parts of their research.  They have a really nice approach to the work, which is quite complementary to what we are doing.  One of the things that they have done recently is to work on simulating various Serval networks.  In the linked post below, the describe how to simulate Serval using the Core network simulator.