Cake at 300+MBit on wrt3200acm in 2019

After experiencing buffering delays watch GoT at my GF's house I did what any useful techy savy BF would do and set out to solve them. I bought a wrt3200acm and put OpenWRT on it. I tested it with my 75mbit DSL connection and found it doubled my WiFi throughput from 31mbit to 62, the cake SQM worked perfectly, and my LoL ping dropped from 68ms to 58ms!

Then I brought it to my GF's house and learned she has a 300mbit cable connection. The good news is the throughput was anywhere from double to up to five times higher with this router than the stock router! The bad news is I could not get cake to be useful anymore. Without cake I could download at up to 330mbit, albeit with a wildly variant ping, but once I enabled cake I couldn't get close to 300 anymore and the ping didn't stablize like at my place with the slow connection. I changed the packet overhead as recommended to 22 for DOCIS and tried both 0 and 44 to get closer, but nothing was effective.

Does anybody have experience running cake at 300Mbit? I found Poor performance from SQM at 350mbps (WRT3200ACM) from a year ago, which seems to indicate the wrt3200acm simply doesn't have the CPU to do 300Mbit. Is this still the case a year later? It sounds like the weaker m76 powered router was able to do cake at 600+MBit!?

You should test also with simple/fq_codel in SQM.

Cake is no magic bullet that solves everything, for all connection types & speeds. At 300 Mbit you may not need similar flow control as with 5 Mbit connections where you can spend CPU cycles for optimizing things...

Based on my own experience (with sligthly lower speeds) and forum discussions, I have a gut feeling that cake is a bit too computation-intensive at those speeds, and spends too much CPU time calculating unnecessary things.

And like discussed at that thread you referenced, it is also quite possible that your ISP has bottlenecks further or, and then you can't much improve things by just with your own config.

FQ_CoDel wasn't any better. I think I'll try a different router and keep the worse one for myself since I don't yet have fast broadband.

Armanda 385 is by far much faster than mt7621 SoC, if it's just a little bit from your expected speed there are a few compilation "hacks" you can do which may improve performance.

compilation "hacks" you can do which may improve performance.
Do tell diizzy. I would like to test them out.
@ the op I have the wrt3200acm to and wen running SQM I get grate pings but the max throughput I can get is 175 m from a 220 m connection. I don't think it is just about the CPU tho as I don't get hi CPU usage when running SQM. For some scripts for testing have a look here:


Change vfpv3 to neon

Diizzy I am building from master how would i make that change? I just make menuconfig ad my packages and away the build gos. :smile:
Do I just change that file in my build dir?

The first patch

wget https://github.com/openwrt/openwrt/pull/1950.patch
git am 1950.patch
rm 1950.patch

Second:
Edit target/linux/mvebu/cortexa9/target.mk, delete /tmp and old configuration .config. Buildroot will pick up the changes automatically next time your run make menuconfig.

Do I do wget https://github.com/openwrt/openwrt/pull/1950.patch from /openwrt in uduntu? Will doing a git pull over rite the patch? What do I do when Editing target/linux/mvebu/cortexa9/target.mk,?

Yes, the patch goes into the root of openwrt.
You change the line in target/linux/mvebu/cortexa9/target.mk that says CPU_SUBTYPE:=vfpv3 to CPU_SUBTYPE:=neon. Don't expect wonders but it usually gives you at least a little speed boost, it depends on your workload.

Household gigabit fiber connections are beginning to become a problem with existing routers.

I've been thinking about changing my router to eg. Pc Engine APU2 router, which already has a lot more power compared with consumer routers. https://www.pcengines.ch/apu2.htm

Thanks diizzy I will let you know how I go on.

1 Like

WRT3200ACM can handle Gbit so no point in changing routers (without SQM which most likely isn't needed at such speeds). I'd probably look at the Asrock iBOX-R1000M, iBOX-V1000M or the UP-Boards if I needed something small and x86 at the moment.

Diizzy Building now. Will doing a git pull over rite the patch?

No, it's not merged (that process seems quite slow these days)...
While at it, you can change GCC to 8.3.0 and binutils to 2.32 which may (most likely) improve things additionally. Works fine on my ARM and MIPS boxes and I think davidc502 is also going this route.

Hi diizzy could you pleas explain how to do that?
Can you use make menuconfig to choose GCC version? If not, you should.

it seems to me that if your CPU is not pegging, then special compilation hacks etc are not going to help.

if you set up cake and run a speed test while watching output of top -d 1 what does CPU idle percent look like?

The point is to use cake SQM. The router can do the 300mbit connection fine without SQM, but running http://www.dslreports.com/speedtest at her place resulted in +100+ ms ping times. I'm trying to get consistent low latency, even if it comes at the expense of slightly higher throughput.

so what speed works? try 150, if that works try 225, if that works try 260...

at what point does it work? also watch the top output and let us know how low does idle percent drop?

I suspect you will find that the issue is something to do with your ISP lying to you about your real speed or otherwise providing lousy service aimed at maximizing just one number: the results from their affiliate speed test sites

After changeing the line to CPU_SUBTYPE:=neon
my build craps out. I will try again.