|
|
Log in / Subscribe / Register

The OpenWrt One system

By Jonathan Corbet
November 4, 2024
OpenWrt is, despite its relatively low profile, one of our community's most important distributions; it runs untold numbers of network routers and has served as the base on which a lot of network-oriented development (including the bufferbloat-reduction work) has been done. At the beginning of 2024, a few members of the project announced a plan to design and produce a router device specifically designed to run OpenWrt. This device, dubbed the "OpenWrt One", is now becoming available; the kind folks at the Software Freedom Conservancy were kind enough to ship one to LWN, where the desire to play with a new toy is never lacking.

[OpenWrt One] The OpenWrt One was designed to be a functional network router that would serve as a useful tool for the development of OpenWrt itself. To that end, the hope was to create a device that was entirely supported by upstream free software, and which was as unbrickable as it could be. The developers involved concluded that the Banana Pi boards were already reasonably close to those objectives, so that was the chosen starting point. Banana Pi is also the manufacturer of the board that resulted.

The OpenWrt One comes with a two-core Arm Cortex-A53 processor, 1GB of RAM, and 256MB of NAND flash memory. There is also a separate, read-only 16MB NOR flash array in the device. Normally, the OpenWrt One will boot and run from the NAND flash, but there is a small switch in the back that will cause it to boot from the NOR instead. This is a bricking-resistance feature; should a software load break the device, it can be recovered by booting from NOR and flashing a new image into the NAND array.

The device only comes with two Ethernet ports, one configured by default to talk to an upstream router. That choice raised a few eyebrows, since a router can normally be expected to have more ports; in an FAQ posting in January, John Crispin defended that choice this way:

We didn't want to impose additional complexity and costs by including an external managed switch IC. One port is 1GBit/s capable, while the other features a speed up to 2.5GBit/s. This is a limitation of the chosen SoC.

The router has 2.4GHz and 5GHz WiFi radios and three antennas. There is a USB 2.0 port on the front. Within the box, there is a mikroBUS connector for miscellaneous peripheral devices and an M.2 PCIe connector for the attachment of a solid-state drive. The space for M.2 cards is limited to the 2242 or 2230 formats, meaning that it allows the addition of up to 2TB of relatively fast storage with currently available drives. That, in turn, would make it possible to use the router as a network-attached storage server, or to run a more traditional Linux distribution on it.

The OpenWrt one arrived with no documentation whatsoever. Perhaps surprisingly for a device shipped by the SFC, it also lacked the required written offer to provide source for the GPL-licensed software contained within — not that said source is difficult to find. [Correction: the offer is there, printed on the outside of the box. I missed that, and apologize for the mistake.] There was no power supply provided; the user needs to supply a USB-C charger or power over Ethernet. It draws about three watts when operating.

The device had a minimal OpenWrt snapshot installed. Evidently, it was not the intended image and did not work properly; it would boot and allow logins via SSH, but lacked the ability to install the LuCI web interface. That made life difficult for those of us who, having never taken the time to fully understand OpenWrt's unique package-management and configuration tools, tend to lean hard on LuCI. That, in turn, led to an early exercise of the NOR-flash recovery mechanism, described on this page, to flash a new image. The ritual is a bit cumbersome, involving holding a front-panel button down while connecting power to the rear. But, then, completely reflashing a device should not be something one can do accidentally.

After booting into the new image, the One behaved like any other OpenWrt router. It came up running a 6.6.50 kernel and with LuCI installed; with just a bit of configuration, it was sitting on the local network and providing WiFi service. Nothing exciting to report. That is the thing about working hardware; it just quietly does what is expected of it.

[OpenWrt One inside] What could be more interesting is seeing this router get into the hands of developers and enthusiasts who will use it to make OpenWrt (and other small-system distributions) better. The combination of free software (with the exception, seemingly, of the firmware blob loaded into the WiFi adapter) and brick-proof hardware should make the OpenWrt One a relatively easy and pleasant device to develop for. That will, hopefully, encourage more developers to join the project and make the system better for everybody.

Getting there, though, will require some significant documentation improvements. The device lacks even the usual "getting started" page, much less more detailed information on how to connect it to the network or what the three LEDs mean. A nice tutorial on how to build a custom image for this device would be welcome. OpenWrt as a whole has reasonably complete (if sometimes hard to navigate) documentation, so presumably these gaps will be filled over time.

Given the wide range of devices that OpenWrt can run on, the addition of one more might seem like a drop in the bucket. But most of those systems were designed to run something else, even if it is often OpenWrt with a proprietary interface grafted on top, and replacing the software is not always easy or risk-free. A device that was designed to run OpenWrt from the beginning, without limiting the user's freedom, is a welcome addition and a suitable present to the OpenWrt project as it celebrates 20 years of development.

[The OpenWrt One is expected to be generally available by the end of November. The price of each system will include an (unspecified) donation to the OpenWrt project. Schematics and data sheets for the device are also available.]


The LWN site is currently under high scraper load, so comment display has been suppressed for anonymous users. If you are a human, you may read the comments by clicking the button below:

Note: you can avoid this step in the future by logging into your LWN account.


Copyright © 2024, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds