OpenWRT on your router: custom firmware under the microscope

openwrt router

If you want complete control over your hardware, you can choose to flash custom firmware on a router. OpenWRT is the largest open source project in this field, and has recently received a major update. We put it to the test and compared OpenWRT for this test with what is supplied as standard on the router.

What makes OpenWRT so special? OpenWRT is a leading project in open software for routers in that the latest code and patches are conceived, created and written here and the latest kernels are used. Similar software projects such as Gargoyle, DD-WRT, LibreCMC, CoovaAP, FON, ROOter, and Doodle3D all base their code on the OpenWRT source.

As an embedded operating system, the software is based on Linux and was primarily developed to control routers. For the enthusiast, in addition to the graphical user interface, there is still a command-line interface available. OpenWRT is made possible by all developers who put time and energy into the open source project, and in addition there are sponsors who take care of the hosting in the form of mirrors. In the Netherlands, this is StudentenNet Twente, of the University of Twente.

History and development

OpenWRT started in 2004 as a project based on Linksys GPL source code. This concerned one software version that was made for the WRT54G from this manufacturer. Linksys was then forced to (partially) release its source code for the router after it turned out that the manufacturer was using Linux for the firmware of its access points, without referencing the GPL-licensed source. The project quickly gained popularity, which in turn attracted new developers. Then they worked behind closed doors for some time on a new version, which came out in 2007 under the name 'White Russian'. Subsequent versions (Kamikaze, Backfire, Attitude Adjustment, Barrier Breaker and Chaos Calmer) came out in the years that followed.

Over time, disagreements arose among developers about which direction OpenWRT should take and how frequent updates should be made available to users. The conflict could not be resolved immediately, and some of the developers decided to fork the project under the name LEDE and continue with it.

The splitting off of LEDE has ensured that the development of OpenWRT itself went less quickly, due to the smaller number of developers. That was different at LEDE, but the user base there was – at least in the beginning – a lot smaller. However, these issues were resolved in one fell swoop in early 2018 when, after much back-and-forth, agreement was reached to merge LEDE back into OpenWRT.

There had been no official update to OpenWRT since March 2016, and with all the other software projects mentioned that rely on OpenWRT's codebase, it was important to get all packages up to date again. Not least because during this period there was a lot of talk about (wireless) network security, including the KRACK vulnerability. With this vulnerability, the wpa2 encryption protocol, which until then had been seen as the most secure option, could be cracked without requiring too much exotic hardware. Anyone who felt unsafe on wpa2 and was not provided with a firmware update by the respective router manufacturer, could normally have trusted one of the open source projects. But in the absence of an official, stable version of OpenWRT,

With the release of OpenWRT 18.06 in August this year, a fresh, modern and stable build is finally available to users. We take the opportunity in this article to go through this free and open source software, to see what the possibilities and features are that you gain from your router by switching and what things you should take into account.

What can you do with OpenWRT?

It is not possible to discuss all the functionalities and possibilities of OpenWRT in one article, but we will go through the software in outline and make a comparison with a series of features that can be found in the original firmware of the routers. In a subsequent review on the website, we will go into more detail about the performance of OpenWRT compared to original firmware.

Note: Before you start, carefully read the instructions to go back to the original firmware on the OpenWRT site. It is not always a matter of selecting the original firmware file. For example, some routers require the router's bootloader to be addressed via TFTP, or a modified original firmware file to be selected. You always run the risk of bricking your router. So think carefully before you start.

Installation

For our workshop we use a Netgear R7800 Nighthawk X4S. This wifi-ac router is officially supported by both LEDE and OpenWRT. We get the correct installation file from the OpenWRT website, which is less than 8 megabytes in size. In our case, this is an img file that can be applied through the firmware flash function of the original firmware. So we don't need to run any other scripts or apply any code to get OpenWRT installed.

After logging in to the router with the original firmware, we choose 'Manage' in the menu on the left, under which the option 'Firmware update' is located. With some models, extra care must be taken to select the correct firmware file for the specific hardware revision. There is only one hardware version of the R7800 Nighthawk X4S used to date, but several other routers have up to five versions in circulation, each with different processors on board.

It is also important to keep in mind that only the 'official' versions already have a graphical user interface (called LuCi), where you have to manually flash a gui in the experimental builds by accessing the router via ssh.


The start of the flash procedure from the original firmware.

When we upload the OpenWRT firmware file to the router and confirm that we want to flash it, the same progress bar appears as with original firmware files. However, once the flash is complete and the router reboots itself, it's a different story. Where with the original firmware we would return to the same login screen, we now get the message that the page cannot be found. This is because accessing the router with OpenWRT no longer goes via www.routerlogin.net, but via the standard IP address that OpenWRT gives each router.

We thus access the router wired by looking up the IP address 192.168.1.1 in a browser, where we are greeted by the OpenWRT login screen. Because we are using a public release (18.06.1), we can immediately get started in this graphical interface after flashing. When logging in for the first time, you will be asked to choose a username and password, which is highly recommended for security reasons.

The OpenWRT landing page (left) is immediately more technical than the original firmware (right).

After logging in, the main page of OpenWRT is displayed, which, among other things, shows the software version, hardware version, operating time and the current and average memory usage.

At the top of OpenWRT the functions Status, System and Network are visible in a toolbar. All functions that can be used from the gui are divided under these buttons. Installing packages can also add a button to the toolbar, more on that later. For now it is enough to know that each function in the main menu calls up a new page, which, depending on the content, may again have some tabs.


OpenWRT's menu is quite simple, but there are a lot of functions hidden behind the three main buttons.

A first option for setting up the router falls under the heading 'Network'. There we can set how the router should function under 'Interfaces', for example in bridge mode. The menu option below is 'Wireless', where of course the wireless networks can be set. For the layman, this section is undoubtedly a bit trickier than the rest, with terms like radios, 802.11nac and –bgn instead of 'Name (SSID) of 2.4/5 GHz wireless network' as we used on the original firmware. come across.

User interface and settings

Once you get used to OpenWRT – or its previously derived LEDE – you will be able to easily navigate through the router's capabilities. Where router manufacturers themselves design their user interface for their products (or even per product series), with OpenWRT you can always use the same LuCi gui, regardless of what brand or type you use the software on.

Now the original user interface of a router is often tuned to what possibilities the hardware offers, but those who work a lot with the small boxes and networks will appreciate the consistent interface of OpenWRT. As long as the routers in question are supported, it is no problem at all to connect a patchwork of different routers. The advantage is that they are easier to manage if they are all running the same software.

Another feature that comes in handy here is the support to save and import settings, with the so-called archiving. You can, as it were, work with profiles, which, for example, are set so that your Bittorrent client automatically adds new downloads, or that your wireless networks must be switched on or off in a specific time slot.

Precisely because OpenWRT offers so many possibilities, it can be useful to backup all your settings - especially if you have already forgotten the details of certain settings. Some settings are device-specific, so a router that only supports 2.4 GHz Wi-Fi cannot of course adopt settings for the 5 GHz band. However, other settings will be adopted where possible.


In OpenWRT you can backup all your settings and restore them easily.

Packages

An important feature of OpenWRT are the so-called packages that you can use. These are kind of add-ons that extend the functionality of the basic software. More than 3000 packages are available to add to the bare OpenWRT. Think of a NAS function (via the USB connections on your router), an ad blocker, logging and saving network and router statistics, setting up your own VPN service, using a p2p or bittorrent client, a file or media server. run and encrypt specific network flows with a desired encryption standard, and much more.

It is worth noting that these packages are created, maintained and hosted by the developers of OpenWRT themselves. Of course it is also possible to use packages from third parties, but the warning is given that there is no guarantee regarding their security and stability.


In OpenWRT you can add functionality and features yourself by installing packages.

Before updating OpenWRT, you as a user have to check whether there are any updates, the software does not offer the possibility to update the firmware fully automatically. When a new (or old) firmware file is uploaded, OpenWRT displays an MD5 checksum of the image, which must of course match the value that OpenWRT passes with the image in question.

While some original firmwares from router manufacturers do their own check to see if a new image is compatible with the device, the advantage of OpenWRT is that it is easy to manage remotely, as these notifications can also be retrieved from the system log and kernel. read.

Set up wireless networks

When setting up the wireless networks, we encounter more options on OpenWRT than is the case with the original firmware. Now it must be said that this varies per router; some manufacturers will offer a very wide range of settings options on their software. With our Netgear R7800 we encounter a number of differences between the two firmwares in the wireless networks.

First of all, with OpenWRT it is possible to choose the signal strength relatively accurately, in steps of 10 percent, showing how strong the signal is in Db. As with the original firmware, you can choose to have the signal strength handled automatically, depending on how strong other wireless signals are in the area. However, if the router is used for a relatively small space, it is often not necessary to broadcast the signal at full strength, so choosing a lower signal strength can be quite useful here.

In addition, both the channel and its width can be set. Anyone who lives in a densely built-up area has undoubtedly already looked at this. Choosing the right channel can make a big difference in the speed at which you can use the network. However, not every router offers the possibility to choose from all channels, and thereby also select the channel width.


With more luxurious routers such as the Netgear R7800 Nighthawk X4S, the original firmware already has the possibility to set up a guest network, but with much cheaper routers this is only possible by using OpenWRT.

More fun with every LED

Whose router is in a prominent place in the living room, will be familiar with the phenomenon of the rapidly flashing LEDs in the housing. At higher loads and more network usage, the lights on the router will blink nicely to reflect the activity, but not everyone can appreciate this. Some routers have the option of adjusting the LEDs from the factory, either hardware or software.

Netgear Nighthawk R7800 X4S

With OpenWRT, this is a standard feature, as long as the hardware supports it. For example, you can set that none of the LEDs may blink, or determine per LED whether it is used and to which activity it is linked. For example, if you have a hard drive attached to your router, you can choose which light shows its activity. Handy if you want to make the router on the bookcase less noticeable, or if you always want to read how things are going.

Test setup

In our test setup, we subject the routers to a series of different tests. To get an idea of ​​the wireless throughput that a router can achieve, we use a test setup with three laptops, each equipped with an Intel Wireless-AC 7260 network adapter and located respectively 3, 5 and 10 meters away from the router. located.

We measure the throughput of the router with IxChariot from Ixia, using the TCP High Performance script. We test the speed of each router on both the 2.4 Ghz and 5 Ghz bands. We do this from the router to the laptop that is 3 meters away (lan-wlan) and back to the router (wlan-lan), and from the router to all three laptops at the same time and back again. To map out what tri-band routers with an extra 5 GHz radio add to performance, we also perform the throughput test between the router and the three laptops in 3x3 (3 clients and 3 users).

Then we do two more practical tests, again on both frequencies. The first consists of sending a video file of 314 MB, which we transfer with the program TeraCopy from an Asustor AS-604T NAS to the laptop that is 10 meters away from the router, and then let it go the other way. In the second practical test, we do in principle the same as with the first, with the difference that the file is copied to and from the NAS with a laptop that is located 7 meters away in the stairwell of our office, with a thick wall between the two. laptop and the router. 

We also perform a streaming test, in which we stream a Blu-ray movie file with a bitrate of 35 Mbit/s from the NAS, first to one laptop and if successful to 2, and again to three if successful. Of course we only note 'yes' if all devices manage to display both the video and the audio fluently.

To filter out any extreme results, we run the tests at different times, spread over several days. You can therefore assume that the results that can be found on the website and in this article give an accurate picture of the performance that the individual routers are able to achieve in practice.

Test results throughput tests

As described, we do our throughput tests using IxChariot, with both a single laptop 3 meters away, and three clients 3, 5 and 10 meters away simultaneously, and with the same three clients with three separate workloads per client ('users').

5GHz

At 5 GHz we measure the wireless transmission speed from a router to the 3 meter laptop (Lan-Wlan) and from the 3 meter laptop back to the router (Wlan-Lan). Then we repeat this process from the router to the 3, 5 and 10 meter laptops at the same time (Lan-Wlan) and back to the router (Wlan-Lan). We also perform the 3, 5 and 10 meter throughput test with a 3x3 (3 clients and 3 users) configuration to map the tri-band functionality of routers - if applicable.

We see OpenWRT improve performance at 5 GHz, with a lead ranging from 9 to 31 percent. However, this is only the case with a single client in the benchmark. If we test with three clients at the same time, we see the original firmware deliver a better throughput speed of 9 percent.

2.4GHz

At 2.4 GHz we measure the wireless throughput from a router to the 3 meter laptop (Lan-Wlan) and from the 3 meter laptop back to the router (Wlan-Lan). Then we repeat this process from the router to the 3, 5 and 10 meter laptops at the same time (Lan-Wlan) and back to the router (Wlan-Lan).

Where OpenWRT on the 5 GHz band still came out positive in the test, it is not such a happy story on 2.4 GHz. With both one and three clients, Netgear's proprietary software clearly outperforms in terms of throughput, and the wlan to lan differences are the biggest. With three clients from wlan to lan, OpenWRT is as much as half slower.

Test results practical tests

At Practical Test 1 10 meters Line of Sight we send a file of around 314 MB from a NAS to a laptop that is 10 meters from the router without obstacles in between (Lan-Wlan) and from the laptop back to the NAS (Wlan-Lan). We perform this test on both the 2.4 GHz and 5 GHz frequencies.

Where the throughput tests on the previous page still yielded very mixed results, the field tests are somewhat more positive. At the very least, OpenWRT can compete with the original firmware, and in some cases surpasses it convincingly.

7 meters Through the wall

In Practical Test 2 Door de Muur we send a file of around 314 MB from a NAS to a laptop that is located 7 meters from the router and with a thick concrete wall in between (Lan-Wlan) and from the laptop back to the NAS (Wlan-Lan). We perform this test on both the 2.4 GHz and 5 GHz frequencies. This particular field test says something about how well a router manages to deal with obstacles - which are practically always present.

Average speeds per test and tire

Below you can see the average speed for each individual test, linked to either the 2.4 GHz or the 5 GHz band.

Once again we see that in the case of the Netgear R7800 Nighthawk X4S on OpenWRT, higher speeds are achieved at 5 GHz with a single client connected. When we test the tri-band with three clients, Netgear's own software shows up slightly better. At 2.4 GHz, the advantage is clearly not openWRT in terms of throughput.

Field tests

Where the throughput on OpenWRT was sometimes disappointing, the average speeds are 10 to 25 percent better than the original firmware - depending on the band. Both in line of sight (LoS) and through the wall (DdM), the R7800 Nighthawk X4S achieves higher average speeds on OpenWRT than on Netgear's own firmware.

Closing

OpenWRT as a replacement firmware for routers is suitable for users who want to get more out of their router and are not afraid to flash firmwares, manually add functionalities and are already more familiar with the associated terms.
However, all this does not mean that you necessarily have to be a networking expert to install and use OpenWRT yourself. The bare image of a public release already contains the graphical user interface LuCi, which most users will find their way around. It is user-friendly enough to be able to do all basic things and tasks, but it can also be greatly expanded in terms of options.

In terms of performance, we have seen that OpenWRT on the router we use has somewhat better performance on the 5 GHz band. If several clients make extensive use of the wireless network, the original firmware has the advantage. At 2.4 GHz, OpenWRT lags a lot behind the original firmware in our test. All in all, there is not really a clear winner. If that had been the case, then the nuance should also have been added that the results of OpenWRT can differ per model and even revision number of a router.

Netgear Nighthawk R7800 X4S

Especially for the simpler routers, OpenWRT is an interesting way to expand the list of features. The more luxurious models often already have many of the functions in their firmware that we also encounter with OpenWRT, as is also the case with the discussed Netgear R7800 Nighthawk X4S. The situation is different with the simpler and often cheaper models; there are often no options for, for example, a guest network, a do-it-yourself NAS or performing specific tasks at set times.

Also for owners of older routers that no longer receive updates from the manufacturer itself, OpenWRT is definitely worth considering. After all, security updates are still being implemented here, and if the router continues to work properly, its practical life can be extended. For those who want to make safe use of wireless networks, OpenWRT will offer better support on much older routers than with the original, outdated firmwares.

Finally, OpenWRT is an option for routers that are not stable. If you regularly unplug your router because it has crashed or malfunctioned, it may be worth trying this alternative firmware – especially if the manufacturer itself doesn't offer a newer firmware or has a solution to the problem. . For the avid network keyer who wants more control over the hardware, OpenWRT (and if not one of the other firmware projects) will not be so much an alternative as it will be the preferred choice.

Next Post Previous Post
No Comment
Add Comment
comment url