IPQ806x NSS Drivers


Apologies. Apparently I can. Removed shortcut-fe and shortcut-fe-ipv6 and re-ran the iperf tests. Same result with very low sirq value.


Ok so now we can say that the new core are working...
Anyway I'm working on the porting of the nss drv


Awesome work guys, I am sure that this can even be merged to OpenWrt, but has to first work on 4.14


In my repo you can find the progress
The only closed source is the nss firmware blob...


I dont think that having blobs is an issue since we already have ath10k and various other drivers that only work with blobs.


but has to first work on 4.14

Only if this can be implemented as FLOWOFFLOAD hw driver, I think


Welcome back @quarky Finally something good coming our way.
Question, would this patch work on the Zyxel armor z2?


It should work fine for the Zyxel Armour Z2. This should work for all IPQ8064/5 SoC boards. Currently my patch only modified the R7800 DTS. DTS of the other routers have to be modified accordingly to enable support.


Reworked nss drv
Compiles well
Works don't know...

@quarky one question to make the Eth switch work can I run nss qmac and nss drv? Just to check if my changes works


From my understanding, nss-gmac is the low level driver controlling the GMAC physical device, which is L2? The ar8337 driver will handle higher level the L2/L3 stuffs.

nss-drv is not needed for proper functioning of the GMAC devices. The eth devices should be available with only the nss-gmac driver installed, at least that's how I remembered it earlier this year when I first started on this project.


I have a TP-Link Archer VR2600(v) (IPQ8064) under my bed ready to test any initramfs image :wink:
Unfortunately I currently don't have enough time to actively help this project, but in the meantime I'll follow this thread carefully. :slight_smile:


Very nice numbers @quarky

Now to think we also have qdisc and crypto accelerators, the potential for these devices can possibly surpass even APU2/3 and friends.


In theory, just need to update the DTS file and compile an image for the VR2600 and should be good to go, provided the VR2600 is already supported by OpenWRT.


Crypto acceleration was my primary objective when I started on this project. Still trying to get it to work tho.

As for traffic shaping (qdisc), it should already be supported by the NSS drivers. I may be wrong tho. I’ll try to do some test over the weekend.


Could you help me out with compiling it for zyxel?
Which are the requirements are the nss drivers compatible with latest patches from openwrt?



Any chance you could make relevant changes to the C2600 DTS (ipq8064) as well?


Without a unit to test the builds it’ll be risky. I suggest to wait a while to have the whole setup tested well with the R7800 first.


See my reply above to @JayJax. If you’re game enough to compile your own build to test, I’ll be glad to help figure out where to change for the DTS for IPQ8064.


Absolutely, I'm doing my own community builds which I'm planning to add this to. I'm on master, i.e. 4.14. Would very much appreciate it if you had a look. Already building images for the R7800 using Ansuel's commits.


While changing the DTS is simple, your challenge will likely come from patching the Netfilter codes to hook the NSS Drivers into Netfilter. That, IMHO need a very good understanding of the entire Linux networking framework.

This is also the main reason I’m sticking with 4.4 atm as the codes available from CodeAurora are for 4.4.