dslreports logo
site
 
    All Forums Hot Topics Gallery
spc

spacer




how-to block ads


Search Topic:
uniqs
8893
share rss forum feed


VexorgTR

join:2012-08-27
Sheffield Lake, OH
kudos:1

Is DD-WRT's QoS very functional?

Just curious about this one.....

Just checking that it's worth a try before I get to trying it.


swintec
Premium,VIP
join:2003-12-19
Alfred, ME
kudos:5
Reviews:
·Time Warner Cable
·VoicePulse
·Sprint Mobile Br..
·RapidVPS
I did not like it. In my implementation of it you had to take your total upload speed from ISP and then subtract a percentage and put that number in the QoS settings. This meant that you will never get your full upload speed because DDWRT kept it constantly reserved just in case. No thanks. Their reasoning in the docs for it was that no ISP gives the max speeds all the time. I guess i am just lucky that I do?

I think Tomato has a much better implementation of it.
--
Usenet Block Accounts | Unlimited Accounts


ctaranto

join:2011-12-14
MA
said by swintec:

I think Tomato has a much better implementation of it.

100% agree. The Tomato implementation of QoS is fantastic. I've used DD-WRT in the past. Has great features, but QoS isn't one of them.

conwaytwt
Premium
join:2004-04-09
Conway, AR
Reviews:
·Conway Corp.

2 edits
said by ctaranto:

said by swintec:

I think Tomato has a much better implementation of it.

100% agree. The Tomato implementation of QoS is fantastic. I've used DD-WRT in the past. Has great features, but QoS isn't one of them.

Tomato is great, and MUCH easier to configure QOS than in DD-WRT. HOWEVER I believe the basic principle is similar -- you measure your upload and download bandwidth at various times of the day, then you base your settings on the "worst case" situation. Fortunately you can configure "overlapping" priorities, so that (for example) when you're on the phone the VoIP traffic gets a priority over everything else.

Unfortunately, though, swintec's criticism of DD-WRT is basically applicable to Tomato, too. It's just easier to manage.


swintec
Premium,VIP
join:2003-12-19
Alfred, ME
kudos:5
Reviews:
·Time Warner Cable
·VoicePulse
·Sprint Mobile Br..
·RapidVPS
said by conwaytwt:

Unfortunately, though, the OP's criticism of DD-WRT is basically applicable to Tomato, too. It's just easier to manage.

i never used tomato specifically i was always told to though since i hated ddwrt QoS. i had assumed they did things different.

i wonder why they cant get it right when stock firmware in many cases does so well. years ago my trendnet 611 worked like a dream for this. my asus n56 also works wonders. is this just an advantage that stock can always do better?
--
Usenet Block Accounts | Unlimited Accounts

conwaytwt
Premium
join:2004-04-09
Conway, AR
Reviews:
·Conway Corp.
said by swintec:

i wonder why they cant get it right when stock firmware in many cases does so well. years ago my trendnet 611 worked like a dream for this. my asus n56 also works wonders. is this just an advantage that stock can always do better?

I doubt you could make ANY generalizations about stock firmware. I haven't used QOS in any stock firmware so I cannot compare, but I have never used ANY stock firmware with as many configurable options as DD-WRT or Tomato.

On at least one of my routers (Netgear WNR3500L) the stock firmware has several advantages over Tomato or DD-WRT (mainly having to do with wireless power and such) but that's because the manufacturer and/or Broadcom apparently wanted to keep its internal functions "secret." I use Tomato on that router anyway because I keep the VoIP equipment directly connected via Ethernet and I want the control QOS gives me. The stock firmware doesn't really do QOS well (or at all; I cannot recall).

On the other hand, an old WRT54GL wireless router works better in all ways when it's running Tomato or DD-WRT, compared to the stock firmware. It's firmly established opinion!


VexorgTR

join:2012-08-27
Sheffield Lake, OH
kudos:1
Reviews:
·voip.ms
reply to VexorgTR
Thanks for the help so far........

I have a pool of "homeless" routers right now... and I thought I'd look about to see which could be improved by Firmware.

Tomato makes me sad only because it isn't good to go on many N routers... Just the old school G's that are becoming a little less common in the bins of things that roll through here.

I was curious, of the 5 DIY firmwares, other than Tomato, is there one with decent QoS?

von Monster

join:2012-03-22
Gargolye has pretty decent QoS

conwaytwt
Premium
join:2004-04-09
Conway, AR
Reviews:
·Conway Corp.
said by von Monster:

Gargolye has pretty decent QoS

(I thought I just entered another message and it disappeared. My apologies if it shows up too.)

I've been reading about Gargoyle and have been impressed with what I've read. Sadly it GENERALLY does not run on the same routers that can run Tomato, and I've been careful in recent years to buy ones that run Tomato.

If the Gargoyle forums weren't so disparaging of putting the older version of Gargoyle on my WRT54GL, I might give it a try. (The latest versions are too big for the RAM on those old routers.)

von Monster

join:2012-03-22
Reviews:
·Anveo
It works on the WRT54GL, but their opinion of it matches that of the Tomato developers (Toastman) in that it's woefully inadequate for most tasks nowadays (ie lines speeds > 5Mbps) esp. when taking QoS into account.

It should run on pretty much any router as it's built on OpenWRT, are you looking at trying the stable or experimental branches?

garys_2k
Premium
join:2004-05-07
Farmington, MI
Reviews:
·Callcentric
reply to VexorgTR
We had a thread about QOS a while back, »QoS for VoIP with fluctuating internet speeds that was pretty informative.

I'm still not sure that absolute prioritizing of high value traffic, like RTP packets or anything from an ATA or SIP phone, wouldn't work. I'd still like to see if that could be tried.


nightwalker
Nightwalker

join:1999-08-07
Chicago, IL

3 edits
reply to VexorgTR
You can also run your own custom QOS under Administration .. Commands .. Firewall

I run a modified 'wondershaper' configuration, that prioritizes UDP traffic (voip/gaming). I only prioritize my uplink traffic, my download traffic is permitted at full speed.

I also use this area for any custom sysctl entries. If you torrent, I recommend you use a fixed port, and add it to NOPRIOPORTSRC.

echo 0 > /proc/sys/net/ipv4/tcp_westwood
echo 1 > /proc/sys/net/ipv4/tcp_vegas_cong_avoid
echo 1 > /proc/sys/net/ipv4/tcp_vegas_gamma
# default rmem: 4096 43689 87638
# default wmem: 4096 16384 65536
echo "4096 32768 65536" > /proc/sys/net/ipv4/tcp_rmem 
echo "4096 32768 65536" > /proc/sys/net/ipv4/tcp_wmem
#
tc qdisc add dev br0 root sfq perturb 10
tc qdisc add dev eth0 root sfq perturb 10
tc qdisc add dev eth1 root sfq perturb 10
#
D1=0
U1=2500
U2=$(($U1-32))
U3=$(($U2-32))
DEV=vlan1
NOPRIOHOSTSRC=""
NOPRIOPORTSRC="20 21 119 563 6881 8081"
NOPRIOHOSTDST=$NOPRIOHOSTSRC
NOPRIOPORTDST=$NOPRIOPORTSRC
HIGHPRIOPORTSRC="2427 4569 5004 5060 5061 5080"
HIGHPRIOPORTDST=$HIGHPRIOPORTSRC
#
# 2427 mgcp, 4569 iax, 5004 rtp, 5060 sip, 5061 sip-tls
# clean existing down- and uplink qdiscs
tc qdisc del dev $DEV root
tc qdisc del dev $DEV ingress
#
tc qdisc add dev $DEV root handle 1: htb default 20
tc class add dev $DEV parent 1: classid 1:1 htb rate $U1 kbit 
tc class add dev $DEV parent 1:1 classid 1:10 htb rate $(((90*$U1)/100))kbit \
   ceil ${U1}kbit   prio 1
tc class add dev $DEV parent 1:1 classid 1:20 htb rate $(((85*$U1)/100))kbit \
   ceil ${U2}kbit   prio 2
tc class add dev $DEV parent 1:1 classid 1:30 htb rate $(((80*$U1)/100))kbit \
   ceil ${U3}kbit   prio 3
tc qdisc add dev $DEV parent 1:10 handle 10: sfq perturb 10
tc qdisc add dev $DEV parent 1:20 handle 20: sfq perturb 10
tc qdisc add dev $DEV parent 1:30 handle 30: sfq perturb 10
tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \
      match ip tos 0x10 0xff  flowid 1:10
tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \
        match ip protocol 1 0xff flowid 1:10
tc filter add dev $DEV parent 1: protocol ip prio 10 u32 \
   match ip protocol 6 0xff \
   match u8 0x05 0x0f at 0 \
   match u16 0x0000 0xffc0 at 2 \
   match u8 0x10 0xff at 33 \
   flowid 1:10
tc filter add dev $DEV parent 1: protocol ip prio 10 u32 \
   match ip protocol 17 0xff \
   flowid 1:10
 
# voip
for a in $HIGHPRIOPORTDST
do
tc filter add dev $DEV parent 1: protocol ip prio 10 u32 \
        match ip dport $a 0xffff flowid 1:10
done
 
for a in $HIGHPRIOPORTSRC
do
tc filter add dev $DEV parent 1: protocol ip prio 15 u32 \
        match ip sport $a 0xffff flowid 1:10
done
 
# bulk
for a in $NOPRIOPORTDST
do
        tc filter add dev $DEV parent 1: protocol ip prio 14 u32 \
           match ip dport $a 0xffff flowid 1:30
done
 
for a in $NOPRIOPORTSRC
do
        tc filter add dev $DEV parent 1: protocol ip prio 15 u32 \
           match ip sport $a 0xffff flowid 1:30
done
for a in $NOPRIOHOSTSRC
do
        tc filter add dev $DEV parent 1: protocol ip prio 16 u32 \
           match ip src $a flowid 1:30
done
for a in $NOPRIOHOSTDST
do
        tc filter add dev $DEV parent 1: protocol ip prio 17 u32 \
           match ip dst $a flowid 1:30
done
 
# default
tc filter add dev $DEV parent 1: protocol ip prio 18 u32 \
   match ip dst 0.0.0.0/0 flowid 1:20
 
tc qdisc add dev $DEV handle ffff: ingress
 
tc filter add dev $DEV parent ffff: protocol ip prio 50 u32 match ip src \
   0.0.0.0/0 police rate ${D1}kbit drop flowid :1
 

And then you can see the stats as well:

$ tc -s qdisc ls dev vlan1
$ tc -s class ls dev vlan1

root@DD-WRT:/#  tc -s qdisc ls dev vlan1
 
qdisc htb 1: r2q 10 default 20 direct_packets_stat 0
 Sent 3953945242 bytes 5842851 pkts (dropped 125, overlimits 633866)
qdisc sfq 10: parent 1:10 limit 128p quantum 1518b perturb 10sec
 Sent 2077130047 bytes 3813386 pkts (dropped 0, overlimits 0)
qdisc sfq 20: parent 1:20 limit 128p quantum 1518b perturb 10sec
 Sent 585068683 bytes 801888 pkts (dropped 125, overlimits 0)
qdisc sfq 30: parent 1:30 limit 128p quantum 1518b perturb 10sec
 Sent 1291746512 bytes 1227577 pkts (dropped 0, overlimits 0)
qdisc ingress ffff: ----------------
 Sent 5302390167 bytes 6196822 pkts (dropped 0, overlimits 0)
 
root@DD-WRT:/#   tc -s class ls dev vlan1
 
class htb 1:10 root leaf 10: prio 1 rate 2250Kbit ceil 2500Kbit burst 4411b cburst 4724b
 Sent 2077130047 bytes 3813386 pkts (dropped 0, overlimits 0)
 rate 1232bit 1pps
 lended: 3813386 borrowed: 0 giants: 0
 tokens: 12665 ctokens: 12219
 
class htb 1:20 root leaf 20: prio 2 rate 2125Kbit ceil 2468Kbit burst 4255b cburst 4684b
 Sent 585068683 bytes 801888 pkts (dropped 125, overlimits 0)
 rate 1744bit 1pps
 lended: 801888 borrowed: 0 giants: 0
 tokens: 12830 ctokens: 12186
 
class htb 1:30 root leaf 30: prio 3 rate 2000Kbit ceil 2436Kbit burst 4Kb cburst 4644b
 Sent 1291746512 bytes 1227577 pkts (dropped 0, overlimits 0)
 rate 8bit
 lended: 1227577 borrowed: 0 giants: 0
 tokens: 13225 ctokens: 12324
 

--
»www.reverse.net

mdseuss

join:2012-05-27
Worcester, MA

nightwalker: Nice example ... thanks for posting.

LanAdmin

join:2010-11-07
Montreal, QC
Reviews:
·ELECTRONICBOX
·voip.ms
reply to VexorgTR
 
QoS working perfectly with DD-WRT on cable 60/3Mbps.
Use MAC Priority.
It doesn't reduce my Internet speed.
Use »www.speedtest.net/ to test your QoS.

zapattack

join:2012-07-02
CANADA
DD-WRT QoS help file:

Uplink: Set this to 80%-95% (max) of your total upload limit.

How does this not impact your speed?

LanAdmin

join:2010-11-07
Montreal, QC
Reviews:
·ELECTRONICBOX
·voip.ms
If you look at my post you will see I put 3300kbps(3.22Mbps) for Uplink and 65000(63.4Mbps) for Downlink. You put the values as low as you can without slowing down a speedtest.net.

To test if QoS is doing his job, you call a test line like **275*645-904 (mouselike.org) to listen music and start a speedtest.net to use all your bandwidth.

If your CPU router is fast enough QoS will work perfectly. My router is Buffalo N600.


swintec
Premium,VIP
join:2003-12-19
Alfred, ME
kudos:5
Reviews:
·Time Warner Cable
·VoicePulse
·Sprint Mobile Br..
·RapidVPS
said by LanAdmin:

to listen music and start a speedtest.net to use all your bandwidth.

If your CPU router is fast enough QoS will work perfectly. My router is Buffalo N600.

A quick little speedtest at speedtest.net will not really put QoS through a good reliable test. A good torrent running full bore with many connections or extended usenet downloads with multiple connections should give you a good idea.

I am not doubting your results as if it works for you great but you are the first I have seen who loved DDWRT QoS feature.

Now that i think about it, if the firmware is expecting you to discount your speeds 20-30%....would the software not figure that the value you are putting in has this factored in and think it has another 20-30% to work with (which it doesnt since you put in your lines max speed)?
--
Usenet Block Accounts | Unlimited Accounts

LanAdmin

join:2010-11-07
Montreal, QC
Reviews:
·ELECTRONICBOX
·voip.ms

1 edit
QoS only work on Upload. You can download as many usenet as you want it will never affect your Voip. Speedtest.net is the only test I found reliable to test QoS. If your QoS is not working you will have choppy music during the upload part of the speedtest.


swintec
Premium,VIP
join:2003-12-19
Alfred, ME
kudos:5
Reviews:
·Time Warner Cable
·VoicePulse
·Sprint Mobile Br..
·RapidVPS
said by LanAdmin:

QoS only work on Upload. You can download as many usenet as you want it will never affect your Voip. Speedtest.net is the only test I found reliable to test QoS.

Maxing out your connection in either direction will affect the other directions performance.
--
Usenet Block Accounts | Unlimited Accounts

LanAdmin

join:2010-11-07
Montreal, QC
Try it, you will see.


markus82

@217.113.177.x
reply to swintec
said by swintec:

I did not like it. In my implementation of it you had to take your total upload speed from ISP and then subtract a percentage and put that number in the QoS settings. This meant that you will never get your full upload speed because DDWRT kept it constantly reserved just in case. No thanks. Their reasoning in the docs for it was that no ISP gives the max speeds all the time. I guess i am just lucky that I do?

I think Tomato has a much better implementation of it.

@swintec

obviosly you have no idea of the basic theory of qos

»www.tldp.org/HOWTO/html_single/T···-general

»lartc.org/howto/lartc.qdisc.html


swintec
Premium,VIP
join:2003-12-19
Alfred, ME
kudos:5
Reviews:
·Time Warner Cable
·VoicePulse
·Sprint Mobile Br..
·RapidVPS
said by markus82 :

@swintec

obviosly you have no idea of the basic theory of qos

I may not know the nitty gritty of it, no but I do know that my TrendNet router from years ago (using factory firmware) simply needed the ISP provided max upload speed and it took care of the rest. The version of DDWRT I used required specifying a lower upload speed than what is actually provided by the ISP which i was expected to accept and let the 20-30% sit unused until the device I needed QoS on was used. My Asus router now also works very similar to my Trendnet. Maybe I was just spoiled early on and have to high of expectations for QoS?

EDIT- From DD-WRT setup guide: »www.dd-wrt.com/wiki/index.php/Qu···_Service

" It is required that you enter 80% of the values you measure into the proper field. After you have everything set run the speed test again. If you get 80% of your previous measurement in each direction then things are cool. If you get results which are way off then chances are that you have reversed these values."

I have a 5 MBit upload speed that I enjoy. Why would I accept only being able to use 4 MBits all the time?
--
Usenet Block Accounts | Unlimited Accounts


markus82

@217.113.177.x
As you can read in the manuals i posted it is necessary to cap the max-bandwith a little for QoS to be able to work. This is also mentioned in the discussion garys_2k posted before.
Well 20% generally is a very high value which isn't required in most cases. Commonly 5-10% is way enough to get QoS run smooth. In general, as smaller your real speed provided by your isp, as more you should cap (up to 20%)!

On the other hand, how would you know that your tp-link or asus firmware internally do not cap the max-bandwidth you entered without your knowing? Just for prevent their users for making a common mistake of beginners configuring QoS.

Here an example how tomato suggests how to set your max bandwidth (»tomatousb.org/tut:using-tomato-s-qos-system - Section Bottleneck No1:

If your PC('s) can be slowed down so that they send data to the
 router at a slower rate then your router can send it to the ISP,
 we ensure that there will always be some free space in the
 buffer. This is the reason I recommend you to set the
 Max Outbound" bandwidth in QOS-BASIC to
 approximately 85%, or even less, of the maximum
  real  (measured) uplink speed.
 

You see the pattern here? Your argument is delusive. I don't impute you act in bad faith, just allude to your lack of knowledge regarding this topic.

Anyhow, back to topic:

DD-WRT's and Tomato's QoS basically follows two different philosophies.
During Tomato tries to get their users as much control about the mechanism as possible, DD-WRT tries to offer their uses a easy to use QoS which doesn't require a major knowledge about the functionality of QoS in general.

In fact, Tomatos implementation is much more flexible and allows complex scenarios which can't achieved by DD-WRT's solution just like that. But this comes in lack of its usability. A well configured QoS requires a deeper knowledge about how the mechanisms of QoS work in the background.

DD-WRT's QoS on the other hand allows unversed users to achieve their commonly simple requirements without the need of studying long manuals and much theoretical stuff about traffic shaping.

So in conclusion: If you have complex requirements to the bandwidth management and don't fear to struggle with long manuals Tomato might be the right choice for you.
But if you have only simple tasks like limit that and that ip-address or prioritize my voip-calls over my children's torrent use, and all this without much effort, then DD-WRT is the better approach


swintec
Premium,VIP
join:2003-12-19
Alfred, ME
kudos:5
Reviews:
·Time Warner Cable
·VoicePulse
·Sprint Mobile Br..
·RapidVPS
said by markus82 :

On the other hand, how would you know that your tp-link or asus firmware internally do not cap the max-bandwidth you entered without your knowing? Just for prevent their users for making a common mistake of beginners configuring QoS.

Back when I had the Trendnet my upload speeds were always spot on for what the ISP provided me. I think it was less than 512 kbps(!). I was able to saturate that all day every day but as soon as I picked up the phone to make a call the upload speed for my machine that was pegging it was scaled back without issue by the router. As soon as I hung up my full upload speeds returned to normal.
--
Usenet Block Accounts | Unlimited Accounts

SCADAGeo

join:2012-11-08
N California
kudos:2
reply to markus82
said by markus82 :

Well 20% generally is a very high value which isn't required in most cases.
---
DD-WRT's QoS on the other hand allows unversed users to achieve their commonly simple requirements without the need of studying long manuals and much theoretical stuff about traffic shaping.

I believe 20% is a very conservative value, and a good _starting_ point for tuning, because I believe that the majority will _not_ take the time to gather data points about their real throughput over a period of time...