We’re happy to announce the release of the 2.0 (Release Candidate 1) of the Village Telco firmware. Here a breakdown of what’s new:
Updated mesh protocol with B.A.T.M.A.N. adv 2012.3.0
The 1.1 release of the Village Telco firmware came with the 2011.2.0 release of the batman-adv mesh protocol. Version 2.0 now has the 2012.3.0 release of the protocol. Aside from bug fixes, this newer version of batman-adv has a robust bridge-loop avoidance protocol which is important if you are running a mesh network with more than one upstream gateway. N.B. This version of batman-adv is not compatible with the 2011.2.0 version in version 1.1 of the firmware. You can cannot mix version 1.1 and version 2.0 firmwares in a single mesh. Please don’t upgrade unless you are planning to upgrade all the nodes on your network.
Updated OpenWRT
Version 2.0 is based on the Attitude Adjustment release of OpenWRT. We are steadily moving towards full compatibility with OpenWRT releases. The only exception to this at the moment is the kernel on the Mesh Potato which is held at 2.6.37 as opposed to the 3.3.8 version that ships with OpenWRT. We have done this because the FXS kernel and VoIP driver for the Mesh Potato would require a complete re-write to be compatible with the new kernel and we’ve chosen to focus our efforts on drivers for the 2nd generation Mesh Potato.
WAN Configuration
Thanks to Terry’s efforts, there is now a WAN configuration page in the web interface. This opens up new configuration opportunities. For the Mesh Potato, it means that you can configure the MP as a WiFi client. Why would you do this? Perhaps you would simply like to use a Mesh Potato as a wireless SIP client to connect to a hotspot. With the WAN configuration page this is easy to achieve. It also means that you can use the ethernet port to do Network Address Translation (NAT) in the way that typical access points do as opposed to having the ethernet port bridged with the WiFi interface which is what the default is with the firmware.
It gets even more interesting, however, on devices with multiple interfaces. On the TP-Link WR703n which has a USB port for connecting a 3G dongle/modem, you can now easily configure this modem as an upstream gateway for the mesh. The Mesh Potato 2.0 will have a USB port and and two ethernet ports which will be available for WAN configuration.
Web Firmware Upgrade
Another feature of the 2.0 firmware release is the ability to upgrade the firmware via the web interface. Flashing the firmware is not necessarily the easiest thing to do for someone new to embedded devices. Introducing a web upgrade will hopefully make it easier for people to benefit from the ongoing improvements to the mesh software and the configuration tools.
With the 2.0 release you can now do a web upgrade on any Village Telco firmware. For Ubiquity and TP-Link devices it is possible to preserve the configuration settings with the upgrade. We are still working on preserving settings on the Mesh Potato upgrade. Because the memory is somewhat limited in the Mesh Potato, we have to be a little bit more creative in how we perform the upgrade. We’ll have the setting preservation option sorted out by version 2.1.
What Coming in Version 2.1
For the 2.1 release of the firmware, we’re working on the following:
- the integration of a new release of batman-adv that will include support for network coding
- pre-configured support for Codel, an Active Queue Management algorithm designed to address bufferbloat
- more configuration intelligence in the user configuration to help users choose the most appropriate settings
- an improved mesh status page which will replace the current text only page with a more intuitive graphical representation of wireless signal strength, neighbours, and mesh connections.
Both network coding and codel should provide performance boost to existing hardware and we’ll also see a big improvement in the general user interface as we move from simple shell scripts to general the web interface to an interpreter (haserl). We’re also rebuilding the web interface on the Twitter Bootstrap framework which should offer more flexibility for displaying on different devices as well as a much more elegant experience in general. We’ve also moved the project to Github to make it even easier to collaborate. If you have suggestions and/or would like to collaborate on the development of version 2.1, please join us in the Village Telco development group.