Sqm Flint 2

Hi Everyone,

I am new to openwrt and gl. Inet routers in general. I have just learned about bufferbloat and Sqm. I am having issues getting Sqm working on my new flint 2. I have a 1gbps download cable connection with 150mbps upload. I have a cable modem in bridge mode which is connected to the router. When I followed the online documentation, I ended up with half my speed and latency had gone up. After some reading it seems flint 1 customers had similar issues. I also read that the bridge connection may need Sqm enabled as well as the WAN. I am a bit confused now and would love to hear from some people who have gotten this working. I did disable the hardware acceleration btw when I was testing the Sqm.

SQM is quite difficult to configure because of the scenarios and type protocols.

SQM is very cpu intensive and unfortunately how higher the speeds how more the cpu has to work, therefor expecting a device going over 600mb/s is maybe too optimistic.

You might need to set a bigger overhead for your connection type, but if you use also wireguard things become even more complex, since it is a tunnel then only wireguard should be configurated, and when using split tunnels both, however the down side is you will expect bad latency on one of the two so you have to balance them out.

I guess I will sent my own sqm configuration as a helper :slight_smile: , this one should work on the Flint2.

my connection is FTTH(fiber) 400mb/s down and 400mb/s up, eth1.300 is my isp connection and wgclient wireguard.

click to expand

config queue 'eth1'
	option ingress_ecn 'ECN'
	option egress_ecn 'ECN'
	option itarget 'auto'
	option etarget 'auto'
	option verbosity '5'
	option qdisc 'cake'
	option script 'layer_cake.qos'
	option qdisc_advanced '1'
	option squash_dscp '0'
	option squash_ingress '0'
	option qdisc_really_really_advanced '1'
	option eqdisc_opts 'nat dual-srchost'
	option linklayer 'ethernet'
	option linklayer_advanced '1'
	option tcMTU '2047'
	option tcTSIZE '128'
	option linklayer_adaptation_mechanism 'default'
	option debug_logging '0'
	option iqdisc_opts 'nat dual-dsthost ingress diffserv3'
	option interface 'wgclient'
	option tcMPU '88'
	option enabled '1'
	option download '250000'
	option upload '250000'
	option overhead '92'

config queue
	option enabled '0'
	option interface 'eth1.300'
	option download '310000'
	option upload '310000'
	option debug_logging '0'
	option verbosity '5'
	option qdisc 'cake'
	option script 'piece_of_cake.qos'
	option linklayer 'ethernet'
	option qdisc_advanced '1'
	option squash_dscp '0'
	option squash_ingress '0'
	option ingress_ecn 'ECN'
	option egress_ecn 'ECN'
	option qdisc_really_really_advanced '1'
	option itarget 'auto'
	option etarget 'auto'
	option iqdisc_opts 'nat dual-dsthost ingress diffserv3'
	option eqdisc_opts 'nat dual-srchost'
	option overhead '88'

Now you can slowly increase the speeds to see if the bufferbloat starts fluctating if it does that then you know which speeds you should not increase anymore. :slight_smile:

the extra options in the dangerous configuration can help quite alot and maybe there are some other options too making it easier however I recommend to create a topic on OpenWrt forum there are members with alot more knowledge than me with SQM they easily could ask you to use tc qdisc and some other tc commands to help you having a more correcter setup :slight_smile:

but for me it works both on flint 1 and flint 2 only things what need to be off is the inbuilt hardware accerelation, software and hardware offloading from the firewall, and packet steering in the network->global settings(tab)

Solved it for me and most likely also for OP and others. Thank you.

Do you have best practice advice for 5G WWAN interface (wgclient and clear)? Specifically what queue and extra options. I am looking to solve bufferbloat from VOIP with multiple camera feeds in and outbound, also with screensharing (Teams and Zoom). Example is when your client starts sharing and explains for 2 minutes while you see a frozen screen with ‘connection unstable’, just to ask him later to repeat everything again on the phone.

It depends sometimes the only way is even lower the download speed ingress, i found myself out that sometimes only lowering the egress can fix some latency too.

But for wan and wireguard having both good latency i guess its better to first start with your wan device and then slightly tune the wireguard instance for wwan, thinking it this way since wifi always have a more latency especially with SQM and also use their own QoS WMM for lan clients it will be always be better, you actually want to target the noisiest segment if that makes sense, ive never tried disabling WMM i think it would introduce you to alot more issues.

On the other hand if you use wwan more as a wan connection just add sqm on wwan :slight_smile:

Though i found also a script by a OpenWrt member Lynx.

This worked very nice if you also use PBR for just wan and wg :+1:, some of these tc commands in his scripts can also be used in your advanced options. :slight_smile:

I ended up switching isps in the meantime. I am now on fibre 250 up and down. With Sqm I disabled hardware and software offloading. I kept packet steering on, and got the irq balance package installed. With all of this and the advanced settings enabled on Sqm, I get 245 up and down out of my 250. A+ on waveform for what it’s worth.