WebmailComputersProjects#Sudbury on DALnet IRC StatsThe Official StoreImage GallerySoloNET IRC StatisticsBlogLinksUseless Stats

QoS on a WRT54G(s) running DD-WRT v23

This is my second article on the WRT54G(s) and this time it's about another question I get asked all the time. "How did you setup your Qos", well finally instead of me screenshotting my QoS page and hoping for the best you now have a fancy article to explain what it's all about. QoS stands for "Quality of Service" and can help your network out alot if you enjoy downloading alot of content over popular P2P networks such as Bittorrent or emule.

Why do I need QoS ?
Well, QoS lets you prioritize your internet connections so not one service can take up all your internet speed. Most ISP's now have a bigger downstream then upstream. In my example, I have a 5mbit down on my cable connection yet only a 0.5mbit or (512kbit) upload. This means for things like bittorrent and such it's much easier for me to max out my upstream then it is my downstream. Of course we woulnd't need QoS if we all had a 100mbit line feeding into our house but we don't. This means that if you choose to download 5 linux ISO's at the same time that your http surfing could become slow or streaming radio / voip becomes choppy and unusable. This is very easy to fix esp if you have a WRT router running DD-WRT.

Oh, Sounds Fancy how do I go about setting this up ?
It's actually very simple requiring you to spend very little time and effort to get running. For the first little bit I recomend you tweak some numbers (mentioned later on) better suited for your network. Not all networks are the same and well im not too sure what YOU expect from your network. First things first, open up your webbrowser and go to the Router Webpage ( Of course if yours is different go to that page but in most cases that's the default.

You should see somthing similar to this

Okay im on the Routers Webpage now what ?
Well, click on the "Applications and Gaming" tab on the top then goto the subtab "QoS" then you should see somthing similar to this (oviously without it being all setup) i'll get to the fun part of setting it up and understanding why all that is like that.

This is the QoS Screen on the WRT

Okay, where to start ?
Well first things first you need to setup your bandwidth allocation. So you need these 2 values from your ISP. Your send up and down in kilobits a second. Some of you might already know this and some not but never fear google is here. All you have to do is take your max send or down and type it in as this "60KB to kb" which would convert a 60k/s upload to kilobits. Usually this is rounded tho for most ISP's to 128,256,512,1Mbit. In my case I have a 60k/s send so it's ~ 512kbit. Now your wondering "Why is the number you put in lower. This is due to packet overhead. For each packet you send out the connection sends back a nice friendly packet to make sure it came alright. This is called overhead. This number has to compensate for overhead. So I use 325kbit which is ~ 70% lower then my actual upload. This is because I choose to use bittorrent alot and because of all the current connections it uses alot of overhead. If you set this number too high your QoS won't work nicely like it's supposed to so I recomend you use 80% of your current bandwidth (512x0.80) = 409.60kbit (example). Then see how it runs and mess around from there. Your downlink don't worry about it and set it as high as you like. Chances of you constantly maxing your downlink enough to saturate your line is very rare but you should try to put a ballpark estimate of what you have to offer or 90% of what you have to offer (to be safe). Once your done setting up the rest tweak around your upload speed (lower is quicker) in a sense. I found that the 80% wasn't good so going down in 25kbit intervals I found a nice number which seems to keep everything speedy. Of course yours will be different then mine but play around it won't hurt.

Sweet got those numbers in now what ?
Well ... first things first you want to goto the "Add/Edit Service" and from there it should be fairly simple.

The Add/Edit Screen on the QoS Page

You have 2 options for this screen. You can have the router detect what each packet is and filter it according to that, or you can set the service and the port number. Realisticly I use nothing but the L7 packet detection for my QoS and it works great. No more ports to set for each p2p app ... just add it and it's filtered through your entire network. If you pick L7 then it will detect based on the name of the protocol. If you choose UDP/TCP and a port it will QoS by the port.

Excellent my services are set
That example is only for http ... if somthing is using alot of bandwidth the http (your websurfing) always has priority. To get the best result add some of your programs in there (such as bittorrent) and set it to bulk for an even better result. All you need to know is the port they use .. add it as TCP/UDP and then apply and goto the main QoS page and your able to add it. There is a way to get the router to filter by protocol but it adds more overhead to your router.
This Link has some advantages and disadvantages of using the L7 option.

What about all that other crap ?
Well I choose to show you how to set up global QoS for everyone but if you wish to limit individual PC's and such those are the values you should edit. Im not going to get into it but this should get you onto the right page. Really that is what this is, but this kinda goes into more detail.

I think there is somthing better / somthing wrong with your page
Please send me a nice email explaining what you think could be fixed

Thanks :)

(c) 2011