QoS in lockdown

Hi All,

So I have recently migrated from DD-WRT over to OpenWRT as I was finding that I was having stability issues on the router. My main gateway router is a Linksys WRT3200ACM. It is connected to a VirginMedia SuperHub 4. I am on a 200 Mb package, 200 down 20up.

When I was on the DD-WRT I could set up QoS with HFSC and cake. Along with that I could rate limit each individual client with their MAC address. This was great and worked really well, but every day or so it would reboot itself, so was not a viable solution when we all working from home at the moment.

There are 4 of us in the house. Me, my wife and 2 kids. during the day the kids are constantly on their devices, doing online learning as well as doing constant FaceTime/Whatsapp video calls to their friends.

My wife and I have the obligatory Teams meetings throughout the day. My remote access is Vmware Horizon, and I do Teams on an iPad or a Phone, not via Horizon.

So ..... here is my issue. When on QoS on DD-WRT I was able to fine tune such that my connection to the office via VMware Horizon was stable and latency was low (constantly - sitting around 15-20ms).

Going to OpenWRT I have put in place SQM QoS. This has definitely made a difference with bufferbloat, but as soon as myself or my wife goes on a teams meeting the upload gets killed (though a max of about 6-9Mb of flow can be seen, so plenty bandwidth left. About 8/9Mb), and along with that my VMware session starts to lag, and I can see in the Horizon console that my ping times spike. Can go up to 150ms and sometimes sit there abouts for the duration of the Teams calls. Also I have a BQM set up via thinkbroadband.co.uk and the latency can be visibly seen as going all out of whack.

Is there any way to fine tune the QoS to prevent the uploads from affecting priority services / desktops ? Or any way to optimise QoS so as not to have these massive latency spikes ?

Thanks in advance.

are you connecting via wifi or wired to do those conferences?

Also just to confirm that the SQM is working right, can you do a dslreports.com speed test from a WIRED client and post the link to the results here?

First order of buisness would be to ensure you have your basic anti-bloat SQM optimized. I have no idea of course what your settings looked like on DD-WRT, or eve what SQM looks like on DD-WRT.

Read thru all 3 (?) articles on SQM, with attention to the advanced fine tuning, if you havent already, starting here.

Getting that done, there are seveal threads here on more advanced setup using DHCP for better priority management of different traffic, to further extend the "QM".

I'm sure someone will be along in a minute with some links....

Correct. All wired connections. dslreports shows A+ for all after SQM in place and Bs and Cs before SQM is in place

I have had a look at this wiki article : https://openwrt.org/docs/guide-user/network/traffic-shaping/traffic_shaping

And this looks very much like what DD-WRT probably used. I never went down to the console level to configure as it was all in the GUI, but I am not afraid to that on OpenWRT should the need arise, just so I can really get this sorted out.

I assume that it is an "either/or" situation with regards to this implementation of QoS and the SQM I currently have in place at the moment. Not possible to have both. Unless maybe I have one on the LAN and the other on the WAN.


Can you post screenshot of your SQM config and open up any advanced config sections etc that you might have done?

I have gone through all of these wiki articles for SQM. tried numerous config's but I still get massive spikes in latency.



I suspect your teams is using DSCP tags to keep the latency down. You're using "layer cake" which is designed to let you have some stuff in "high" priority and others in lower priority. My guess is the teams stuff automatically is using some DSCP tag that makes sure it's in high priority.

Does the teams connection actually suffer with stuttering, freezing, garbled audio etc? OR is it just the other stuff that suffers? If so, that's basically "by design".

you are doing these by wire?

Teams does not suffer at all.
Other things suffer.
Should I move to some other qos script (not layer cake) ? or is there a way for me to change the way it handles this DSCP tagging ?
Is there a way for me to see if there is any DSCP tagging on OpenWRT. Something like wireshark. Could I get something from using tcpdump maybe ?

no ipad and phone are wireless. Only my desktop is wired.

you can absolutely tcpdump on the lan and then copy the file over and read it in wireshark.

tcpdump -i br-lan -w mycapture.pcap

The DSCP tags that teams puts on its output obviously can't be modified until they're received by the router... which is too late to avoid the bad effect on wifi. so your wifi is going to suffer to some extent no matter what (unless the app has settings to control what DSCP tag it puts). If the teams app is putting an inappropriately high tag then it will use voice channel over wifi to transmit your video, and that will just not be good. But hey, at least your teams works well.

Your desktop machine which is wired in, should be ok though. You just need to figure out which interactive apps you are using on your desktop machine and tag them for the VIDEO tin on cake, and you'll be probably ok.

I see you have your ingress rate set to 210k for a "200k" connection, does it actually deliver more than the official rate? Have you tried going even lower than - 10% of what you're seeing on your non SQM speedtests?

Have you tried anything in the "dangerous" settings, i.e. the stuff in the "Making Cake sing and dance..." section? https://openwrt.org/docs/guide-user/network/traffic-shaping/sqm-details

1 Like

Gah... this is a pain to be doing on my phone..

In case I borked up the link, heres my two lines for the advanced options strings that work well for me and my cable connection :
nat dual-dsthost ingress ack-filter mpu 64
nat dual-srchost ack-filter mpu 64

Those improve how cake will handle different traffic flows. And, of course, it applies to basic cake optimizing, not more advanced tagging. dlakeland is an expert, so you're in good hands there... :wink:

1 Like

If you use piece of cake everything will be treated equally. In this case I think it's likely you'll see your video conferences suffering somewhat. It depends on what you decide to do, if you can identify the other interactive apps you can keep layer cake and put them all at moderate priority, say DSCP tag CS4, and then your interactivity will be preserved and only less interactive stuff will suffer which is usually what you want.

It does deliver more. I get 220 down and 21 up without anything using Speedtest app on the PC.
Have not tried anything in the dangerous section

When I had DD-WRT running and I rate limited the offending devices, they never really had any issues. The video quality would be lower, but there would not be any issues with them as a whole.
Would really like to have some sort of queueing that says “anything that is coming from this device and a connection initiated by this device gets priority over any other packet on the network”. Preferably, if Teams is using DSCP, then I would like some what for the QoS to ignore those type of packets, and not give them any priority at all.