96 comments

[ 3.3 ms ] story [ 170 ms ] thread
OpenWRT is awesome. Though I have my own story of woe: they switched a very specific WiFi driver implementation to another one which completely broke my 5GHz wifi, it leaked kernel-memory until the AP became unresponsive (fast). Though OpenWRT is so awesome that even someone like me who has no experience with embedded hardware can compile a new firmware with the old WiFi driver and it worked! :)
I'm curious. What implementation is this? The only thing that comes to mind is ath10k-ct.

edit: Recompilation should not be necessary. opkg remove && opkg update && opkg install should do it.

The first gen Archer C7 routers kernel panic as Qualcomm decided to not support the 5GHz card in the driver they use (but later revisions of said card are supported). You end up needing to open the router and remove the card just to get it to boot.
Awesome, as I was just trying. to recompile the image for my (small) device, which failed after 9 hours(!) of building.

OpenWRT itself is amazing.

Let me grab this occassion: is there a Elecom WRH-583BK2-S sized similarly dual RJ45 dual band router -- with OpenWRT compatibility? https://twitter.com/ysks/status/773135671057784833/photo/1 it is not OpenWRT compatible. Specs at https://twitter.com/ysks/status/773141289197981696
Afaik, TPlinks MR3020 and its successor, WR902AC are supported, but they don't have two Ethernet ports.
Look up gl.inet units. For example the GL-iNet 6416.
The GL.iNet GL-AR750 is a bit bigger at 88x68x24mm @ 66g vs 65x35x20.5mm @ 45g but does have OpenWRT preinstalled.

https://www.gl-inet.com/products/gl-ar750/

Edit: it is also dual-band, unlike the GL-iNet 6416 or other smaller units from same vendor.

I have the AR750. It's not a "bit" bigger. I mean, 143ml vs 46ml, that's a three times difference.
Maybe try to find a GL-AR300MD? They are discontinuted, but they were 58x58x25mm for a volume of 84.1ml. That's the only product I could find anywhere that met your requirements and is smaller than the GL-AR750.

Edit:

https://www.gl-inet.com/products/gl-ar300m/ (scroll to bottom to see GL-AR300MD)

IA link to when the product page still existed:

https://web.archive.org/web/20180113053817/https://www.gl-in...

GL called the GL-AR300MD a beta product.
Out of curiosity, what do you recommend for the use case you originally mentioned?
What exactly are the benefits of having Openwrt installed on your router? What additional functionality does it provide the average HN user?
Similar to desktop Linux, there is a package manager. Meaning you can install packages like samba, openvpn, etc...

There's also a security aspect to it. Stock firmware typically uses outdated and unsupported kernels.

Encrypt VPN traffic for the whole house, instead of by device. My router didn't support this out of the box.
This will be terribly slow with most routers btw. They don't have enough CPU to do all that crypto
Compared to most stock router firmware? It is fast, and more stable.

May be the updated drivers or the removed junk, but WiFi, NAT and USB speeds are better on all the routers I had (my first step - install Openwrt, DD-wrt or Tomato). And no latency spikes.

Lots of configuration options, extra capabilities via packages, and it can run for months without losing speed, losing the connection, becoming non-responsive or rebooting.

It's much more configurable than stock software. Even the cheapest devices support VLANs and multiple wireless networks on hardware level (useful for isolating private / iot / guest parts of the network), but stock software usually does not expose such advanced features.
Vastly more power and flexibility, with a highly usable Web interface (LUCI) and console access.

Regular updates.

Excellent documentation.

https://openwrt.org/docs/start

And a whole set of packed applications and tools. There are about 6,000 packages in total, ranging from device-specific and kernel support to advanced applications such as media servers. Link below is just the larger apps.

https://openwrt.org/docs/guide-user/services/start

Re-romming my DSL modem (500 Mhz dual-core CPU, 64 MB RAM, 8 MB Flash), as advantages over stock vendor firmware, I get:

- SSH access, rather than periodically-enabled telnet

- adblock

- remote logging capabilities.

- performance and activity monitoring.

- consistent interface with my router (also running OpenWRT).

- Full-featured shell tools rathee than barebones Busybox versions, if I like.

- Remote filesystems / additional storage.

Depending on your device(s) and capabilities, your modem, router, or other hardware can serve as a home server: NAS, UuuNextCloud, Webserver, VOIP services, media server, PXEBoot (useful for testing images/deployments), guest network(s), VPN, proxy servers, email, mesh networks, messaging, captive portals, and far more.

> Regular updates.

...and continued updates for much longer than you will get from most manufacturers.

I choose my routers based on if they are supported or not by OpenWrt. And for everybody that asks my opinion, too. Because they might not need/want/know/have a desire to install OpenWrt now, but it's good to have the door open for the future.
More so the case these days of their router being artificially obsoleted via update support being dropped, locking them into the lottery of the next security exploit being game over.

So yes, definitely worth having the option of alternative firmware.

This policy has worked well for me, for home use. After the original WRT54G series, I tended to go with whatever was very popular among OpenWrt developers. I still have a few WNDR3700v2 and related later models that I got due that policy, and they still work great, including (so far) with today's update.

I've fairly recently gotten some PC hardware to let me build a much more powerful router, perhaps atop Debian or Alpine. But that's gotten pushed down on the priorities stack, when having cheap little plastic OpenWrt routers and spares works for now.

VyOS is a great distro for x86* routers. Built on top of Debian, with free range routing preinstalled and configured.
Ubiquiti routers don't support OpenWrt. They're still excellent. You could also install OPNSense/PfSense on a PC Engines machine (they apparently also run on OpenWrt).
But I think their bridges firmware is based on it..
The Unifi AP firmware is definitely OpenWRT based.
OpenWrt can be installed on Ubiquiti routers.
Running DD-WRT on my router, currently. Would people tend to recommend OpenWRT, these days?

I haven't been in the loop WRT open router firmwares in a while...

Yes

DD-WRT remains a hacky codebase with several things breaking all the time. I'm aure some people are running it just fine though.

It also uses close-source drivers for some equipment.

Last time I tried it on an Archer C7v2, the 5ghz didn't work properly.

Thank you.

I did some digging and my router, the Asus RT-AC68U C1, being Broadcom-based, has no working WiFi. Guess I'll stay put.

Merlin's firmware might be interesting to you: https://www.asuswrt-merlin.net/features

(I did not install it, because the model I have has fallen out of the supported hardware list a while ago, but it'd be great to hear how well it does for anyone else.)

Broadcom based routers require closed source drivers as Broadcom does not release documentation.

DD-WRT and Tomato/Merlin might interest you. The latter tend to work better.

Thanks for the heads up. I have that exact hardware and was looking at DD-WRT, but perhaps I'll try OpenWRT instead.
I've been using OpenWRT on C7v2 for what feels like many years, never had a problem with 5ghz
Yes, I used to prefer DD-wrt, as it came with everything pre-installed. But Openwrt has all that and more, while being very actively developed compared to DDwrt.

Installation is just as easy, and there's an integrated safe mode (which saved my ass, fiddling with uboot, trying to overclock).

Need a quick primer on the differences between various current flavors of open router firmware.
Tomato - Broadcom only - 2.6.22/.38 kernel (with multiple patches on top).

DD-WRT - Most compatible - various kernels - some drivers are closed source

OpenWrt - Fully open (except for firmware) - Latest LTS kernels. 19.07 will use 4.14 for almost every target.

If you want a popular open source router firmware that works on affordable commodity plastic soho routers, OpenWrt.

There are other firmwares for plastic, and it used to be that some of them (like DD-WRT and Tomato) would just work better than OpenWrt on a small number of devices. Today, I suspect some of them still have merits that arguably make it worth not just doing OpenWrt, but I'll defer to someone more familiar with them to discuss those merits.

If you want to be better respected on /r/homelab, or not use a SoC, then get PC hardware (or a turnkey appliance) and pfSense or OPNsense. You might end up getting separate plastic WiFi APs (perhaps running OpenWrt), and doing only Ethernet on the router box itself (pfSense suggests this).

You can also make your own router/firewall/appliance, by just configuring a PC GNU/Linux distro manually. Extra gigabit NICs come on PCIe cards.

DD-Wrt and Tomato are more specialized and both follow a strange and obtuse development process (hope you like reading neverending and always out of date forum threads). OpenWRT uses a more typical open source process with heavy utilization of GitHub. It's much easier to follow and participate.

As far as I am concerned, the OpenWRT community is the only one that has it's shit together.

Why didn't the upgrade take over my OpenVPN packages? I had to install the packages openvpn and luci-app-openvpn manually, but the settings were still there, fortunately.
Stock firmwares do not include a big package like OpenVPN. Hence, it muat be redownloaded.
Stupid question:

Will doing a “opkg upgrade” give the same effective result as flashing an updated stock/sysupgrade image?

Asking because it’s annoying remembering which packages I need to reinstall.

Almost. The kernel will stay the same.
Any reliable, device-agnostic way to upgrade the kernel only, without fiddling with dd?

Being completely up to date always feels better :)

On some devices it's located on a separate partition. I wouldn't do it though as it might cause issues with the kernel modules.
No mate you need to flash a new build to get a new kernel.
Mostly. The limitation is largely based on device storage: my small modem (64 MB RAM, 8 MB Flash) has only a ~5 MB /overlay partition, which is rapidly filled (as I've discovered).

On a device with more nonvolatile storage, you can run more opkg updates and installs.

Alternatively, build and install your own images, if that's your thing. I've tried this, unsuccessfully to date.

This week due a wifi network intrusion I bought a Linksys Wrt3200acm. It looks good on paper and it has two boot partitions so it doesn't brick. I installed a device specific distribution recommended on the forums. Well, the 5ghz wifi range is total crap with Openwrt because the wifi driver is not as advanced as the one shipped by default and with the open source driver it can't transmit at full power.

I ditched Openwrt and installed back the stock firmware. But I am returning this device to Amazon tomorrow.

Which modern device do you recommend?

Ubiquiti. Check out the UniFi Dream Machine for all in one. It’s early access right now.
Only available to US and Canada users sadly :(
I've been partial to the Buffalo brand for years, but I have no idea if they're still considered reasonable. The last time I bought one was a few years ago.
It's even worse. Driver development has stopped: https://github.com/kaloz/mwlwifi/commits/master

Many like the R7800. I do not.

The XiaoMi 3G is also a good option. The driver is open source and actively developed. (The USB3 port can cause interference in 2.4Ghz though).

Anything based on ipq806x and ipq4xxx should have excellent WiFi performance. (Including the R7800)

I would recommend a Ubiquti UniFi [1]. Although I'm so pissed off that I can't deeplink to their UniFi product page that I'm almost not making this very post. Which specific one depends on your needs and budget.

[1] https://www.ui.com/products/#

I was a Wisp user for some time so I know the brand and it was a solid device overall. I looked into the UniFi products and the AP plus a controller is almost 100 euros more expensive than the Linksys device. I will look in the future for Ubiquiti devices but I think I am going to use a standard WiFi device (after all it is a one story flat not too big) and perhaps in the future I will buy a barebones so I can run pfsense with the current wifi device as a dumb AP.
You can run controller in the cloud, or on a Raspberry Pi, or on a VM, or ...
Or just on your laptop. The controller is only required for setup, the AP's can run in standalone mode just fine after being setup (they just don't have any user interface to speak of on their own).
If you've got just one AP then you don't even need a controller. I just used their iOS app to set up my UniFi AP.
This is my exact experience. Wireless performance with OpenWRT is severely lacking.
A bit expensive. Around 100 euros higher than Linksys. I think I will wait for a barebones with pfsense. I miss Freebsd.
Auto-updates (not otherwise supported by OpenWRT) fire-and-forget deployments, extensible hardware (add internal disk, NAS enclosure), and very future-proofed with beafy CPU, storage, and memory.

That's worth the modest price premium, and is comparable to similarly-specced proprietary offerings.

They have a new offering called Turris MOX
Zyxel NBG6817. It's what I use with OpenWrt installed and it is rock solid and performance is excellent.
How is the UX story on OpenWRT these days? I have an Archer C7 running stock FW in my basement that keeps acting up, and my default would be just to flash DD-WRT. I'm not opposed to a little bit of CLI fiddling, but I definitely also like my router to be a set and forget type of device.

As far as what to do with it, I could picture house-wide ad/tracker blocking, sending traffic analytics to elastic, potentially some homeassistant/rtlsdr type stuff.

> my default would be just to flash DD-WRT

I have openwrt on all my 3 Archer C7s.

I much prefer it to dd-wrt.

Did you have any drama getting it flashed? I'm trying now and consistently getting "Error code: 18005" from the stock web UI's firmware uploader, coming both from 160719 and also from 180114 (the most recent version from the vendor: https://www.tp-link.com/us/support/download/archer-c7/v2)

Curiously, neither one lets me flash 180305, which is listed as the current version on the Canadian support portal: https://www.tp-link.com/ca/support/download/archer-c7/v2/

This kind of thing is why I stuck with the stock FW so long, le sigh.

----

Oh fun, so there's a note on this page about there being separate versions for US and rest-of-world: https://openwrt.org/toh/tp-link/archer-c5-c7-wdr7500

I grabbed the archer-c7-v2-squashfs-factory-us.bin file and we seem to be in business now!

On OpenWrt, you can do most things from the Web admin interface, including installing additional software packages (and the corresponding "luci" Web admin interface module packages for them). That interface has hardly changed in a few years.

One thing to know is that the overall documentation situation is "mixed", and if you Google for how to do something with OpenWrt, you'll often find very old notes someone wrote about how to do something with the command line and editing files. (I know Linux pretty well, have used OpenWrt for years including some complex setups, and occasionally I have trouble finding documentation of simple things like, e.g., what partitions/mounts are currently volatile, for example, and distro-specifics of where you're supposed to edit packet filtering rules.) There's not enough correcting of that scattered documentation, such as to say that almost everyone just uses the Web admin interface now. When in doubt, just look at what the Web admin UI currently does, and try to use that.

I didn’t touch the CLI at all configuring my OpenWRT devices. They are all configured through the GUI.

The only reason I use the CLI is because I know how to and it’s quicker to backup the configuration (ssh root@<ip> uci export > backup) and restore it (uci restore < backup) but this can also be done through the GUI.

The GUI is a nice combination of ease of use and advanced features. You can configure the basics easily, but the advanced stuff is also there if you need it (and if not just keep the defaults which are sane).

It's good these days. Slightly less logical than DD-wrt, but pretty great overall.

See other people's comments on running Openwrt on the C7, seems to have issues with 5ghz WiFi?

C7 rev 2 works flawlessly with OpenWRT
That's great to hear; my last OpenWRT experiences are from almost ten years ago at this point, doing multi-stage flash processes to get it onto Mikrotik boards. Not surprised it's been made more sane in the years since.
I tried it out on my C7 and while I liked it, it would not play nice with my pi-hole. On the stock firmware, I was getting a 50%+ block rate and never really saw an ad. After installing OpenWRT, I was only getting about 10% and was seeing ads on just about every device. I tried numerous configurations and nothing really worked. Ended up going back to stock but I recommend openWrt as long as you don't try to get it working with a pi-hole.
I run OpenWrt on my wrt3200acm. It runs grate, but I use it for routing only. I run 2 TP-Link c7 v2s as dumb APs for both 5 and 2.4 GHZ. The c7s are on OpenWrt to. The WRT3200acm does adblocking, runs BanIP and DNS over HTTPS. Plus some firewall rools and BCP38. I am very happy with OpenWrt and my setup! If you have a router that can run OpenWrt you should giv it a go. We have good forums and a irc channel. Even a twitter to help. https://twitter.com/openwrth?lang=en Happy flashing!
For people asking about the user interface of OpenWrt. I think it is very well dun. I get a long with it just fine and I am blind and have to use a screen reader. A11y in Luci is grate. All the pages make sence to most people you do not have to be a networking expert.
I just installed OpenWRT on a tl-wr841.

The interface is such an improvement over the built-in. It's really well-made.

Tried it out in Links text-only browser, just because, and it works fine there as well. They did a fantastic job with progressive enhancement IMO. Good to hear it's working well with screen readers.

The built-in router interface just flat out refused to even show a login form w/o JS, and disabled right clicking, which was really annoying, because I was trying to get our PPPoE details from a pre-filled password input.

It was too difficult for me to capture the pw with a script from the console, as the password input was inside another iframe. Ended up using Wireshark!

I recently started running into performance issues on OpenWRT 15.05. I found out that the latest kernels have lots of important optimizations, including "software offloading" and - if your hardware is supported - "hardware offloading". I updated the software and found that it instantly sped up by a large margin, then updated to the latest Git snapshot and managed to NAT at 600mbps at my - rather old - router. So, my suggestion is:

If you had network performance problems before, DO UPDATE. You might be surprised at how much faster it can get. In my case it was doubled.

I'm still running OpenWRT on a Netgear WNDR3700v2 (one of the earlier routers to have all gigabit), but it feels like it's showing its age.

I'm thinking that when I replace it it's more likely to be with something running either Untangle's free-level options or pfSense (plus a separate AP for either, most likely). Could also go with something Mikrotik to be cheap, but I'm more interested in getting used to working with something that has UTM options as well.

Hi mate. Have you updated to the latest build?
Updated 27 minutes ago according to the uptime. No issues noted, I see both 2.4 and 5 GHz devices connected. I was a little concerned to only see 75-85% signal quality on 5GHz with everything in the same room, but it turned out my wife left her phone in the other room. When I brought it in, I'm seeing 95%.

I think the only thing I'd like to have is a more informative single-pane-of-glass dashboard where I could see a few bandwidth graphs, wifi signal indicators, maybe system load and possibly a connections graph at one time. That said, it's my home router and I don't really need that - I'd want those features for business use, but if I'm working with businesses where I need to run OpenWRT on (frequently) consumer hardware as a router then I've already made a mistake.

v1 still going strong :)

Shut off its wifi radios a few years ago but it still routes and runs dynamic dns just fine.

Are you using any extra OpenWRT functionality?

I'm still using the radios - no AC, but N works well enough for me and gets me more speed than my Internet connection. Besides, I'm using old-enough laptops that they also don't go higher than N.

As for extra functionality, at one point I had things set up to VPN into my home network for either remote access or coffeeshop security, but I turned it back off after not using it for something like 6 months. I've been amused by all the Asterisk packages available, but I'm pretty sure I don't actually want to try to run it on a 7+ year old ARM device with 16MB of flash (or with extended storage via USB2).

I am having an issue with OpenWrt when I upload binary to Apple AppStore with XCode. The router stops workings and restarts during upload. My current router is Archer A7 and I don't have an issue with another router which also has OpenWrt.

It is really a strange problem. How uploading a binary to apple servers can cause this?

Are there any 802.11ax (Wi-Fi 6) compliant OpenWrt routers on the market today?
No sorry. There is no open drivers.
If you have any work on openwrt I have relevant experience doing a GPS project and a home router project.

My page is

Http://profile.gayatri-hitech.com