OpenWrt Forum Archive

Topic: A qos script that really works!

The content of this topic has been archived between 1 Apr 2018 and 30 Apr 2018. Unfortunately there are posts – most likely complete pages – missing.

i have problem installed 1.05 on kamikaze 7.07. i know this is listed for white russian but the error is

Nothing to be done
An error ocurred, return value: 1.
Collected errors:
ERROR: Cannot satisfy the following dependencies for qos-re:
         kmod-imq

I installed the list of packages you listed in the first page but it still gives this error and there is no package by kmod-imq.  Thanks for any info.

Unfortunately, I have not had time to check compatibility of qos-re w/ Kamikaze. At some point I will, as I plan on moving to Kamikaze myself, even though White Russian is rock solid and does not necessarily require any upgrades. Short term, I suggest you stick with White Russion for best QoS performance.

loguser wrote:

i have problem installed 1.05 on kamikaze 7.07. i know this is listed for white russian but the error is

loguser wrote:

i have problem installed 1.05 on kamikaze 7.07. i know this is listed for white russian but the error is

Nothing to be done
An error ocurred, return value: 1.
Collected errors:
ERROR: Cannot satisfy the following dependencies for qos-re:
         kmod-imq

I installed the list of packages you listed in the first page but it still gives this error and there is no package by kmod-imq.  Thanks for any info.

I think that this should be the package kmod-ipt-imq in kamikaze 7.07

First of all, I'd like o say that I'm using this script in one of my OpenWrt boxes (Asus wl500gx). It has static Internet connection on its WAN interface (vlan1) and everything works fine (thanks, rudy)!.

Now I need to set it up on another box which connects to Internet through ppp. I want to maintain QoS on ppp0, but the specific situation is that ppp0 is not the WAN interface (again WAN is vlan1), and ppp connection is performed manually upon demand.

The problem is that I can't get it working. Installation of the script goes smoothly, then qos.conf is edited to specify the desired QOS_IF=ppp0, and finally the script is started by qos-start. The output of qos-stat shows that everything is up and running. "Iptables -L -v -t mangle" command shows that rules are created correctly. But when I look through /proc/net/ip_conntrack, I see that the connections from LAN client PCs to Internet through ppp0 interface are not properly marked according to my preferences, as it is on my first box. It shows mark=0 for all connections as if they are local.

I've double read all this topic but have no clue. Am I missing something? Any help will be greatly appreciated.

Hi I'm thinking of using this qos script on kamikaze 7.09. I was using the Wondershaper script on Oleg before I decided to switch to Kamikaze.

I just want to have qos over the egress (upload) and leave the ingress alone. This is because my download bandwidth is outrageously huge and seldom max out. Using a large value for the ingress seemed to throttle the download speed, no matter what large value i set. I think it's because of the overhead. That being, how to I disable ingress traffic control in this script?

Secondly, I wish to add another class which is extremely throttled (about 1KB). Then I want to filter packets to certain destination ports to this very throttled class. This is to prevent some games from playing smoothly to discourage playing. However I only want to do this during certain hours of the day. What I have before is a cron script that add and remove a tc filter. Again how do I do this with your script?

From what I've heard, this script seems good. So I'm hesitant to run a wondershaper script if I can. Thanks.

is the pkg mirrored anywhere? having trouble getting at it

Ok after reading through the scripts, I think I have the answer to my question.

Disabling ingress is just a simple setting in the config. *kicks myself for not seeing that.

I think it's safe for me to just add another class like this

tc class add dev $QOS_IF parent 1:1 classid 1:50 htb rate 5kbit burst $(($BURST_U*1)) cburst $(($BURST_U*1)) prio 5 mtu $MTU
tc qdisc add dev $QOS_IF parent 1:50 sfq quantum $MTU perturb 10
tc filter add dev $QOS_IF parent 1: prio 5 protocol ip handle 5 fw flowid 1:50

Then introduce another category to mark the packets easily enough.

But now I've got a few other questions. Since I'm running Kamikaze 7.09, I can't install the package. So I've decided to do it manually, but I'm not very familiar with the filesystem. Do I just place this script in /etc/hotplug/iface/ and the "config" file in /etc/qos.conf ? Think I might have to write something in /etc/init.d as well yah?

Another question. Why do you create a class 1:30 but never use it?

Hey guys need some help here, i have been using the script but it dosent seem to be very effective with the latest tomato firmware. Currently my connection speed is 60 KBps download, and there is nothing like upload speed by my isp back here in india sad. My upload speeds and download speeds are the same unfortunately, which means that when im not uploading anything i get 60 KBps download speed and when im not downloading anything i get 60 KBps upload speeds. So then what values should i put in the upload and download speeds in the script and in the qos section in tomato ? Because i have tinkered around with quite a lot of different settings with the scipt to no avail. Any help here would be greatful!

(Last edited by rushabht on 10 Oct 2007, 11:25)

GOOD!

---------------------------
'AyRecovery'-allows your computer to restore to a previous healthy state after a system crash,

welcomb wrote:

Hi I'm thinking of using this qos script on kamikaze 7.09. I was using the Wondershaper script on Oleg before I decided to switch to Kamikaze.

I just want to have qos over the egress (upload) and leave the ingress alone. This is because my download bandwidth is outrageously huge and seldom max out. Using a large value for the ingress seemed to throttle the download speed, no matter what large value i set. I think it's because of the overhead. That being, how to I disable ingress traffic control in this script?

Secondly, I wish to add another class which is extremely throttled (about 1KB). Then I want to filter packets to certain destination ports to this very throttled class. This is to prevent some games from playing smoothly to discourage playing. However I only want to do this during certain hours of the day. What I have before is a cron script that add and remove a tc filter. Again how do I do this with your script?

From what I've heard, this script seems good. So I'm hesitant to run a wondershaper script if I can. Thanks.

Hi,

I've recently rebuilt qos-re-hfsc to include support for Kamikaze and to split hosts in qos.conf to external and internal parts (wan and lan). The only problem I found is that during boot process this script should be started manually by qos-start command. After that it starts correctly every time wan interface goes down and up.
you can download this script from ftp://dima-spb.dontexist.net/qos-re-hfs … e-7.09.ipk and the same for White Russian from ftp://dima-spb.dontexist.net/qos-re-hfsc_1.05_all.ipk


Hope it'll help,

Best Regards, Dmitry

rdmitry wrote:

Hi,

I've recently rebuilt qos-re-hfsc to include support for Kamikaze and to split hosts in qos.conf to external and internal parts (wan and lan). The only problem I found is that during boot process this script should be started manually by qos-start command. After that it starts correctly every time wan interface goes down and up.
you can download this script from ftp://dima-spb.dontexist.net/qos-re-hfs … e-7.09.ipk and the same for White Russian from ftp://dima-spb.dontexist.net/qos-re-hfsc_1.05_all.ipk


Hope it'll help,

Best Regards, Dmitry

I've actually reconfigured the script so that it works for Kamikaze. I don't think Kamikaze hotplug interface is the same as White Russian. What I did was to edit /etc/hotplug.d/iface/20-qos to restart the qos service when the wan interface goes up, as such:

#!/bin/sh
[ "$ACTION" = "ifup" -a "#INTERFACE" = "wan" ] && /etc/init.d/qos enabled && /etc/init.d/qos restart

And to get it to initialise on boot, I created a file /etc/init.d/qos with the contents of the script, as such:

#!/bin/sh /etc/rc.common
START=99

# qos-script v1.05

## Please modify user configuration in /etc/qos.conf
## To start QoS without reboot, use "/etc/init.d/qos restart"

start () {

# User configuration
[ -f /etc/qos.conf ] && . /etc/qos.conf

# If no interface defined, use WAN interface
[ "$QOS_IF" ] || QOS_IF="eth0"

echo "Starting QoS..."

  # Length of burst buffers in ms (must be larger than kernel jiffy of 10ms)
  DBURST_D=10
  DBURST_U=10

...
*** Rest if the script goes on here ***
...

}

stop () {

# Deactivate QoS

iptables -t mangle -F
iptables -t mangle -X

sed -n 's/ *\(.*\):.*/\1/p' /proc/net/dev | while read INTERFACE; do
  tc qdisc del dev $INTERFACE root >&- 2>&-
done

ip link set imq0 down

}

What I did was basically translate the script into a init service in Kamikaze. The start function is the main script, while the stop function is mainly the qos-stop. You have to run "/etc/init.d/qos enable" for the first time and it'll auto start every boot and restart every time the interface goes up. Run "/etc/init.d/qos help" for more information.

Unfortunately I have no idea how to package it into a nice package. Maybe you could do that for the benefit of others?

(Last edited by welcomb on 29 Oct 2007, 14:55)

I am sometimes having problem with voip with qos-re...  Can someone point me into guaranteeing full bandwidth for voip?  I already set the highist priorities but from checking http://myspeed.visualware.com/voip/ my jitter is always below standard quality.  I have more than enough bandwidth to support g711u but i still get periodic broken conversations.

hello, i need help because i have a problem. I have a WRT54GL v1.1 and i installed  openwrt-wrt54g-squashfs.bin, but now i want to install the qos package and i can't. i and trying to install the package qos-scripts_0.9.1-1_mipsel.ipk

thanks

dario,
it should be as easy as

ipkg update
ipkg install qos-scripts

thank you gimpel !!!

can someone tell me if they have l7 working with qos-re.  I changed the priority to have l7 first because I noticed that the tcp/udp priority was catching everything.  However even changing l7 first it still will not handle anything like sip,rstp,nntp, etc.

The link above ftp://dima-spb.dontexist.net/qos-re-hfs … e-7.09.ipk isn't working - does anyone else have a working version of Rudy's QoS scripts that work for kamikaze, or a way to make the original package work? It worked great in whiterussian, and I don't really want to change to qos-scripts now if I don't have to. That and I've spent so much time tinkering with kamikaze, I don't want to revert back.. sad

Thanks in advance!
jt

johnnytaco wrote:

The link above ftp://dima-spb.dontexist.net/qos-re-hfs … e-7.09.ipk isn't working - does anyone else have a working version of Rudy's QoS scripts that work for kamikaze, or a way to make the original package work?

What's wrong with qos-scripts from the standard kamikaze repo?
It works just fine out-of-the-box here.

I've got that running but I've been using Rudy's for so long, I just trust them... Would like to have the choice and test both of them.

Then just untar the ipk of rudy's and copy stuff over manually. Of course you need the modules etc too.

(Last edited by gimpel on 22 Nov 2007, 20:03)

johnnytaco wrote:

The link above ftp://dima-spb.dontexist.net/qos-re-hfs … e-7.09.ipk isn't working - does anyone else have a working version of Rudy's QoS scripts that work for kamikaze, or a way to make the original package work? It worked great in whiterussian, and I don't really want to change to qos-scripts now if I don't have to. That and I've spent so much time tinkering with kamikaze, I don't want to revert back.. sad

Thanks in advance!
jt

There was some problems with my ftp server. I fixed them and hopefully, now and on it is working

Hello everyone smile

I'm quite new to openWrt and even more to this QOS script.

A few days ago, I updated my WL-500G to Kamikaze 7.09, but only this weekend i've had the opportunity to try and configure QoS on it, so it can handle VOIP+P2P+regular web usage.

I tried to read as much as I could from this thread, but couldn't read it all.

Fortunately there is so much information, but i couldn't find a post with simple instructions to get this going on Kamikaze 7.09.

For what I've read i tried to do the following:

1. ipkg -d usb install ftp://dima-spb.dontexist.net/qos-re-hfs … e-7.09.ipk
    -  got the following error but i think it installed
    Configuring qos-re-hfsc
    postinst script returned status 1
    ERROR: qos-re-hfsc.postinst returned 1

2. create file 20-qos under /etc/hotplug.d/iface with code
#!/bin/sh
[ "$ACTION" = "ifup" -a "#INTERFACE" = "wan" ] && /etc/init.d/qos enabled && /etc/init.d/qos restart

3. create file qos under /etd/init.d with those changes mentioned by welcomb on 2007-10-29 14:52:55 but can't remember which file content i put in ...
*** Rest if the script goes on here ***
...

Nevertheless, when i try to run /etc/init.d/qos start I get (i tried to make sure that i had all packages installed):
Starting QoS...
SIOCGIFFLAGS: No such device
sh: 0: unknown operand
sh: 0: unknown operand
iptables v1.3.7: Unknown arg `--todev'
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.3.7: Unknown arg `--todev'
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.3.7: Unknown arg `--restore-mark'
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.3.7: Unknown arg `--save-mark'
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.3.7: Couldn't load match `length':File not found

Try `iptables -h' or 'iptables --help' for more information.

So i would kindly ask if someone can write in a few lines, which packages i should install and which content should the following files have:
/etc/init.d/qos
/etc/hotplug.d/iface/20-qos
/etc/qos.conf

because all these files have been changing allong the whole thread and I don't know where I can find a final example without having to make all those changes...

p.s. at the moment I don't have any /etc/qos.conf (should I need one?) and my installation procedure might not make any sense... but after 20 pages I'm completely confused.

Thanks,

Nuno Bettencourt

nuno.bett wrote:

Hello everyone smile

I'm quite new to openWrt and even more to this QOS script.

A few days ago, I updated my WL-500G to Kamikaze 7.09, but only this weekend i've had the opportunity to try and configure QoS on it, so it can handle VOIP+P2P+regular web usage.

I tried to read as much as I could from this thread, but couldn't read it all.

Fortunately there is so much information, but i couldn't find a post with simple instructions to get this going on Kamikaze 7.09.

For what I've read i tried to do the following:

1. ipkg -d usb install ftp://dima-spb.dontexist.net/qos-re-hfs … e-7.09.ipk
    -  got the following error but i think it installed
    Configuring qos-re-hfsc
    postinst script returned status 1
    ERROR: qos-re-hfsc.postinst returned 1

2. create file 20-qos under /etc/hotplug.d/iface with code
#!/bin/sh
[ "$ACTION" = "ifup" -a "#INTERFACE" = "wan" ] && /etc/init.d/qos enabled && /etc/init.d/qos restart

3. create file qos under /etd/init.d with those changes mentioned by welcomb on 2007-10-29 14:52:55 but can't remember which file content i put in ...
*** Rest if the script goes on here ***
...

Nevertheless, when i try to run /etc/init.d/qos start I get (i tried to make sure that i had all packages installed):
Starting QoS...
SIOCGIFFLAGS: No such device
sh: 0: unknown operand
sh: 0: unknown operand
iptables v1.3.7: Unknown arg `--todev'
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.3.7: Unknown arg `--todev'
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.3.7: Unknown arg `--restore-mark'
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.3.7: Unknown arg `--save-mark'
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.3.7: Couldn't load match `length':File not found

Try `iptables -h' or 'iptables --help' for more information.

So i would kindly ask if someone can write in a few lines, which packages i should install and which content should the following files have:
/etc/init.d/qos
/etc/hotplug.d/iface/20-qos
/etc/qos.conf

because all these files have been changing allong the whole thread and I don't know where I can find a final example without having to make all those changes...

p.s. at the moment I don't have any /etc/qos.conf (should I need one?) and my installation procedure might not make any sense... but after 20 pages I'm completely confused.

Thanks,

Nuno Bettencourt

hello again smile

forget everything I said before... I managed to set up this qos-scritps. Seems like the problem was that I installed the ipkg on another destination rather than root and nothing seemed to work. After installing qos-scripts package from ftp://dima-spb.dontexist.net/qos-re-hfs … e-7.09.ipk to root, almost everything got to work, my ingress status is not working...


INGRESS STATUS
Cannot find device "imq0"

My router is a WL-500g and I still had a bridge between lan and WIFI, which i have already split. I have iptables-mod-imq - 1.3.7-1 and kmod-ipt-imq - 2.4.34-brcm-1 modules installed but insmod for imq keeps failing. Any ideas why I can't have my Intermediate Queuing Device up & running?

(Last edited by nuno.bett on 5 Dec 2007, 14:26)

Has anyone encountered weird "pauses" in their net connection with this script? I tried installing it yesterday, and while it seems to work very well, I now get frequent periods where all inbound/outbound internet traffic seems to stop for roughly 30-40 seconds, then it starts working normally again. What can be causing this? It's extremely annoying when it happens while I'm playing a game sad

hello,

I have installed the qos package in my linksys, i would like to get some help because i don't know how to modificate this package, so could you please tell me if there is any command by console? or Do I have to open the package in linux, change the code and re install it again?

please help me, thanks

The discussion might have continued from here.