The OpenWRT project has released version 14.07 RC1 of its lightweight router and IoT oriented Linux distribution, adding IPv6 support and faster startup.
OpenWRT 14.07 (“Barrier Breaker”) was issued as a first release candidate (RC1), bringing full IPv6 support to the small-footprint GNU/Linux distribution. The router-oriented distro has become a favorite for home automation gizmos and other, frequently MIPS-based, Internet of Things (IoT) boards and devices, such as the Arduino Yún (pictured below-right).
By adding IPv6 support, OpenWRT is even better positioned for supporting IoT applications. OpenWRT has previously supported IPv6 via IPv6-over-IPv4 tunnels, according to a report in The Register that alerted us to the OpenWRT news.
The native IPv6 support better enables OpenWRT devices to automatically identify IPv6 addresses, while still recognizing IPv4 addresses. It also also includes support for router advertising and DHCPv6 with prefix delegation, multihoming with local prefix allocation, and source-restricted routing. DHCPv6 (Dynamic Host Configuration Protocol v6) is the protocol used to configure IPv6 hosts with IP addresses, prefixes and other data.
Now built on a Linux 3.10 kernel, OpenWRT 14.07 features a new fast startup daemon called Procd. There’s new support for sysupgrade on NAND flash, as well as support for filesystem snapshot and rollback. The mounting system has been rewritten in C for rootfs and block devices, say the developers.
Additional Barrier Breaker enhancements include UCI (unified configuration interface) configuration improvements such as testing configuration and rollback, a unified change trigger system, and a new data validation layer. Networking improvements include an enhanced Netifd, overhauled event support, and better support for firewall rules and transparent multicast to unicast translation for bridges. (The full list of OpenWRT changes may be found from a link at the end of this article.)
More on OpenWRT
OpenWRT is a barebones platform, meant to be extended and configured for deployment on resource-constrained devices, rather than a fully-configured general purpose Linux OS like Debian, Fedora, or Ubuntu. Due to the resource-constrained hardware environments it’s designed for, it’s more limited in some ways than Debian and other platforms, but it’s far more advanced than uClinux, which targets even lower-end hardware.
The OpenWRT project notes that its distribution is intended to be the “Bazaar of embedded routing,” not “a Cathedral” (see reference to The Cathedral and the Bazaar). It’s “designed to be user friendly, with an easy to use package management system,” adds the project. “You just have to pick the desired components, configure them and in doing so build your own Cathedral.”
Despite that modest positioning, OpenWRT manages to cram an amazing level of functionality into its tiny footprint. Major components include util-linux, uClibc and BusyBox. It offers a fully writable squashfs filesystem with package management, making it a good platform for those who need a high degree of customization on low-end hardware. The highly compressed squashfs is merged with a read/write jffs2 overlay filesystem. OpenWRT uses a heavily modified Buildroot system.
For access, you can use a command line interface or the Lua-based LuCi web interface. About 3,500 applications are available via OpenWRT’s opkg package management system. A wide variety of servers are available, as well as basic multimedia functions such as PulseAudio, iTunes server, Music Play Daemon, and DLNA/UPnP streaming.
OpenWRT emerged from the stack running on the venerable Linksys WRT54G WiFi router, beloved of Linux hackers. The distribution has been widely used on router-based hacks, and was also used on the Linksys NSLU2 (aka “SLUG”) networked attached storage device.
A number of recent IoT projects and low-cost open source single board computers have been built on OpenWRT. The distro is frequently combined with Ingenic’s XBurst system-on-chips or WiFi-oriented MIPs processors such the Qualcomm Atheros AR9331 and Ralink RT3052 WiFi SoCs. The OpenWRT team thanked MIPS owner Imagination Technologies for funding the pair of build servers used for the release.
OpenWRT on boards:
Arduino Yún SBC; DPT SBC; Weio COM; VoCore COM
(click images for related posts)
OpenWRT-based IoT products, many of which have yet to reach market, include the Q smart lighting and music system, Gigastone’s SmartBox A2 mobile accessory, and Fon’s Gramafon, a music streaming WiFi hotspot. OpenWRT also drives the BB.Suit wearable router prototype.
OpenWRT in devices:
Q smart lighting; SmartBox A2; Gramafon; BB.Suit
(click images for related posts)
Some of these projects are associated with Qualcomm’s AllJoyn initiative or the Linux Foundation’s AllJoyn-linked Allseen Alliance.
More on IPv6
The IPv6 protocol, which is designed to greatly extend IPv4′s limited number of available Internet addresses, has been available for years, and was formally launched in June 2012. Yet despite widespread support from carriers and equipment manufacturers, it has seen slow acceptance. The IoT craze, however, appears to be accelerating adoption.
IPv6 extends IP addresses from 32 to 128 bits, and supports auto-configuration, as well as Multicast Neighbor Solicitation messages to resolve IP addresses to link-layer addresses. IPv6 also manages membership in local subnet groups using Multicast Listener Discovery (MLD) messages, and enables devices to determine the IP address of the best default gateway via ICMPv6 router solicitation and router advertisement messages. It also supports 1280-byte packet size or greater without fragmentation.
More information on OpenWRT 14.07, including how to mix up a Barrier Breaker cocktail, may be found on the OpenWRT site, and downloads for the knowledgeable and adventurous may be found here. More general info may be found at the OpenWRT home page.