4.7.0-op24 significantly slower SQM performance on Flint 2

Hello, I recently flashed the 4.7.0-op24 firmware to my Flint 2 router and I'm experiencing slower speeds with SQM. I have the waveform bufferbloat results bookmarked from 4.5.8 firmware where I was able to achieve 900Mbps or a little more with excellent results. Now with the same settings the router is hitting a limit around 600Mbps.

Everything is exactly the same setup wise. I have tried testing with hardware acceleration off and with software acceleration enabled but speeds remain capped at 600Mbps. I tried swapping different SQM cake settings and even trying the old fq_codel which is supposed to be easier on the CPU without success.

4.5.8 firmware result
https://www.waveform.com/tools/bufferbloat?test-id=7e0ed2e6-91da-43bc-bd49-55958f0d949f

4.7.0-op24 result
https://www.waveform.com/tools/bufferbloat?test-id=f48193e3-bd6b-40d5-8495-600030974c74

Anyone else experiencing something similar?

Do you have problem when SQM is off?

I get the full 1200/24 Mbps that I pay for when I disable SQM but that means the network produces a lot of bufferbloat with different devices affecting each other during downloads or uploads. With SQM enabled everything works so much better, I just don't know why my Flint 2 suddenly lost a lot of it's processing power after this firmware update.

I found another result from the old firmware 4.5.8 reaching even higher speeds so I know the hardware is capable.

https://www.waveform.com/tools/bufferbloat?test-id=ef17c4df-d271-4130-8f8f-534704a3ae76

You probably set the download to around 1000Mbps on SQM settings.
What happens when you set it to 1500Mbps and 2000Mbps?

I know this doesn't make any sense because your internet speed is 1.2Gbps, but worth to try to understand what is happening.

Setting the download cap to 2000Mbps results in the same 600Mbps limit.

Is there any abnormal CPU load when the test is running?

The cpu load hits 0.24 on that graph during a speed test with SQM enabled.

What happens if you set a much lower cap?
Let's say 300Mbps

Setting a 300Mbps limit works as expected.

I would just go back to the original firmware but the only reason I tried the op24 version was because I was having a problem with some cameras lagging and disconnecting and that hasn't happened since swapping to this firmware. It may not have been enough time to tell though.

EDIT: Disabling software offloading makes things even worse bringing the maximum SQM speeds down to a little over 400Mbps. Enabling software offloading allows it to return to the 600Mbps limit. All of this with a download set to 1000Mbps.

I flashed back to the stable 4.7.0 firmware meaning the non-op24 version and my SQM is back to normal. Setting 1000Mbps results in 950Mbps with bufferbloat under control.

To be clear, with the same configuration the SQM performance limit with hardware offloading disabled is:

4.7.0 stable = 950Mbps or more
4.7.0-op24 = 450Mbps (600Mbps with software offloading enabled)

Hopefully the team can get this fixed for the next release of op24.

1 Like

SQM seems OK on OpenWRT:
Tagging @bruce

1 Like

Did you enable packet steering? I've noticed when installing firmware or resetting settings it sometimes defaults on and sometimes it doesn't. No clue why.

I'm not using SQM, but probably worth to share your knowledge about this. How can people disable it?

To be honest, I guess worth to have a detailed step-by-step about how to enable SQM properly on Flint 2

It's a setting in the third tab of interfaces inside luci. Turning it on is supposed to help your CPU. Sometimes it's on be default and sometimes not, even with the same firmware.

has anyone tried with disabling gl_eqos or gl_qos in /etc/init.d/ ?

I know from the older firmware this was a issue, but bandwidth control for clients might no longer work.

I would agree, but unfortunately it isn't that easy :slight_smile:

The difficulty lies in that not every setup is universal equal, this means the protocol of the isp can play a insificant role more overhead which need to be calculated with the speed, but also if the isp is doing unattended magic that is also possible, also mtu and mtu limits, and then if a split tunnel is involved this one is a complicated one sqm is not that easy to handle.

from what i know Flint 2 works better with fq_codel and less with cake, software offloading is often the cause it is not working properly, packet steering should be ok, any other concurrent qos software needs to be disabled like gl_qos/gl_eqos.

what i often do is then crank my mtu, my isp uses pppoe with a limit of 1500, though some isps allow more than what they say, more is better aslong it doesn't cause unstable latency.

when i use a tunnel connection, i need to make sure the tunnel doesn't exceed the mtu of wan, wireguard uses 60 size for ipv4, and for ipv6 80 taken from a google search this likely also has the ipv4/ipv6 already calculated, so i subtract this on the wireguard client mtu.

then i start testing, i noticed on the openwrt forums you could lower the upload very extreme and still hold alot of download speed, this needs more testing but that will give you higher speeds since upload is often not the bufferbloat issue and often the stablest of the two, so if you take those points away you can compensate for download, then decrement the speed by 10 until it looks good.

For wifi its normal its not A+, of course you can but logically it is normal to expect a bit of instability.

There are also advanced rules, but imho i never understood them i just copied them like triple isolate etcetera.

for wireguard and wan... That is still a hard one to get properly there are some scripts that can help.

2 Likes