Sunday, March 1, 2015

MDP, Rhizome, MeshMS and VoMP over Bluetooth

Under a grant from US-AID we are in the process of adding some low-bandwidth transports to the Serval Mesh.  Ultimately, this will hopefully include Wi-Fi Direct service directory, Bluetooth Device Names, as well as using those transports directly.

What Jeremy has achieved so far is to use Bluetooth with an automated peer discovery.  That is, if two phones running Serval Mesh have bluetooth turned on, and at least one of them is marked discoverable, then Serval Mesh on the phones will automatically create a bluetooth serial connection, and start transferring data as though it were another wireless interface, which, after all, it is.

The following photos show Andrew and Jeremy making an authenticated, encrypted VoMP call over Bluetooth:

The in-call latency is probably around 800ms, so quite usable.

And here we have an upside-down MeshMS conversation.  MeshMS messages deliver in just a couple of seconds if there is no other Rhizome traffic.

More posts as we make further progress.

Thursday, January 22, 2015

Mac OSX "Hold for authentication" when trying to print

Today I tried to get printing to work from my mac (running Yosemite) to the printers here at work.  The printers are accessed using SMB.

I could easily add the printers, but when I tried to print, it would accept my username and password for the printer, but then revert straight back to saying "Hold for authentication".

Deleting the printers and recreating them didn't fix it.
Nor did deleting the associated entries from the OSX keyring help.

Thus the usually recommended steps failed to fix the problem.

It took a couple of hours of research and experimentation to discover that this page had most of the information needed to solve the problem.

The problem in my case was caused by the print system on the mac from failing to properly negotiate authentication in some way. But here is how I fixed it:

Step 1: Try to print something to this printer.  Then open the print queue for the printer, and click on the refresh (curly-arrow) icon to the right of the job name.  It should prompt you for your username and password for the print server, and then revert to "Hold for authentication".

This is really important. If you don't try to send a print job and have it stuck in "Hold for authentication" first, strange things can still happen after following the procedure below.  For me, I found that the print job would try to print, but the print queue would then immediately become paused, with the print job marked "Ready to print".  Very frustrating.

Step 2: Open a terminal window.  Everything we do from here will be done from in the terminal window.

Step 3: Find out the name of the printer on the command line by typing the following and pressing return:

lpstat -s

Step 4: Find the printer in question in the output. You will see that the names of the print queues have any fancy characters replaced with an underscore.  So your print queue name might have lots of underscores in it.  For example, my printer called "Tonsley : mono" appears in the output of lpstat -s below as "Tonsley___mono" (highlighted below):

$ lpstat -s
system default destination: Tonsley___colour__A3_in_tray_2_
device for GenericScanner: usb://00000000-0000-0000-FA13-000000000000
device for LaserJet_6MP__Jet_Direct_: socket://
device for Lexmark_6200_Series: usb://Lexmark/6200%20Series?serial=21B1280030008E5
device for Loopback: socket://
device for Samsung_CLP_310_Series: usb://Samsung/CLP-310%20Series?serial=149RBAFZ400869Z
device for Samsung_CLP_315_Series___alfred: dnssd://Samsung%20CLP-315%20Series%20%40%20alfred._ipp._tcp.local.
device for Samsung_ML_1640_Series: usb://Samsung/ML-1640%20Series?serial=3511BAFS501610N.
device for Tonsley___colour__A3_in_tray_2_: smb://

device for Tonsley___mono: smb://

Step 5: Force the mac to use username,password authentication for this printer by typing the following command (but don't forget to change the printer name from Tonsley___mono to the name of your print queue that you obtained in the previous step).  

sudo lpadmin -p Tonlsey___mono -o auth-info-required=username,password

When you hit return after typing this command you will be asked for your mac password.  Type it in.

Step 6: Attempt to print using the printer.  It should now work.  If it doesn't try deleting the printer and following the sequence again.  If the print queue keeps pausing itself and saying the print job is "ready to print", read the important note on step 1.

If this information helps you, please consider donating to

Sunday, January 18, 2015

Bleeding Edge Mesh Extender kits finally ready for shipping

It has taken us much longer than we had hoped, but we finally have the Mesh Extender kits ready to post out to our generous supporters from our Indiegogo campaign.  As a token of appreciation to our long suffering supporters, we have included a pair of Serval test phones into the kits so that everything they need is there and setup for when it arrives.  Here is the contents of each kit:

I took a couple of shots during the testing of the last pair I packed this morning here at the University's new building at the Tonsley site.  Here is a Mesh Extender and test phone up on our 4th floor lab:

Then took another down to the ground floor to make sure the UHF radios still had link:

Finally, all the units were packed.  Once I have reconfirmed everyone's postal address, we will send these out.

Monday, October 27, 2014

Some interest in the open-source collapsible communications tower

It was nice to hear of some further interest in the open-source collapsible communications tower concept that we have worked on over the past year or two:

The project is ongoing, with a student looking at the existing design to better characterise it for operational use.

Sunday, October 26, 2014

Serval Mesh 0.92 is out on Google Play

After quite a delay, we have finally released a new version of the Serval Mesh.  

This is still an experimental release, but it does contain a number of important improvements, including but not limited to:

- The connect display has been greatly simplified, making it much easier to use, although there is still some way to go on this front.
- MeshMS is now encrypted by default (and incompatible with the 0.91 and older versions of MeshMS).
- Rhizome has been overhauled, and is also largely incompatible with 0.91 and older.

For a full list of what's changed since 0.91, the release notes for this version are available here;

If you want to install the latest version without using the play store, you can download it here;

Thursday, October 2, 2014

Connecting the internet, Outback style

This week I am up at Arkaroola in the Australian Outback together with Ülf, who is visiting us from Germany.  We are finishing the installation of some long-range Wi-Fi communications equipment that I began as part of National Science Week in August of this year.

The primary goal that we had planned was to connect the broadband internet service that is generously provided by MIMP to the Arkaroola homestead area, which includes the research facility in the old wool shed.

During National Science Week we explored a number of possible paths between the Arkaroola Village where the internet service lands and the homestead area.  The distance as the crow flies is about 5km, but with some serious obstructions in the form of iron-bearing hills and ridges.

These obstructions meant that we would need at least one relay station unless we could build some 20m high towers, and even then it wasn't certain that we would have clear line of sight. We had hoped to be able to put that relay station near a road to make for easy maintenance, however that proved impossible.

The next best option was to place the relay station near a walking track that goes over the Acacia Ridge which has line of sight to both the village and homestead.  The challenge is that this would require a 2km hike over rough ground to get the approximately 200m altitude over the valley floor -- a fascinating prospect when contemplating carrying equipment to construct a communications relay.

But first, here is Ülf assembling one of the the Ubiquiti NanoBeams:

This is one of the NanoBeams temporarily located beneath another access point on the observatory.  The NanoBeam is pointed at the Acacia Ridge relay we installed.

Ülf checking the configuration of the NanoBeam before it was attached to the observatory:

Rod fabricated a short tripod mast for the Acacia Ridge relay.  Here we are transporting it by trailer to the Acacia Ridge trail-head. Special thanks go out to the Turners who lent us their trailer, knowing that it would be covering several hundred kilometres of Outback dirt roads.

The mast is about 2m long, and made of heavy-duty 2.5" pipe, so it should last a long time ...

... however, it would be interesting to carry up the trail. Ülf had the great idea to make slings to make it easier to lug up the hill.  You can also see that we temporarily attached the dishes to the mast for ease of carrying.  Note that this shot was taken a rare flat and open section of the trail.  The trail averages about 7% grade and is very narrow with large rocks most of the way.

Most of the way up we stopped to take a shot of the view.  We started out from near to where the road disappears behind the rise in the foreground to the left.  The homestead buildings can be seen amongst the trees in the creek line a little further away.

Oh, yes, we also had to carry a pick-axe with us to dig the mast in.  All up I think we had about 30kg of gear with us.  We were quite warm by the time we reached the site, with the weather around 33 degrees C.

Another brief stop to enjoy the view:

Finally we reached a point where we could see the village in the distance, and which had some soil amongst the rocks allowing us to site the mast.

It is very pretty up there at the moment with all the flowers after a couple of good rains in the last few weeks.  Arkaroola and the surrounding country has a rather strange weather pattern, in that not only is the annual rainfall essentially random, but this randomness persists even for decade-by-decade averages.  So while some years and decades may average <100mm per year, it possible to get 300mm in a day.  In short, the rainfall is chaotic, in the mathematic sense.

These beautiful views of distant peaks got Ülf and I thinking about just how far we could reach from this site with a few more NanoBeams.

Finally, unpacking our load, and starting to install the mast:

There is not too much soil here, so we just dug the mast in as best we could ...

... and then piled lots of rocks on the legs of the tripod before installing the dishes.  It wasn't possible to carry the solar panel on this load, but we plugged the batteries in anyway, so that we could monitor the link from the village before heading back up with the 80W solar panel.

A few quick views over the dishes to verify that general alignment was fine. The relatively short distances (<3km for each link), meant that we didn't have to be too worried about super-accurate aiming.

A couple of days later we came back up with the panel, again carried by sling. The panel itself is an 80W BP Energy panel made here in Australia in the 1980s, back when Australia was at the leading edge of solar energy.  Sadly now our government seems more interested in digging up coal instead of positioning Australia at the leading edge of new industries.

It was now 44 hours since the NanoBeams were plugged into their separate 120Wh LiFePO4 battery packs.  One battery was too flat to run the NanoBeam, but the other was still going strong.  You can see the voltage difference empirically in the differential brightness of the LEDs.

Now, we are in Australia, so it would not be appropriate to build an installation like this without using at least some fencing wire.  The wire is there to stop the panel sliding away from the mast, or getting blown about in strong wind.

Here is the whole thing from the side.  What might not be obvious at first glance is the other piece of iconic Australian infrastructure that has been repurposed to build this relay: the recycled Outback Dunny (toilet) cistern that is being used to keep the weather off the electronics.

The cistern is placed under the panel to discourage any kangaroos or rock wallabies from trying to sleep under it, as well as reduce the UV exposure to the cistern and electronics.

We don't need to worry too much about the other Australian wildlife here, such as the poisonous snakes, deadly spiders, lethal octopii, despair inducing jellyfish (as distinct from the merely deadly jellyfish),  man-eating crocodiles and other biological hazards here.  The reality is that lightning kills more people and access points in Australia than all the biological things put together, with the possible exception of the Cockatoos and Possums (not to be confused with opossums).

Then it was time to head down to the homestead to find a suitable landing point for the link.  After looking at the number of termites (white-ants) in the verandah wood work, we opted to use an old children's swing as it was sturdy, and has the added benefit of being easily relocatable.

Here it is from the side.  The main hazard here is the dog which has already eaten the hose and might think that the ethernet cable is too tasty to resist.

At this point, all of the hardware is in place, but we discovered that one of the connections up on Acacia Ridge is unhappy, so it will be back up the hill in the morning.  Basically the link between the two NanoBeams on the ridge was broken. However, each separate link was working, so we were able to confirm that we had full 300mbit/sec bandwidth in each direction, with a very comfortable link margin of about 40dB.

You can see the very sad "LAN0 Unplugged" message here indicating that we didn't plug something in properly up on the ridge, or that the cable was faulty.  Most likely we didn't plug it back in properly after we made test VoIP and skype video calls from from up on the ridge.

So once we fix that cable, the Arkaroola homestead will have faster internet access than we can get back home in suburban Adelaide.

Meanwhile, this being the Northern Flinders Ranges, we found a Quandong tree.  This is also known as "bush peach" and which makes very tasty pies, such as the one cooked and ate tonight, although we cheated and used fruit that had already been collected here.  Thanks go to whoever collected and dried the fruit :)

Monday, September 15, 2014

Installing mesh extenders with Michael

An old friend of the Serval Project, Michael Adeyeye, is here with us in the batcave for the week to see what we are doing, and for us to share knowledge with him.

Apart from it being great to catch up with an old friend, the timing is perfect, as we have just finished our simplified installation process for the Mesh Extenders.  So Michael gets to test the documentation and procedure for installing Mesh Extenders, so that we can fix any problems.  All going well, we will finally have the initial batch of Mesh Extenders from the crowd-funding campaign ready to ship.