27 - Jul - 2026

Your old router can do things your new one can’t — if you install this free firmware

Recently, my friend asked me to find them a new router for their small business. There was nothing wrong with the ISP-supplied router, but it lacked the features needed to meet the network’s technology requirements.

That gave me the perfect excuse to introduce them to OpenWRT, firmware that I have loved for years because it breathes new life into old network hardware. Flashing the old router felt less like upgrading the router and more like turning it into a small Linux machine.

Suddenly, the same old hardware that was limited for years could run extra software, manage traffic like an advanced router, and even make use of the USB port on the back of the device.

I stopped seeing it as a router and started seeing it as a tiny Linux box

The first five upgrades made the factory firmware look incredibly basic

Once I confirmed the router was supported using the Table of Hardware list, installing OpenWRT was as simple as flashing it with the correct image downloaded from the OpenWRT stable releases page, then completing the first-run setup.

After saying goodbye to the limited factory router admin page and hello to OpenWRT’s LuCI web interface, the router already felt like a new machine. Instead of a solitary green light indicating the internet was connected, I could see uptime, memory usage, storage, active interfaces, traffic, and everything I needed to know to see exactly what the router was doing.

In my experience, factory router firmware treats the device like a finished appliance. OpenWRT allows me to install software and offers fine-grained control over everything from interface names to VPN configuration. In effect, the firmware flash is just a starting point.

For my friend’s business router, I set up the following:

  • Network-wide ad blocking and filtering with the luci-app-adblock package.
  • Historical graphs with luci-app statistics to record and display bandwidth, latency, processor load, and memory use.
  • Congestion control with luci-app-sqm and sqm-scripts to reduce the impact of big downloads on bandwidth and bufferbloat.
  • Remote access to the business network is provided by luci-proto-wireguard.
  • A USB 5G modem for a backup internet connection using the usbutils and kmod-usb-net packages to support Ethernet-over-USB.

After installing these base software packages, OpenWRT had already turned the router into a far more advanced device. Rather than just hiding a few extra settings behind an “advanced” menu, I now had complete control over nearly every facet of the device through a single web UI.

The package library is the reason I love OpenWRT

It’s basically like an app store for my router

OpenWRT software package selection and installation page

Most routers decide what their software can do before you even pick one off the shelf. You get whatever features the manufacturer decides, then maybe a few extras, and perform firmware updates down the line. If the interface doesn’t let you do what you need, the usual answer is to buy a new (and more expensive) router.

OpenWRT allows me to take existing functionality and expand on it to shape it into something far more useful. In LuCI, I opened System -> Software, clicked Update lists, and searched for whatever software packages I needed, then clicked Install.

The simple rule I follow when selecting software is that anything beginning with luci-app typically adds functionality to the web interface, while command-line tools become available over SSH.

These are some of the cooler software packages that are my favorite parts of OpenWRT:

  • nano gives me a text editor other than Vim to use in the console.
  • htop to keep an eye on processes in the terminal.
  • tcpdump-mini and nmap-full for inspecting traffic and finding devices.
  • luci-app-statistics for adding full historical graphs for bandwidth and system activity.
  • luci-app-pbr for creating network-wide split tunneling rules for VPN.
  • luci-app-ttyd to place a terminal right inside the browser.
  • luci-app-nlbwmon which shows me which devices on the network are consuming the most bandwidth.

These are just a fraction of the thousands of packages available with OpenWRT, though availability largely depends on how much space, memory, and processing speed the router has. And that’s part of the appeal. I can pick and choose which features I want while making the most of the available hardware.

SQM solved the kind of slowdown that even fast routers miss

Traffic management gets better results than another row of antennas

OpenWRT create and configure SQM smart queue management for WAN interface

A connection can hit its advertised speed and still feel like dial-up internet the moment someone starts a large download. The problem is typically bufferbloat, where packets line up in a big queue, and latency goes through the roof.

OpenWRT gives my friend’s old router a way to deal with bufferbloat called SQM, or Smart Queue Management. I installed luci-app-sqm, opened Network -> SQM QoS -> selected the active WAN interface, and entered download and upload limits just below the connection’s real limit of 100 Mbps. That gives SQM more than enough headroom to control bottlenecks and let the modem build up an enormous queue.

I did notice that enabling SQM resulted in lower raw speed tests. Overall, however, applications, downloads, and VOIP calls stayed responsive even when the connection was being hammered with streaming or downloads. But losing a little speed didn’t bother me because it meant latency stayed consistently low even under load.

I turned the USB port into a backup 5G internet connection

The feature finally made good use of that USB port on the back of the router

OpenWRT enabling and plugging in 5G modem and terminal showing output

I initially had doubts that using a mobile internet USB modem would even work because the old router’s USB port was primarily used to create an SMB file share rather than to act as a secondary WAN. Before attempting to enable it, I opened System -> Software, refreshed the package lists, and installed these drivers so OpenWRT would recognize it:

  • usbutils
  • kmod-usb-net
  • kmod-usb-net-rndis
  • kmod-usb-net-cdc-ether
  • kmod-usb-net-cdc-ncm

USButils provided the tools for identifying the modem, while the kernel modules (kmod) covered the most common USB networking modes like RNDIS, CDC-Ethernet, and CDC-NCM.

The 5G model I used was a ZTE U30 Pro and required me to enable USB Ethernet before plugging it in. Once enabled, I used a USB-C to USB-A cable and plugged it directly into the router’s USB port.

The console immediately detected the device. Once I opened Network -> Interfaces and created a new DHCP client named “wanb” and added it to the WAN firewall, it worked immediately.

To stop the router from using the mobile connection over the wired WAN, I assigned the mobile 5G connection interface a gateway metric of 20 and the wired WAN a metric of 10. I tested the failover by simply unplugging the WAN cable and confirmed it worked perfectly.

OpenWrt can’t make every old router worth saving

Compatibility and weak hardware still need to be taken into consideration

OpenWRT statistics for router hardware software package showing system load

OpenWRT is definitely one of my favorite tools for breathing new life into a router, but it can’t fix bad hardware. A slow processor will always be slow, tiny flash storage will still limit what I can install, and a weak wireless signal won’t suddenly work just because the firmware changed.

The exact router model and hardware revision also need to be supported by OpenWRT, and some very old hardware might struggle with advanced features. That doesn’t ruin the appeal for me at all. I never need every single package in the catalog, and any reasonably capable supported router can gain ad blocking, control over DNS and DHCP, and SQM.

And even if the router can’t handle the entire network, it can still serve as a travel router or an emergency gateway. That’s why I absolutely love OpenWRT: it treats routers as hardware I own, not as appliances I’m merely allowed to configure.

In the end, my friend saved a few hundred dollars by not buying a new router and still gained advanced functionality anyway. OpenWRT shows that old routers don’t need replacing as urgently as the factory firmware would have you believe.

Leave a Reply

Your email address will not be published. Required fields are marked *