Does DD-WRT QoS actually work?

29

7

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!

Codebling

Posted 2011-05-20T18:31:43.730

Reputation: 631

What exactly you are trying to accomplish with QoS and how you are measuring its success may make a difference. QoS is a very in depth discussion depending on how it is being used. – MaQleod – 2011-05-21T03:05:24.867

Fair enough, but if nobody has ever had any success using the graphical QoS then it's unlikely that I will either and thus I won't embark on that adventure. I'm hoping I'll get several answers with people reporting at least varying degrees of success. – Codebling – 2011-05-21T15:09:27.847

@Code: Very many people complain about QoS not working in DD-WRT, and they switch to Tomato (if they have a router with a Broadcom chipset). I am surprised that the DD-WRT people have not sorted it out after all this time, apparently. – paradroid – 2011-05-23T11:28:54.477

It might be sorted out, but I'm really not sure, .. I guess that's why I asked the question. – Codebling – 2011-05-24T18:19:03.450

4A lot of people complain about things not working when in reality it's that they don't know what they're doing. This may not be te case here but it's also a possibility. – James Mertz – 2011-05-31T13:13:44.623

@KronoS: agreed, I wish I could get a decisive answer without spending the $ and time setting this up myself but it looks like I might have to. – Codebling – 2011-05-31T17:29:54.680

Any updates Code Bling? Have you gotten QoS to work successfully on any Linux? – EightyEight – 2011-07-26T06:02:07.417

@Eighty No, sorry !! Ended up going with OpenWRT, and everything has been working so well that I never bothered setting up QoS. – Codebling – 2011-07-27T17:44:27.190

@Code I guess you don't use torrents then... – Piotr Dobrogost – 2011-08-27T07:19:58.097

@Piotr I do. Not sure why you guessed that. – Codebling – 2011-08-29T15:06:00.200

I'm in the same boat as Nova with my WRT54GSv1.1 Googled and found this and am thinking about using Tomato mainly for QOS. How did the LuCi module for QoS on OpenWRT work out for you Code Bling? – None – 2011-12-22T17:58:43.503

It's pretty great. Partly due to worrying about all the time I'd be wasting, partly because my connection isn't as stressed as I thought it would be, in the end I never set up anything more than very basic QoS on the router. Everything seems to be working fine. – Codebling – 2012-01-31T22:49:44.343

No matter what options I set for anything, when QoS is enabled, my internet turns to crap - webpages load slowly, games lag badly, skype and netflix both have terrible quality. I've tried with and without bandwidth caps, higher priorities for specific TCP ports and physical jacks, "optimize for gaming" checked or unchecked, both scheduling algorithms, and three different router brands, but nothing works. Everything works fine with QoS disabled. QoS in DD-WRT is simply completely broken. And yes, I have the latest version (v24-sp2). – BlueRaja - Danny Pflughoeft – 2012-05-27T09:46:07.583

1@BlueRaja without supplying any details, it's hard for any one reading this to judge if you have a valid point or if you simply messed up your QoS config/don't know what you're talking about. What QoS rules are you applying? How does enabling QoS affect your latency? What routers are you using? Have you tried using iperf to measure the success of your QoS rules? – Codebling – 2012-05-29T17:35:05.067

Answers

6

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.

Gui Ambros

Posted 2011-05-20T18:31:43.730

Reputation: 459

1Just chiming in to say that @BlueRaja is correct. I have a 40/2Mbps connection and with QoS enabled I can't get any download speed above 28Mbps. The CPU on my WRT54GL is pegged. I have not yet tried Tomato to see if it does better, but that's on my todo list. – cdhowie – 2015-05-16T05:37:18.077

3@cdhowie: the answer above was to the question "Does QoS really work on DD-WRT", and not "What is the fastest firmware to run QoS on a fast ethernet connection, using an outdated router that is 10+ years old and has very limited CPU and memory". Tomato may indeed be a better option in your case. Or get a newer router. N16 is good cheap option, if you don't need 802.11ac. – Gui Ambros – 2015-05-16T15:33:51.250

@GuiAmbros I guess it comes down to what you mean by "work," and my comment is directed at those who got here from Google searching for the same problem I was having, not necessarily those with exactly the question in the OP's text. DD-WRT classification does "operate correctly" but it doesn't "work" from my perspective, as just having it turned on with no classification rules reduces my downstream by a quarter. FWIW, Tomato's QoS engine can keep up beautifully on the same hardware. – cdhowie – 2015-05-24T23:47:47.240

1Thanks !! Can you explain some of the issues you had with streaming and torrents, and how you fixed them? I haven't been using VOIP lately but that's exactly the scenario I was worried about when I originally asked this question. – Codebling – 2012-01-31T22:59:44.393

This is definitely not true, see my comment above - the issue is not that traffic is being miscategorized, it's that the QoS scheduler runs so slow that, on normal home routers, it causes an ENORMOUS latency increase for all packets, completely defeating the purpose of having QoS in the first place. QoS on Tomato runs fine on those same routers, though, so it is definitely DD-WRT. – BlueRaja - Danny Pflughoeft – 2012-05-27T09:49:38.607

1@BlueRaja maybe your router's CPU isn't powerful enough. You say it worked fine on Tomato, but Tomato also isn't running as many services. Why don't you detail your setup and experience in an answer? I'm sure people will update it -- I know I will, provided it adds useful information to the discussion. – Codebling – 2012-05-29T17:41:14.510

Did someone downvote because they don't like DD-WRT? That isn't what the downvote is for and this isn't meant to be a fanboy battle. – Codebling – 2012-05-29T17:43:58.050

I downvoted because, as I said in my previous comment, "this is definitely not true." – BlueRaja - Danny Pflughoeft – 2012-05-29T21:26:27.053

@BlueRaja: "QoS scheduler runs so slow that, on normal home routers, it causes an ENORMOUS latency increase". Source?

While I can understand that QoS can be taxing on very old routers (like the jurassic WRT54G, with just 125MHz), on modern routers this is definitely not true. As I said, I'm using an Asus RT-N16, which has a 533MHz CPU (factory underclocked to 480MHz).

I have QoS enabled to prioritize xboxlive, skype, voip, ssh, plus specific IP addresses for slingbox, AppleTV (netflix), and de-prioritize torrent. CPU Load rarely goes beyond 0.15 even under heavy load (20/2Mbps D/U). – Gui Ambros – 2012-10-21T02:16:44.313

6

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".

harrymc

Posted 2011-05-20T18:31:43.730

Reputation: 306 093

5waiiiiit a minute. Did you take one of the links I posted in the question and use it as an answer? – Codebling – 2011-05-30T21:54:51.810

He he, it seems that I did. Why didn't any of the scripts mentioned in this thread work for you? After all, the posts did say that they managed to get QoS really working. – harrymc – 2011-05-31T04:54:16.293

Anyway, it seems that for your question about getting QoS to work using the GUI, the answer is conditionally negative. Some fiddling with system files is required if one doesn't succeed thru the GUI (which it seems almost never works by itself for DD-WRT, but does for Tomato). – harrymc – 2011-05-31T12:13:53.110

hehe. I'm not actually running DD-WRT (if you re-read, I mention it in the 4th paragraph). So this was more of a "is it worth trying to set it up" question / general knowledge. – Codebling – 2011-05-31T17:00:54.610

Based on what I've read, though, it does seem like the GUI set up doesn't work. Then again, everything I've read is pretty old, and people tend to only write when things don't work as expected. – Codebling – 2011-05-31T17:02:20.770

I rewrote my answer using a more recent article. – harrymc – 2011-05-31T19:43:42.980

I seem to be following in your footsteps, but I stand by my conclusion above. – harrymc – 2011-05-31T19:52:13.867

Have you also seen Switching Wireless Router from DD-WRT to Tomato ?

– harrymc – 2011-05-31T19:58:29.603

I haven't. I've wanted to try Tomato for quite a while. When I went shopping for a new router, though, I couldn't find one that was supported by it. So I made sure to get one that was at least OpenWRT compatible. – Codebling – 2011-05-31T20:03:05.147

1How to limit Up/Dn speed using Script Generator without using DDWRT paid versions seems to hint that QoS is only easy on the paid version, maybe on purpose. – harrymc – 2011-05-31T20:04:26.560

ooh ! That tool looks pretty cool. I also re-read the Superuser link and although I'm still not convinced that the asker has reasonable expectations from the QoS, I did notice that one tcp steam in his example does seem to be marked with the wrong priority (I'm pretty sure the udp ones are just not included properly). I hadn't noticed that one before and although it is possible that he tried to apply QoS after that connection had been established or some other such tomfoolery, it does seem more likely that QoS just doesn't working very well in DD-WRT. – Codebling – 2011-05-31T20:14:52.560

See my addition above. – harrymc – 2011-05-31T20:26:07.547

Fair enough. +1 for legwork, but since it was all googling (and linking to 2 links that were in the question), no bounty for you :( – Codebling – 2011-05-31T20:29:20.053

It's not that you didn't answer the question, it's just that my expectation for the answer that I wanted to accept and award bounty for was one in which the author was able to quickly show&tell their setup and use the checks above to provide a conclusive answer. And I had already done a lot of googling before asking, so I was pretty sure of where I stood. – Codebling – 2011-05-31T21:28:24.417

The fact that you didn't get the answer you expected, and in view of the link I quoted, probably means that nothing has changed since October 2010. – harrymc – 2011-06-01T06:16:42.243

1@harrymc The article (...). So it seems that only the paid version of DD-WRT easily supports QoS. How does the fact there are additional QoS settings available in the paid version lead you to believe standard ones work there?? – Piotr Dobrogost – 2011-08-27T07:33:12.160

@Piotr: According to the reports, QoS works in the standard one, but just requires much more fiddling (and knowledge) to set up. – harrymc – 2011-08-27T18:00:23.007

@harrymc Right, but the statement So it seems that only the paid version of DD-WRT easily supports QoS is misleading as adding more settings doesn't imply the standard ones are easier to set up. – Piotr Dobrogost – 2011-08-28T07:54:50.703

@Piotr: Oh, yes, it is much easier to set up in the paid version. In fact, the QoS user-interface is the only feature added by the paid version. – harrymc – 2011-08-28T08:09:59.363

4

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!

troels

Posted 2011-05-20T18:31:43.730

Reputation: 69

I'm using Toastman's mod as well and it works very well, although what he did to QoS was just change the classes, as far as I know. QoS works fine in the upstream builds of Tomato, but his mod makes it work out of the box, without you having to fiddle around with thew configuration. – paradroid – 2011-05-23T11:26:41.060

I'll check out his work but I am specifically only interested in DD-WRT for the moment (running OpenWRT right now and Tomato isn't supported on my router) – Codebling – 2011-05-24T15:57:52.373

Toastman (and now other tomato versions like shibby that implement Inbound QoS) are the only consumer QoS solutions I've seen that is worth writing about. They are sufficiently flexible that you can hammer your connection to hell and maintain you high priority traffic. Honestly, especially for aDSL (which needs TC-ATM patch), you will probably never get anything more than 'satisfactory' results from other consumer QoS solutions, besides tomato toastman and similar variants. – cloneman – 2013-04-02T05:07:44.397

1

As of current the latest version of DDWRT on my WRT54Gv3 does not work. setup in GUI is solid, but it fails to actually do it's job, scripting is still needed! This popped up as a google result to my own same question. moved over to tomato after skimming answers. not as pretty GUI but QoS is working and testable within minutes.. QoS in DDWRT is fruitless if just using the GUI, sad as that may be. I would have loved to stay with it.

Nova

Posted 2011-05-20T18:31:43.730

Reputation: 11

How did you test your setup? What was not working? – Codebling – 2012-01-31T22:49:17.260

Also, what version of DD-WRT were you using? – Codebling – 2012-01-31T23:08:16.363

0

DD-WRT v24-sp2 (08/12/10) mini - build 14929 installed on my Linksys WRT300N v1.1, QOS seems to work for some situations and not at all for others. I have myself set for premium and the young padawan set for bulk, yet when he starts downloading a steam game or xbox 360 game then it provisions him around 75% of the total connection. It does seem to work when he wants to watch youtube and I want to download a game myself. In the later scenerio he will get nothing and I will get everything :-)
I have read that this either has to with the processor or lack of ram. I have also read some place that unless you have the paid version of dd-wrt then you don't have QOS functionality. Ultimately, I'm totally confused.

McFaultech

Posted 2011-05-20T18:31:43.730

Reputation: 1

0

I know this is somewhat "ancient history", but I found this question while troubleshooting my Vonage VoIP service through my DD-WRT box (Linksys WRT54G v2 running "v24-sp2 (10/10/09) vpn"). I was getting all sorts of weird results when I would click "Apply Settings" in the DD-WRT QoS web GUI. Sometimes I would apply the changes and then all HTTP(S) requests would fail.

I obtained consistent results by:

  1. Changing the settings
  2. Clicking "Save"
  3. Reboot the router (by clicking the "Reboot Router" at the bottom of the "Administration" tab)

My Vonage settings are:

  1. Use www.speakeasy.net/speedtest/ to get the upload and download speeds in kbps
  2. Take 90% of those values
  3. In the QoS web GUI, choose:

    • Start QoS: Enable
    • Port: WAN
    • Packet Scheduler: HTB
    • Uplink:
    • Downlink:
    • Optimize for Gaming: unchecked
    • Services Priority
      • sip: Premium
      • Add a service for “vonage” with UDP ports 10000-25000, and set it to Premium
      • http: Express
    • MAC Priority: add the MAC address of the Vonage SIP gateway as Premium
    • Ethernet Port Priority: the Vonage SIP gateway was connected directly to one of the ports on the DD-WRT, so I set it to Premium, and set all others to Standard

Hope this helps out the next person...

SuperUser

Posted 2011-05-20T18:31:43.730

Reputation: 1

-2

Nope. 2017 QoS still doesn't work. I've been using DDWRT for a decade and it has never worked properly. From WRT310N to my current DIR 810L with DD-WRT v24-sp2 (01/09/15) std (SVN revision 25815), it has NEVER properly managed traffic.

ddwrtdoesntwork

Posted 2011-05-20T18:31:43.730

Reputation: 1