Switch VLAN looks like the most "correct" option but none seem to work. "@wan" (not wan6) has the fastest performance but I assume does not shape ipv6 whatsoever.
This is a new (used) router freshly installed with OpenWRT 21.02. I haven't done anything else to it. The wifi isn't even on.
I replaced my old router partially because SQM (codel, not CAKE) was stuck in that same 100 Mbps range:
Maybe I need one of the custom builds? Any advice?
edit: fq_codel + simple.qos brings performance closer to line speed but has room for improvement. 200 Mbps input leads to 183 Mbps on waveform.com. Base OpenWRT build (no forks).
No advice, but I can at least corroborate the bad SQM performance you are seeing in 21.02. I don't think it is specific to your set-up. With 19.07 my ER-X could do 150-190 Mbps CAKE. With 21.02 that dropped to 130-150 at best and with recent snapshot on kernel 5.10, 110 Mbps on a good day is all I get.
CAKE SQM performance appears to have severely nose dived over the last releases.
It is interesting that your R7800 is stuck at 110 Mbps too. Obviously it has a lot more CPU power than my ER-X, so it's odd that it is stuck at the same place.
Edit: fq_codel/simple.qos improves download to ~155 Mbps from ~110 Mbps on my ER-X. Appreciate the suggestions later in this thread.
Well, the UI has a comment that “it may improve performance or make it worse” and it is always off. What is your CPU utilization with CAKE? You are better off using “htop -d 1” to see utilization per a core.
Two more things I suggest you do: 1) cpu freq transitions are expensive so use performance governor (it is set per each core on this router) and 2) try IRQ assignments (not irqbalance) per core. Wifi2, wifi5, eh0 and eth1 can all be controlled I think. I would suggest moving eth0 to the second core. If eth0/1 and not movable, then move both wifi interfaces to the second core.
Many of the performance tweaks in the R7800 performance thread are still likely to be useful for 21.02 - especially as the cpu frequency management is essentially unchanged and, unfortunately, not optimal for best performance.
I didn't verify that it was set to ondemand, however.
I also tried @ACwifidude's build and had similar results on hardware accelerated (HW) fc_codel.
No SQM, ACwifidude's build:
the best for latency is somewhere around 200-220Mbit.
These are my settings in local startup and I reboot every time I changed something. I also changed to "Bootstrap" from their default material theme. Cleared out everything when I did the firmware install (no config carryover).
# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.
echo 600000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 600000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
echo 25 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
uci set irqbalance.irqbalance.enabled=1; uci set network.globals.packet_steering=1; uci commit
modprobe nss-ifb
ip link set up nssifb
# Shape ingress traffic with chained NSSFQ_CODEL
tc qdisc add dev nssifb root handle 1: nsstbl rate 220Mbit burst 1Mb
tc qdisc add dev nssifb parent 1: handle 10: nssfq_codel limit 10240 flows 1024 quantum 1514 target 5ms interval 100ms set_default
# Shape egress traffic with chained NSSFQ_CODEL
tc qdisc add dev eth0 root handle 1: nsstbl rate 11.4Mbit burst 1Mb
tc qdisc add dev eth0 parent 1: handle 10: nssfq_codel limit 10240 flows 1024 quantum 1514 target 5ms interval 100ms set_default
exit 0
I might go back to 21.02 and try max performance and see if it can keep up with CAKE. I'm not hopeful based on my other results. There are 3 devices hardwired to the r7800 but I don't think any of them are causing problems. Wifi remains off while I test SQM.
I ran top during one of the tests and CPU remained >40% idle but I didn't get a per-core breakdown.
If I was starting from scratch I might try a longer term bufferbloat test to give the governor time to shift into faster CPU mode. But I'm already sick of configuring for marginal power usage gains.
Installed and enabled irqbalance. Setting the assignments was beyond my skills with Google. Set packet steering in the luci web UI (network-interfaces-global).
Looks like I'm maxing out one of two cores in htop when I run a speedtest. Other core around 40-60%.
Settled on fq_codel/simple.qos. Apparently codel isn't designed for near 0 latency so I'm happy with 200+ down and <30ms latency. I'd do CAKE if it only took off 20 Mb, but beyond that I prefer speed. CAKE still can't crack 160.
Wifi is on now, though not heavily used. Performance holds up. Wifi bufferbloat tests indicate some <100ms download latency but that's fine. (58 on waveform). Still need to enable the other wifi radio.