I have an Asus BRT-AC828 router and I'm currently working my way through this thread as I believe it should be applicable to my router as well.
But before I do read it all, can someone confirm that it indeed should be relevant for my router too?
Regardless of the answer, thanks for initiatives like these
I would suggest before you attempt NSS acceleration, it would be better to get the current master branch of OpenWrt running on it, as this device is not listed as supported by OpenWrt at the moment.
This looks very similar to the R7800, with the exception of the switch (there are 2 of them) and maybe the flash?
If you can get OpenWrt running correctly, it should be trivial (I hope) to get NSS working for it.
Edit: Hopefully the QCA8033 chip is similar enough to the QCA8327 chip for the qca-nss-gmac driver to recognise it and take over. I think that is the only hurdle to get NSS acceleration running. Probably QCA's source repository will have the proper drivers.
I'm quite a bit removed from even trying OpenWrt on it as I have no prior experience with OpenWrt and I only have 1 router, so I'm dependent on it's proper working
I'm currently (just) gathering info on my device (and documenting it), figuring out how to attach an UART cable (as I'm pretty sure it has an UART), ways to (potentially) unbrick it if needed and putting Asus' code in git gradually (so no huge 'initial commit' in 1 dump) and with some (preliminary) analyses.
Reading through this topic helps me get a better understanding of things and hopefully will allow me to better document it and have a better/clear picture of the 'before' (OpenWrt) situation.
I saw that chip mentioned before but couldn't find it in my (current) documentation, but then I saw Atheros AR8033-AL1A, so that must be it
Which repo to look at is a big mystery to me as there are so many. I'm now ~ post 500 and I did see some references to NSS.AK... things and that strings could help with that.
When I found a folder named qca-nss-fw I figured I was at the right place:
What to make of this? The other version strings seem to have NSS.AK.[F|G|H|etc].* where F was QSDK 8.x (IIUC), but mine didn't have a letter, but a number ...
This thread will likely confuse you if your objective is to get OpenWrt running for your Asus router. I would suggest to go thru the Netgear R7800 exploration (IPQ8065, QCA9984) thread. It will be more relevant as your Asus is very similar to the R7800.
You mean as in this goes too deep as a starting point?
I know I have a LOT to learn and I'm fine with that; I see this as a long term project. I may not understand everything fully what I've read so far in this thread (now), but I've already picked up several useful bits. Usually when I've learned more, pieces that I didn't (fully) understand before, will fall into place later.
I have several objectives. One is getting a more secure router by amongst other things run a (more) recent and still supported kernel (instead of 3.4.103). Another is showing the power of Open Source and OpenWrt seems like the best project to do that with (when it comes to routers). My assumption is that I'd also need IPQ806x NSS drivers to get good performance, which I of course want (if possible).
If I can help get my router into a supported state with OpenWrt, that would be really cool
Not really. It doesn’t contain information on how to get an ipq806x router running OpenWrt. It assumes OpenWrt is already running properly before attempting NSS. So applying the knowledge in this thread on a router without OpenWrt running will likely be confusing.
I've been following this even though I'm from a different party called IPQ807x, and I have a doubt and maybe you guys can enlighten me.
Do all these offloading packages have support for nftables?
Since openwrt is migrating away from iptables for good, is there a way to make this work with nftables? I've seen most of the dependencies have to do with conntrack which is the same for iptables and nftables, but it also has some dependencies on iptables-mox-extra, that should be replaceable with nftables right?
Also, for the TC offloading, could there be a way in the future of adding cake offloading? Is this TC offloading currently transparent? Or is there a need to use a special nss tool?
I realize it's quite an old post, but I didn't see someone reporting who was running OEM firmware ... and I am. It's an Asus BRT-AC828 (unsupported by OpenWrt (currently)) running asuswrt (although that isn't relevant afaict).
Regarding the spinlock error when running br-lan in promisc mode.
I checked the boot log from the OEM firmware, it seems like the bridge (actually all interfaces) is set to promisc mode. So it's a default setting in OEM FW. But for some reason it doesn't work in the OpenWrt NSS implementation/port.