@hobbsAU Ok that's at least something, but not good enough compared to vanilla LEDE. I'll look into this further, but it will probably take some time, not sure if I can make it before next weekend.
Could you take a screenshot of top while doing iperf? I'm curious if it's soft irq or something else causing the limitations.
@hobbsAU Thanks for all your help, I appreciate it! I pushed another build. Basically I'm now including kernel settings that should increase performance, although I normally use those on servers, so I might have to fine tune them for smaller hardware later on in case you run out of RAM with too many open connections or something. Also this uses cake for qdisk instead of fq_codel now. It's a pretty random attempt to increase network performance, but hey, maybe we're lucky this time..
@hobbsAU Ok, thanks for testing this. I'll give up for today then - spent the better part of my day on this. Doesn't seem like there's an easy fix unfortunately. Maybe someone has some suggestions about what could cause this, else I'll need to revert all customizations piece by piece to narrow it down.
The Vanilla LEDE release doesn't have any SQM installed correct? This may be causing the perf decrease compared to vanilla/stock. Perhaps compare it to Vanilla+SQM, or use root's build, and delete the SQM package, reboot and test.
So SQM could be "active" even though it's not actually enabled in settings? That would be a very easy fix indeed and would explain the quite huge difference in throughput.
My builds are basically default config; only difference from upstream LEDE at this point (apart form my builds being somewhat outdated) is the enabling of the WiFi intermediate queues for ath10k. This could be a reason for the different bandwidth for 5ghz WiFi, I suppose. Never did get to the bottom of that...
Test setup
Host A (iperf3 client) —> WiFi —> Ethernet LAN Bridge —> Host B (iperf3 server)
C7v2(C5 hardware) Custom Patched LEDE 17.01.0 Build
I've optimized for mips74kc, used gcc 6.3, binutils 2.27 and applied gwlim's patches - well some of the performance oriented ones - and built a fairly vanilla LEDE build. It certainly doesn't have functional parity with @r00t's build but it's almost as fast as stock firmware on WiFi.
You can try it out yourself, build instructions on github. Just make sure you select Archer C7 on the first make menuconfig and also select any packages on the second make menuconfig (e.g. Luci is all i normally select).
Thanks for today's posts, @hobbsAU! I'll look into the details as soon as I got time. Good catch regarding the netfilter modules. I didn't know they could affect performance when no actual rules are in place. Will surely check out your build & patches too!
I only did one test and I think it was ~350Mbits/sec TCP sitting right in front of the router. Although I didn't apply any of your hardware specific NAT patches.
Clock frequency is 720 right?
Based on my WDR4300 overclocked to 730MHZ I can get around 450Mbps with all my patches
Actually your C7 should be able to take all my patches you just need to change the menuconfig to C7 that is all.
The latest kernel 4.4.46 broken the disable netlink patch you will need to fix that manually.
You can enable qca-ssdk as well should work out of the box
I usually go by branch with all the updates