OpenWrt 22.03
openwrt.org
openwrt.org
For those that have never tried it it's also worth it just to understand more deeply how amazing these cheap devices are. For ~100$/€ you get a single board computer, plus a managed switch, plus 1 or 2 wifi cards. The managed switch in particular is very interesting. The computer is just another connection to the managed switch and you can configure it in any way you want. Traffic can go directly from one port to another without going through the CPU.
These capabilities together make a network of OpenWRT devices really flexible. I use it to replace the included router from our Internet/TV/Phone provider. The VLANs are needed to access the different IP networks for the different services. That you could do with a normal network card but then I also use VLANs inside the house wiring to take the IPTV network to the TV box. I then use a separate SSID to carry that VLAN in a point-to-point connection to another OpenWRT AP as a client so I don't have to run wire to that place and so the broadcast traffic doesn't swamp other normal Wifi clients. All this can be done with these very cheap devices that already have all the needed hardware. For all the deserved fame RaspberryPI gets these routers are equally amazing hardware for a lot of things.
I see two problems though. The biggest one is that hardware vendors are starting to add cryptographic signatures to their firmware upgrade process.
And another problem is that the hardware often has very limited memory, which makes it impractical for many things.
serial console/TFTP/buy from vendors that don't restrict your choice (ubiquiti, netgear, belkin/linksys, some chinavendors come to mind)
RAM is usually fine, just get a decently specced router.
I've been using 22.03 release candidates on all my networking gear (router, switch, access point) for several weeks without problems, and can only recommend giving OpenWrt a chance :)
Also, you can be quite sure that there are no software components active that serve the interestest of the device's manufacturer more than those of its owner and users.
* Privacy (lots of stock firmwares phone home). With OpenWrt your hardware is _yours_.
* When you do have to interact with the router, you don't die from its terrible UI (in fact, OpenWrt has a great one).
Such as adblocking (pi-hole like experience without additional gear)
ssh access, printserver, dynamic DNS, VPNs, different routing protocols, vlan support, tunneling protocols, monitoring, home Automation, wireguard, wpa3, OWE (encrypted open wifi), lots of goodies known from other linux distros, etc
Here are some pointers on whats possible: https://openwrt.org/docs/guide-user/start
Edit: added examples. And er, that stuff is ordinary for me :-)
1Gbps down but 30 Mbps up seems reasonable.
My Mikrotik hEX can max out that 30 Mbps without any trouble.
I'm not 100%, but it may actually be 370Mbps down, but I don't want to advertise that number without being sure. I replaced it with a RPi4 as a router-on-a-stick WG gateway. The RPi4 has no problem keeping up with my 500/100 fiber connection.
The RBM33G has a pretty weak MTK7621a dual core 800mhz MIPS cpu.
I should setup two of them and run some proper benchmarks at some point.
Possible on Asus hardware using the third-party Merlin firmware as well:
* https://github.com/RMerl/asuswrt-merlin.ng/wiki/Entware
* https://www.asuswrt-merlin.net/features
The default Asus firmware is decent too.
This is a serious pet peeve of mine with other routers. I don't need a heavy frontend just to configure my router, I want to open port forwarding quickly. Fading effects and fake loading swirls are utterly unnecessary. There's none of it in OpenWRT.
I once included one of the OpenWrt login banners in a "screenshot" for the Racket community, and neglected to explain why alcohol was involved: https://www.neilvandyke.org/racket-openwrt/
So, naturally I hopped onto a train and bought a used NEC UNIVERGE IX2105 to replace with; a compact, fan-less, half A4 sized sheet metal pizza box with blue accent on matte white. Functionally a Cisco ISR 892J or 1941, physically smaller. Current models in its siblings range from ~$750 to $2.5k, however this Model 2105 is no longer officially supported, and are sold cheap in used market($30-50). It still has one GbE and one integral 4-port L3 switch, with up to 440Mbps advertised VPN throughput, an Apr/2022 built firmware, and full support for IPv6, OSPF, BGP, etc(that shamefully I had failed to understand).
I suspect it runs BSD in some shape or form as `show copyright` command shows licensing terms for FreeBSD and BSD library among others, but it won't let me drop into shell, nor does the typical *nix daemon parade on boot. The CLI is basically a Cisco, or like VyOS/Ubiquiti, except there are no obvious telltales of dancing bash contraptions and required facade massaging, unlike with many Linux-based routers. Firmware files for its lineage are also extremely small by modern standards(~8MB), RAM sizes are small too(16~128MB).
It does its things, and does well. A downside is it's proprietary. I used to run OpenWRT in 11b/g days but I suspect that was before it incorporated a unified config file. I was obviously on VyOS/EdgeOS until last week, and while it had served me good, it did trip over stones once in 2-3 years. I've also heard RouterOS is great but stable as Stable build bricking itself. I've used OpenWRT but that was before iPhone and perhaps before it even had a unified CLI configuration. Is OpenWRT better in stability/footprint/simplicity these days?
Just did the upgrade today and it was flawless. Which is much better than I can say for the stock firmware upgrade process!
It's incredible that the openwrt team can produce such a better product in pretty much every way than the original manufacturer can.
Now I can't unsee this.
Thanks for the heads up on the heat issues.
[1] https://forum.openwrt.org/t/banip-support-thread/16985/751
It's probably best explained in a video on what may be the best youtube channel on OpenWrt-related things: https://www.youtube.com/watch?v=FFTPA6GkJjg
Or, if you prefer textual information: https://openwrt.org/docs/guide-user/installation/attended.sy... (OpenWrt's infra is kinda slow today for me, must be many people checking out the new release :))
Just use image-builder. Or better, create a script which uses image-builder for you.
For me, upgrading to newer releases for my 7 OpenWRT devices, is mostly just updating a version number and waiting for the build to complete (a few minutes at tops).
It's not really hard.
I may have gone in a bit over-the-top, with makefile and dependencies at all[1], but at the core of things, it's not really hard.
In other words configure my router such that the only difference between it and a switch is the fact that connected devices are not connected via an ethernet cable but via a wifi connection.
I specifically don't want any kind of NAT, firewalling, filtering or any other kinf of "smart" features. Just a dumb switch that uses wifi instead of ethernet physical connections.
Does OpenWRT support this mode of operation?
I'm gonna try to set a WAP/DAP soon.
Not affiliated, just a happy customer
internet-router > dedicated switch > access point
Where nodes on the switch where on the same lan as the wireless clients.
As others have mentioned, this should be possible also if you use the built-in ethernet switch (I can't recall if I ever did that..).
Yes, and if you want auto-updates, check out the Turris Omnia: https://www.turris.com/en/omnia/overview/
It's the best wireless router I've ever owned.
Pros:
- nice simple GUI for your typical stuff
- advanced GUI (that runs in parallel) for advanced stuff
- auto-updates with timely patches
- open source (inc. their additions) -- based on openwrt
- developed by a reputable non-profit that's been around since the 90s (CZ.NIC)
Cons: - a little pricey
- current model is a few years old, so it's not the fastest option out there
- the current model doesn't support 802.11ax
To turn off the firewall, you just uncheck a box. I think all the other advanced stuff was opt-in.Thank you OpenWRT. Wifi 6 support is gonna be awesome!
Are there any devices with good Wifi (6) support? Last time I bought an expensive router with advertised OpenWRT support and the wifi was horrendous.
My WRT32x will randomly have its 5Ghz AP just seize up once every week or two and require a reboot. I'm slowly working up the willpower to replace the thing
0.01 load doing 300/300 with SQM.
Reports on the OpenWrt forums I've seen range up to ~800Mbps.
You should see similar numbers for the RT3200.
On a 80 Mhz channel with a wifi6 client device, I hit 700/500 (PHY rate is 1200/800).
I frequently see reports of 930mbps (maxed line speeds) with 160 MHz on openwrt forums, assuming you can set up an AP with 160 Mhz.
160 MHz channels are not allowed on the 5 GHz band in Canada, so I currently do not run 160 Mhz.
6 GHz will have plenty of 160 MHz channels, so as you can see that's why I'm waiting for that.
There are some recommended tweaks I've applied but so far I like it much better than my old WRT3200ACM unit. https://openwrt.org/toh/linksys/e8450?s[]=linksys&s[]=e8450&...
A pain point in upgrading the OS is that packages that were previously installed need to be reinstalled. In my case, this includes `dnsmasq-full`, which is dnsmasq with DNSSEC support and a few other features that are enabled in the regular `dnsmasq` package that comes by default. So after an update, there's not even DNS/DHCP in my local network. I need to configure static IPs, SSH into the device, and start reconfiguring it.
I keep very tidy notes on how to reconfigure from scratch, so it's not a big deal, but I really shouldn't need to do this on every OS update. Having to do this leads me to just sticking to a very close-to-default configuration, because any customisation will result in more issues upgrading next time.
It's improving though, this upgrade was smoother. Or maybe I just keep better notes?
Which when you start having lots of OpenWRT based devices kinda gets a pain. And we hackers we solve pains, don't we? ;)
So when a new OpenWRT release hits the market, I usually just have to update the OpenWRT release-number at the top of my makefile, and Github builds all the images for all my devices, with all the packages and customizations I already have in place.
All devices upgraded in less than 30 minutes.
My setup, for those interested: https://github.com/josteink/openwrt-build/
Or you might also use the “attended sysupgrade” process which takes care of the firmware update directly from the device.
https://openwrt.org/toh/views/toh_fwdownload?dataflt%5B0%5D=...
[1]: https://forum.openwrt.org/t/patch-squashfs-data-probably-cor...
Eventually the programs start crashing as config, shared libraries, etc. are being pulled from under their feet.
Very stable and fast. Alternative for understanding the build process is: https://github.com/ferboiar/wrt32x
You need python on the router, most of my openwrt routiers don't have enough ram for that.
- https://github.com/gekmihesg/ansible-openwrt
- https://github.com/NN708/ansible-openwrt
and even
- https://docs.ansible.com/ansible/latest/collections/communit...
Are they not sufficient?
If you’re happy with DD-WRT, no pressing need to change it. But if you want more features or specific packages, OpenWRT is the thing to look at.
There's the security issues. If their AWS infra for their cloud services is that shit (as was revealed by a hack by an internal person), i doubt security is taken seriously in the org in general. Not to mention them suing security reporters.
Unlike their sometimes dubious hardware QA, it doesn't impact you that much if you plan on flashing your own firmware on their hardware, but still, those are kind of turnoffs. Hardware quality seems to vary somewhat, but is mostly decent.
glinet ship their own builds of a forked openwrt (most based on 19.x) containing proprietary patches and binaries. I got a handful of their most recent devices as of last year and all of those are officially still stuck on an ancient 19.x with several security issues that are fixed in upstream but don't make it down.
Got the GL-MT1300 working with a self-built open-source OpenWrt 21.something pretty straightforward but the E750 has been nothing but trouble, weird bugs and unreliability as soon as I try anything except light tweaks of the out-of-box experience. The last thing on the E750 is that my self-built firmware will initially work fine but at some point (and all subsequent boots after), there is not way to get network access either via wired or wifi, despite the OLED indicating everything's as it should. It's in the drawer waiting for me to figure out how to get serial working to debug it as a full factory reset is the only way to recover otherwise and I replicated the issue a few times already.
This is all after several hours of trying to dig apart their convoluted github org to figure out how the builds are made and where the code comes from in the first place.
I'd be really surprise if there will ever be anything 22.03-compatible for any of their current devices given all the iptables voodo in their custom scripts...
Given the combination of poorly maintained official images, inconsistent compatibility with open source upstream, and no way to reproduce their builds, I'd say these can be fun little toys if your use-case perfectly matches the out-of-box provided features but sadly enough you should seriously consider and test each model individually before relying on it for production use even just personally. At least until public progress is made on some of that.
[1] https://github.com/gl-inet/openwrt#product-branch-relationsh...
This should give an idea of how much much attention they pay to security updates and the response one can expect when opening issues or PRs on their repos:
Imma let you finish, but you've always been able to install vanilla OpenWrt on GL.iNet devices. I've been doing this for years across most models. Actually there are only a couple of recent GL.iNet routers that I don't own.
My rant above comes from multiple days of struggling to get a working build that doesn't have stability issues not present in the official image.
Like I mentioned, I don't recall any surprises with the MT1300 that couldn't be worked around.
https://forum.openwrt.org/t/reboot-loop-problem-at-startup-o...
https://github.com/openwrt/openwrt/issues/9273
(neither of these describe the issue i was talking about fwiw)
This post details a community firmware with images: https://forum.openwrt.org/t/gl-inet-ax1800-new-router-openwr...
That community repo is a fork of the GL.iNet build infrastructure repo, just with less definitions that allow compilation to succeed.
My understanding is that infrastructure fetches the official owrt sources and applies the patches listed in the yaml files, but I didn't audit the entire build system in 15 minutes :P
Is there an alternative HW You'd recommend for OpenWRT?
Other than that I'm yet to find anything that beats taking a generic x86 or aarch64 that happens to have a miniPCIe slot , put in appropriate wireless modules and treat it more like you would a normal linux installation. Separating AP/router duties between two separate devices will help a lot to simplify things whichever route you go (makes little sense for the "pocket travel router/ap" scenario obv).
OpenWRT has some great extensions and luci modules, some of which integrate very well. If you don't need them and want to do anything more than a standard home network setup, I'd consider if the trouble with OpenWRT is even worth it and set things up from a base debian/rocky/freebsd/openbsd/whatever base instead. Things that can be super time-consuming to get right in OpenWRT can actually be surprisingly straightforward once you remove their abstractions. Especially with nftables, if you're on Linux.
I completely resolved the issue by flashing the mainline OpenWRT image from openwrt.org. It has been working pretty well ever since.
It has decent specs, and OpenWrt on it works well for me.
(Personally I have an ath10k based ZyXEL NBG6817 (product name is "Armor Z2") which I'm happy with. But it was a few years ago I bought it, don't know if it's still on the market. Also still running the previous openwrt 21.02, haven't yet upgraded.)
one caveat at the moment: 802.11ax is? was unstable.
I have it set up so everything using the routers sees WG nodes as ordinary endpoints.
It does work well, but it wasn't straightforward to configure all of these things properly through the UI.
In particular, I had to figure out the hard way that one needs to add
option route_allowed_ips '1'
to the wireguard config in file /etc/config/network(this option doesn't seem accessible via the UI)
There also seems to be a couple of very wonky things around static route management and also the 5GHz radio band that stubbornly refuses to move where I want it to be, but otherwise it works really well.
I'm going to play with it for a month and drop dd-wrt altogether if I don't encounter major problems.