Hi, I've installed SQM on my router according to the guide https://openwrt.org/docs/guide-user/network/traffic-shaping/sqm . I tested bufferbloat rank and it got improved from B to A. So I've decided to enable SQM permanently.
Next day I download World of Warcraft on Battle.net client (which tends to use all of my available bandwidth, around 6-9 MB/s) and play CS:GO and my ping is around 500 miliseconds, which makes CS:GO totally unplayable. Then I disable SQM in OpenWRT gui and check my ping again - now it's 30 miliseconds on average (with WoW still being downloading in background). What did I do wrong when I configure OpenWRT?
Additional info: sometimes my bandwidth is really variable and is in between 2 MB/s to 9 MB/s.
My provider provides me with PPPoE fibre cable connection.
My router model is TP-Link WR841N v13 .
If the available bandwidth really varies THAT much, you're out of luck
SQM works by trading a liiiiitle bit of bandwidth for a moderate increase in latency, to avoid spikes... to do that, you need to know what your bw is... when that changes, you would have to reconfigure based on the new values.
Point is, if you tune it for 2MB/s you'll never see an increase in ping times but you'll permanently cap your speed. If, on the other hand, you tune for the max speed but in reality the speed is lower, well, then you get increase in ping times, since SQM no longer has enough bw to trade for ping.
It can probably be done, just not with SQM the way it is now, I guess.
I did configure SQM download speed to 1 MB/s. This didn't decrease my ping time. Ping still went to 500 ms and my download speed on Battle.net client just went to 1 MB/s. So with 8 MB/s free bandwidth ping was still high. I don't know now what's the purpose of that SQM now.
Let's start step by step.
Please post the output of the following commands on the router:
ifstatus wan | grep -e device
tc -s qdisc
perform a speedtest and immediately after that do step 5
tc -s qdisc
if you have fibre connection and effective bandwidth varies between 2-10MB/s than:
- you may have ISP ONT problem
- very unstable ISP service
and likely your router cannot keep up if SQM is used. bear in mind SQM does require CPU, low end devices have "just enough" CPU usually as networking is covered by chipset.
alos check this thread CAKE w/ Adaptive Bandwidth , might help to address bandwidth variability.
but first please post what @moeller0 asked for to see what is happening sqm wise.
This is certainly a problem for sqm, have a look at cake-autorate, which tries to adjust the shaper rate according to the available capacity (however this will result in somewhat larger RTTs (aka ping) than with a static shaper). But @ 2Mbps things will be painful, no matter what...
But with the battlenet client downloading on the same machine as playing CS:GO you will need to use one of the prioritization add ons for sqm/cake (like qosify) so that CS:GO will get an unfair advantage over the download. If download and game run on different machines then cake's per-internal-IP-isolation might help.
This is a single core ~580 MHz MIPS CPU, not really all that strong, but should do sqm/cake at your really low access rates.