Wondershaper srsly? (QOS/AQM)

To my sadness i discovered that Omnia guys didnt get the memo:
https://www.bufferbloat.net/projects/cerowrt/wiki/Wondershaper_Must_Die/

So if you go configure the default QOS mechanism, you get the famous
indiscrimiate, 10kbit burst ingress policier …

I think it is imperative for OmniaOS to have a modern and effective
QOS system, for it beeing a Network Platform.

opkg remove '*wshaper*'
opkg install luci-app-sqm
(opkg install sqm-scripts-extra)

no cake, but simplest.qos will do ok

Supplementing wondershaper for sqm-scripts and implementing cake qdisc
should do wonders especially if coupled with a foris ‘QOS’ tab.

thank you

1 Like

My Omnia just arrived today and I was a little disappointed to see wondershaper installed. Gave it a go just for fun and wow, what a mess.

I also hope that we will get some tutorial how to setup recommended QOS services… I am no expert here, but openwrt documentation mentions, that it is better to use some scripts instead deprecated wondershaper…

From what I can tell, the CoDel queuing discipline is the current state-of-the art and is implemented in SQM. I’d like to get other people’s knowledge on this and what is considered best practice today with QoS on OpenWRT.

To install it, you’ll need to browse to System -> Software and uninstall all “wshaper” packages. You might need to click the button there to update your package lists if you’re doing this for the first time too.

From there, follow the install instructions from the link (just search for and install the luci-app-sqm package).

Yes, the original poster gave the opkg commands for uninstalling the wshaper packages. You can also do this from the System->Software web page and uninstall all “wshaper” packages manually.

You can then review the OpenWrt HOWTO about SQM at: https://wiki.openwrt.org/doc/howto/sqm

Thanks for info and link. So, no wondershaper, no qos-scripts? SQM is way to go nowadays, right? Can I have following questions?
-It is possible to reserve some bandwitch for selected IPs?
-as original poster says, cake is not included in kernel, what does means regarding practical use?

I am not sure, if I will do cross compile, as I dont have hacker pack…

yes sqm-scripts is the new thing

  • it is certainly possible to reserve capacity. but you most certainly dont want to do that. belive me. or read up.
  • this is a pitch for Omnia Devs to catch up. dont screw it :wink:

While we’re on the topic, what currently exists to give me the following?

  • Layer 7 service prioritisation (i.e. throttling bittorrent traffic or large HTTP)
  • Bandwidth prioritisation per machine (all machines can use maximum bandwidth when the pipe is free, but when congested certain machines get priority)
  • A web/luci interface to configure and monitor this QoS setup

The closest I can think of is the QoS setup in Tomato router firmware. Allows setting different schedulers and queuing strategies, adjusting custom Layer 7 protocol QoS rules and visualisation of bandwidth usage and traffic classification in real time.

L7 inspection is possible with firewall rules, but manual classification depends on the (class) structure of the shaper.
Generally it seems favorable to depriorize “harmfull” traffic at its source (set dscp/prio in torrent-client) and then have a qos-system that respects that marking.

The Topic of per-host fairness is hard (think ipv6) but beeing worked on in cake devel.

On the other hand: having a working simple.qos out of the box or better a recent cake should mostly alleviate the need for users to mess with this stuff at all.

I think we should stick on getting the basics :slight_smile:

I agree with @fuller. The SQM-QoS facility does a really good job of:

  • minimizing latency
  • sharing bandwidth between all uses/connections

Before you go spending a ton of time adjusting QoS rules, tweaking thresholds, attempting to partition bandwidth, etc., I always recommend that you try the simple.qos option.

I know the name isn’t very studly, but it’s very powerful. It’ll take you five minutes to set up (see the HOWTO at https://wiki.openwrt.org/doc/howto/sqm). Let it run for a couple days, and if you are happy with the result, then you’re done!

If you can tell that that SQM-QoS is not doing what you want, then you have a baseline on which you can try to improve.

FYI Wondershaper gets reinstalled automagically if removed by the Turris updater

Update from 2016/10/22 00:34:38 • Installed version 1.1a-1 of package wshaper • Installed version git-16.212.24666-3200f7d-1 of package luci-app-wshaper • Installed version git-16.212.24666-3200f7d-1 of package luci-i18n-wshaper-cs • Installed version git-16.212.24666-3200f7d-1 of package luci-i18n-wshaper-en

1 Like

:frowning: And with mess you mean for all router/networks, or just interface where it is used?

I would like to use simple SQM script for WAN (50Mb/50Mb) as you guys suggest in this thread, to allow lync/ping etc flow despite various downloads etc., but I would really like to strip down UP/DOWN bandwitch just for guest WLAN interface… Unfortunatelly I am living in prefab house with a lot near neighbours so…

yes, just setup sqm on wan interface (simple.qos 45Mb/45Mb should be a good start)
and test ping while uploading/downloading.

if you really want explicit speedlimit for guest network, you can setup sqm too for that interface (up- download beeing reversed)

Is there a way how to stop that? Is there a list of default packages we can edit somewhere?

Thanks for reply.

so, if I understand correctly, define additional simple.qos for example like 3Mb/3Mb for WLAN guest interface is way to go? Wouldnt there be interference between shaping on WAN area, which includes another shaped interface? Excuse me if I ask dumb question, just read elsewhere “qos rules are advanced, you can break a lot things”, so I trying to follow simplest recommended way to implement my humble needs.

Its not must need, I was frightened by your “you really dont want it”. Its just convienient that you can keep password for guest easy and short, when you have opportunity to define very low bandwitch. But in case it is not the good way (even with SQM), I can live without it, and use SQM only for lync/ping thoroughput.

I really believe that cake is a must.
It’s not that difficult to include the Cake package, even if it’s not part of the standard kernel.

Hopefully devs will hear us.

yes, you can have additional sqm instance for other interfaces as you mentioned.
its sub-optimal but will work fine / no interference.

imho; just set it up on the wan and be done with it

Thanks, cant wait for my omnia. Also hope NIC grep this topic and at least make some comment about qos tools. Especially when updater keeps some list of default packages or something.

I would like to, but I would like to throttle down the guest WLAN interface. I would set up 45/45 simple on WAN, aditionally 3/3 on the guest WLAN and see, if everything will be good.

I enabled SQM on my 100 down / 50 up WAN (PPPoE via VLAN via GPON) connection and the Turris handles that perfectly (CPU is mostly idle actually):

Before: SQM disabled (wondershaper disabled as well):


After: SQM enabled (fq_codel/simple.qos/ECN)


3 Likes

@flo Thanks for showing the results before/after SQM. I recognize the bottom charts of your two examples as the standard output of the www.flent.org RRUL test.

But I’m curious - how did you produce the top charts of your two examples? Thanks.