Does DD-WRT QoS actually work?

There have been various reports of DD-WRT QoS not working (here, here and elsewhere).

The DD-WRT QoS Documentation mentions some checks would indicate whether the proper priorities are being applied to the traffic. (Though it does not suggest a method to verify that QoS is actually taking effect...)

Has anyone checked their traffic priorities and found that the priorities are not being correctly applied, or that they have been properly applied but that did not seem to change anything? (Or, having enabled QoS, see traffic degradation or other issues.) Bonus points if you've actually quantitatively tested your QoS setup.

Just to clarify, I'd like to know if setting up QoS using the GUI works. (I'm using OpenWRT right now and I can just as easily use a script there. What interests me is if I can waste less time setting QoS up by switching to DD-WRT)

Answers I'm NOT looking for:

  • "Just switch to Tomato/OpenWRT/X-WRT/Gargoyle/etc"
  • "OF COURSE it works, why wouldn't it?"
  • "Just use this script" (or some other script)
  • "QoS only affects outgoing traffic and doesn't really help anyways"

UPDATE 2011-06-02: There weren't any answers from actual DD-WRT users, but the prevalent opinion seems to be that QoS in DD-WRT (when configured via the GUI) is broken.

UPDATE 2011-11-29: There's now a LuCi module for QoS on OpenWRT (not sure how long it's been around). I've done some cursory tinkering, if I notice any great wins/fails or can devise a test scheme, I'll try it out and report back.

UPDATE 2012-01-31: Gui Ambros has submitted the best answer so far, and although many people still complain that QoS doesn't work, I also feel that QoS is a difficult beast to tame, so I'm always suspicious that it was not correctly configured if no testing was done. Accepting his answer. If anyone using a current version of DD-WRT can show that QoS isn't working, please submit a new answer!


Solution 1:

The answers on this question are really outdated. Development on the DD-WRT has moved on and QoS through GUI is super stable on latest versions.

I'm currently using DD-WRT v24-sp2 (09/09/11) big, SVN revision 17598M NEWD-2 K2.6 Eko on an ASUS RT-N16, and deployed complete QoS for my local home network without any issues. Even though I'm very familiar with CLI, the Web interface did just fine. Premium/Express/Bulk traffic now is being properly categorized and I have finally solved my issues with VOIP and video streaming when someone starts a download or bittorrent and takes the whole channel.

To test if traffic was being categorized properly I used iperf and checked connections on /proc/net/ip_conntrack while live testing each combination of app and protocol.

Suggest you take a look again; you might be pleasantly surprised. Just make sure you use a recent build. The DD-WRT Wiki has setup instructions.

Solution 2:

I do not use DD-WRT, but it seems that getting QoS to work requires some fiddling.

I suggest to read carefully this post : dd-wrt router firmware QoS troubleshooting from October 2010 (although it only shapes outgoing traffic), where the accepted answer describes a recent QoS script that apparently worked for both answerer and poster.

However, the described method sounds quite painful, with workarounds for for DD-WRT bugs, patches and whatever, and even so only applies to outgoing traffic.

So the answer for your question is : QoS under DD-WRT still needs fiddling for it to work. The GUI by itself is not enough, which was at least the case toward the end of 2010. So in your shoes I wouldn't bother moving to DD-WRT. Or at least not because of QoS, because it seems to me that QoS is potentially quite frustrating and an excellent time-waster.

The article What is DD-WRT? (section "Special Versions") says for the paid version :

Currently brainslayer offers a special version of DD-WRT with extended QoS capabilities:

  • set maximum bandwidth available per netmask/MAC address (v.24-SP1: even for different vlans)
  • set a default rule for any unconfigured netmask/MAC address

So it seems that only the paid version of DD-WRT easily supports QoS.

The article How to limit Up/Down speeds per user w/o paid version describes a tool that "works just great for the purpose of setting upload/download limits for users based on IP or MAC addresses".

Solution 3:

You might want to study Toastman's work on QoS under Tomato. Apparently QoS is working there. As far as I know Toastman is managing an apartment building of users, so he has the experience. I never used Tomato without setting QoS up, so I can't say what would happen if I didn't!