I've been reading some of the posts on this forum and I am struggling to find good recommendations for a device that has decent performance and full OpenWrt support. There always seems to be issues with either WIFI drivers or proprietary features that OpenWrt cannot support, beam-forming, MU-MIMO etc due to the closed-source nature of their implementation.
From what I've read thus far, it seems that the Netgear R7800 and Linksys WRT32X are fairly decent but installing OpenWrt over the base firmware does not provide the same performance as the native one!
Is there a device out there that OpenWrt can take full advantage of?
"Full OpenWrt support" is pretty nebulous. OEMs, with access to proprietary data sheets, firmware, build chains, and other information generally can do things that open-source projects can't, as an open-source project usually can't legally use that information.
WLAN is still an issue unless you go for Atheros 11n, otherwise Marvell wins hands down compared to QCA (IPQ) as far as platform stability and support goes (ARM). 11ac is a mixed bag irregardless what you choose.
In terms of openness there aren't really any substantial differences between mwlwifi or ath10k, both do pretty much the complete connection handling in firmware (almost fullmac); mt76 would be much closer to a real softmac driver that has access to all the relevant connection parameters.
In terms of stability/ reliability, newer seems to mean 'better' as well, QCA9984 (as in ipq8065) or ipq40xx seem to be more reliable than QCA9880 (archer c7). If ath10k or mwlwifi are better is hard to judge, without doing a double blind test - and depends a lot on the connecting clients and the general wireless environment. Both should do the job, but ath10k (at least the newer chipsets) might be a little ahead in terms of interoperability - the difference shouldn't be that large though.
Yes, the Turris Omnia is running OpenWRT natively on open hardware.
There are come downsides so - it runs a OpenWRT fork and it seems to likely take another 6+ months for their devs to completely upstream it. Because of the fork and limited ressources unfortunately many packages are outdated. But it has some real cool features unlike mainstream OpenWRT devices (for a summary have a look at the following lw net-blog entry: Turris: secure open-source routers)
Calling the Turris Omnia to run OpenWrt natively would be an overstatement and not any more correct than saying the same about any other commercial router whose vendor SDK is loosely derived from OpenWrt - it doesn't make it true.
cz.nic has forked OpenWrt for their device, while this fork is based on OpenWrt (and indeed open source), they've made considerable changes without submitting them back upstream to OpenWrt. Support for this device to OpenWrt was only added much later, by third parties - read interested users; cz.nic has not helped with this endeavour (they are apparently starting to get a little more active with submitting changes for their next device, the Turris Mox) and the way OpenWrt is running on the Turris Omnia differs significantly from TurrisOS (for better or worse) and not all features are currently fully supported (e.g. LED support).
I'm not an OpenWrt expert but recently bought four routers with stack OpenWrt: Turris Omnia (router/server), GL.Net MT300N Mango (travel router), WallFi WAP 1.0 (extremely small repeater), Kankun (smart socket).
TL.DR: use Turris Omnia if you need security, use Gl.Net if you are not paranoid and if you do have paranoia then use any router and flash OpenWrt yourselve.
CS.NIC declared that they will try to push their changes from TurrisOS back to OpenWrt upstream. But in practice it may be not so easy for them to do. Anyway at least all software in Turris Omnia has open source and you can get sources from their GitLab. Most of their custom programs are written in Python so can be easily audited. But binary packages are installed from their repository and this is keeps my paranoia.
From what I saw everything looks fine inside Omnia: code is clear, configurations are fine.
It has almost most powerful CPU for routers, and big storage (8Gb). In fact this is a small server.
Rolling updates: it automatically upgrades each night.
They give you some smart firewall
Some projects like EasyMesh uses Omnia as a main platform.
This is most "open" router. Developers are in touch with OpenWrt community, you may find their talks on OpenWrt Summit.
They are not a hardware company and don't try to create a mass market device. One day they may stop this business.
Not a Vanilla OpenWrt e.g. OpenSSH instead of dropbear, LightHTTPD instead of uhttpd etc.
There is two (!) custom dashboards, both aren't cool TBH. I just switched to LuCi.
They mention some remote control via app but looks like this wasn't implemented. No any services.
Is more closed than Turris: they do have GitHub account but there is nothing interesting. Some configs are strange, a lot of custom programs with unknown behavior.
You can flash vanilla OpenWrt with open source drivers
Not vanilla OpenWrt e.g. closed drivers, LightHTTPD instead of uhttpd. But main components are from OpenWrt and this already great: you can install whatever you want and be safe.
Slightly outdated OpenWrt
I had a problem with wifi drops and looks like that was a hardware issue.
WallFi WAP 1.0
Very interesting device: repeater that is so small so can be built into wall. Looks like it uses almost clear vanilla OpenWrt. Just because this is a simple repeater
This is not something that you are looking for but just an example of another vendor who used OpenWrt.
It has Soc Atheros AR9331-AL3A and storage with 25Q128FVSQ (16mb)
Storage available 13.0Mb. RAM about 30.2Mb: