What's new

Solved Bandwidth Limiter QoS

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

You don’t need the sleep commands nor the stop/starts in qos-start.

And with 75ms target, I suggest interval be 170ms (however much your target exceeds 5ms, increase interval by the same absolute amount). 100 + ( 75 - 5 ) = 170.
 
You don’t need the sleep commands nor the stop/starts in qos-start.

And with 75ms target, I suggest interval be 170ms (however much your target exceeds 5ms, increase interval by the same absolute amount). 100 + ( 75 - 5 ) = 170.
Thanks, wasn't exactly sure how to make the script reading, guessing, and trial lol.

Edit:

Thanks for all your help seems to be working now grade is A :D; seriously doubt I would have been able to figure this out myself.
 
Last edited:
Thanks, wasn't exactly sure how to make the script reading, guessing, and trial lol.

Edit:

Thanks for all your help seems to be working now grade is A :D; seriously doubt I would have been able to figure this out myself.
Just confirm all the settings and script took effect by running:
Code:
service restart_qos
tc -d qdisc ls
 
Just confirm all the settings and script took effect by running:
Code:
service restart_qos
tc -d qdisc ls

Looking at this going to say doesn't look like it's running, test seems to be what it was before, so may be in one of my tests it set but the script itself didn't work on boot.

qdisc pfifo_fast 0: dev eth0 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth1 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth2 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth3 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth4 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth5 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev spu_us_dummy root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev spu_ds_dummy root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth6 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth7 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth8 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc htb 1: dev br0 root refcnt 2 r2q 10 default 0 direct_packets_stat 302 ver 3.17 direct_qlen 2
qdisc fq_codel 9: dev br0 parent 1:9 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 30: dev br0 parent 1:30 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 31: dev br0 parent 1:31 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 32: dev br0 parent 1:32 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 33: dev br0 parent 1:33 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 34: dev br0 parent 1:34 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 35: dev br0 parent 1:35 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 36: dev br0 parent 1:36 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 37: dev br0 parent 1:37 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 38: dev br0 parent 1:38 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 39: dev br0 parent 1:39 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 40: dev br0 parent 1:40 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 41: dev br0 parent 1:41 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 42: dev br0 parent 1:42 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 43: dev br0 parent 1:43 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 44: dev br0 parent 1:44 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 45: dev br0 parent 1:45 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 46: dev br0 parent 1:46 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 47: dev br0 parent 1:47 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 48: dev br0 parent 1:48 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 49: dev br0 parent 1:49 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 50: dev br0 parent 1:50 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 51: dev br0 parent 1:51 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc htb 2: dev ppp0 root refcnt 2 r2q 10 default 0 direct_packets_stat 1423 ver 3.17 direct_qlen 3
qdisc fq_codel 9: dev ppp0 parent 2:9 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 30: dev ppp0 parent 2:30 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 31: dev ppp0 parent 2:31 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 32: dev ppp0 parent 2:32 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 33: dev ppp0 parent 2:33 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 34: dev ppp0 parent 2:34 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 35: dev ppp0 parent 2:35 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 36: dev ppp0 parent 2:36 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 37: dev ppp0 parent 2:37 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 38: dev ppp0 parent 2:38 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 39: dev ppp0 parent 2:39 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 40: dev ppp0 parent 2:40 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 41: dev ppp0 parent 2:41 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 42: dev ppp0 parent 2:42 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 43: dev ppp0 parent 2:43 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 44: dev ppp0 parent 2:44 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 45: dev ppp0 parent 2:45 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 46: dev ppp0 parent 2:46 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 47: dev ppp0 parent 2:47 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 48: dev ppp0 parent 2:48 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 49: dev ppp0 parent 2:49 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 50: dev ppp0 parent 2:50 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 51: dev ppp0 parent 2:51 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc pfifo_fast 0: dev tun21 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev tun22 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
 
Script itself is this located at /jffs/scripts/qos-start.

Code:
#!/bin/sh

sed -Ei '/TQAU parent 2:[3-9][0-9] .*SCH/ s/$/ target 95ms interval 190ms/g' /tmp/qos

Run manually without script I get this as Grade A, which shows it sets.

qdisc pfifo_fast 0: dev eth0 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth1 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth2 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth3 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth4 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth5 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev spu_us_dummy root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev spu_ds_dummy root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth6 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth7 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth8 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc htb 1: dev br0 root refcnt 2 r2q 10 default 0 direct_packets_stat 146 ver 3.17 direct_qlen 2
qdisc fq_codel 9: dev br0 parent 1:9 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 30: dev br0 parent 1:30 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 31: dev br0 parent 1:31 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 32: dev br0 parent 1:32 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 33: dev br0 parent 1:33 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 34: dev br0 parent 1:34 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 35: dev br0 parent 1:35 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 36: dev br0 parent 1:36 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 37: dev br0 parent 1:37 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 38: dev br0 parent 1:38 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 39: dev br0 parent 1:39 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 40: dev br0 parent 1:40 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 41: dev br0 parent 1:41 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 42: dev br0 parent 1:42 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 43: dev br0 parent 1:43 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 44: dev br0 parent 1:44 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 45: dev br0 parent 1:45 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 46: dev br0 parent 1:46 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 47: dev br0 parent 1:47 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 48: dev br0 parent 1:48 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 49: dev br0 parent 1:49 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 50: dev br0 parent 1:50 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 51: dev br0 parent 1:51 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc htb 2: dev ppp0 root refcnt 2 r2q 10 default 0 direct_packets_stat 126 ver 3.17 direct_qlen 3
qdisc fq_codel 9: dev ppp0 parent 2:9 limit 1000p flows 1024 quantum 300 target 5ms interval 100ms
qdisc fq_codel 30: dev ppp0 parent 2:30 limit 1000p flows 1024 quantum 300 target 95ms interval 190ms
qdisc fq_codel 31: dev ppp0 parent 2:31 limit 1000p flows 1024 quantum 300 target 95ms interval 190ms
qdisc fq_codel 32: dev ppp0 parent 2:32 limit 1000p flows 1024 quantum 300 target 95ms interval 190ms
qdisc fq_codel 33: dev ppp0 parent 2:33 limit 1000p flows 1024 quantum 300 target 95ms interval 190ms
qdisc fq_codel 34: dev ppp0 parent 2:34 limit 1000p flows 1024 quantum 300 target 95ms interval 190ms
qdisc fq_codel 35: dev ppp0 parent 2:35 limit 1000p flows 1024 quantum 300 target 95ms interval 190ms
qdisc fq_codel 36: dev ppp0 parent 2:36 limit 1000p flows 1024 quantum 300 target 95ms interval 190ms
qdisc fq_codel 37: dev ppp0 parent 2:37 limit 1000p flows 1024 quantum 300 target 95ms interval 190ms
qdisc fq_codel 38: dev ppp0 parent 2:38 limit 1000p flows 1024 quantum 300 target 95ms interval 190ms
qdisc fq_codel 39: dev ppp0 parent 2:39 limit 1000p flows 1024 quantum 300 target 95ms interval 190ms
qdisc fq_codel 40: dev ppp0 parent 2:40 limit 1000p flows 1024 quantum 300 target 95ms interval 190ms
qdisc fq_codel 41: dev ppp0 parent 2:41 limit 1000p flows 1024 quantum 300 target 95ms interval 190ms
qdisc fq_codel 42: dev ppp0 parent 2:42 limit 1000p flows 1024 quantum 300 target 95ms interval 190ms
qdisc fq_codel 43: dev ppp0 parent 2:43 limit 1000p flows 1024 quantum 300 target 95ms interval 190ms
qdisc fq_codel 44: dev ppp0 parent 2:44 limit 1000p flows 1024 quantum 300 target 95ms interval 190ms
qdisc fq_codel 45: dev ppp0 parent 2:45 limit 1000p flows 1024 quantum 300 target 95ms interval 190ms
qdisc fq_codel 46: dev ppp0 parent 2:46 limit 1000p flows 1024 quantum 300 target 95ms interval 190ms
qdisc fq_codel 47: dev ppp0 parent 2:47 limit 1000p flows 1024 quantum 300 target 95ms interval 190ms
qdisc fq_codel 48: dev ppp0 parent 2:48 limit 1000p flows 1024 quantum 300 target 95ms interval 190ms
qdisc fq_codel 49: dev ppp0 parent 2:49 limit 1000p flows 1024 quantum 300 target 95ms interval 190ms
qdisc fq_codel 50: dev ppp0 parent 2:50 limit 1000p flows 1024 quantum 300 target 95ms interval 190ms
qdisc fq_codel 51: dev ppp0 parent 2:51 limit 1000p flows 1024 quantum 300 target 95ms interval 190ms
qdisc pfifo_fast 0: dev tun21 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev tun22 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
 
Make sure JFFS Custom Configs & Scripts is enabled in the GUI ( Administration/System page).
 
chmod 755 /jffs/scripts/qos-start

Still nope. Even tried gutting a different script I know works "nat-start" rewriting it by putting my script into the file changing the name and overwriting qos-start. Must be the script itself?

-rwxr-xr-x 1 Dave root 97 Oct 2 13:03 qos-start

From what I can see in my system logs qos-start isn't even mentioned.

./qos-start doesn't execute the script.

Changed the script to add the start stop command I noticed if I did "sed -Ei '/TQAU parent 2:[3-9][0-9] .*SCH/ s/$/ target 95ms interval 190ms/g' /tmp/qos" without it then it wouldn't change if I did it manually. So now when I use ./qos-start I can change the config faster then writing it in manually and it works.

So if added it to services-start "@reboot sleep 2m ./jffs/scripts/qos-start" would that work or would it work if it was a cron job?

Edit: Tried it in services-start didn't work. but I think I'm on the right track idk.

Code:
#!/bin/sh

/tmp/qos stop

sed -Ei '/TQAU parent 2:[3-9][0-9] .*SCH/ s/$/ target 95ms interval 190ms/g' /tmp/qos

/tmp/qos start
 
Last edited:
Still nope. Even tried gutting a different script I know works "nat-start" rewriting it by putting my script into the file changing the name and overwriting qos-start. Must be the script itself?

-rwxr-xr-x 1 Dave root 97 Oct 2 13:03 qos-start

From what I can see in my system logs qos-start isn't even mentioned.

./qos-start doesn't execute the script.

Changed the script to add the start stop command I noticed if I did "sed -Ei '/TQAU parent 2:[3-9][0-9] .*SCH/ s/$/ target 95ms interval 190ms/g' /tmp/qos" without it then it wouldn't change if I did it manually. So now when I use ./qos-start I can change the config faster then writing it in manually and it works.

So if added it to services-start "@reboot sleep 2m ./jffs/scripts/qos-start" would that work or would it work if it was a cron job?

Edit: Tried it in services-start didn't work. but I think I'm on the right track idk.

Code:
#!/bin/sh

/tmp/qos stop

sed -Ei '/TQAU parent 2:[3-9][0-9] .*SCH/ s/$/ target 95ms interval 190ms/g' /tmp/qos

/tmp/qos start
Turns out the firmware doesn’t call qos-start for bandwidth limiter mode. Sorry, my bad. I hardly ever looked into this mode before.

Maybe use a service-event-end script to run the QoS stop, then sed, then start. The firmware will regenerate /tmp/qos every time QoS is restarted, so you need to hook into that every time it happens.

Will think about it some more.
 
Bash:
#!/bin/sh

if echo "$1" | grep -q "start" && [ "$2" = "qos" ]; then
  /tmp/qos stop
  sh /jffs/scripts/qos-start
  /tmp/qos start
fi
An example of what you can do in /jffs/scripts/service-event-end.
 
Last edited:
Bash:
#!/bin/sh

if [ echo "$1" | grep -q "start" ] && [ "$2" = "qos" ]; then
  /tmp/qos stop
  sh /jffs/scripts/qos-start
  /tmp/qos start
fi
An example of what you can do in /jffs/scripts/service-event-end.
Neat.

So I removed the start stop from the qos-start script then added your code into service-event-end and rebooted, tested with "tc -d qdisc ls" but doesn't seem to have taken.

system log:

Oct 2 14:58:11 custom_script: Running /jffs/scripts/service-event-end (args: restart qos)

Oct 2 14:59:17 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)

Oct 2 15:02:17 custom_script: Running /jffs/scripts/service-event-end (args: restart qos)

Oct 2 15:02:17 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)

Logs show that qos is restarted, but the script it's calling to I'm pretty sure isn't executing. Doesn't have any noticeable errors in the logs and only thing in service-event-end is your script.
 
I am quite sure the original version was flawed by putting the echo and grep inside test brackets. I’ve edited that post now. Also make sure the new script is executable.
 
Dave@GT-AX11000-6CC0:/jffs/scripts# ls -l /jffs/scripts/service-event-end
-rwxr-xr-x 1 Dave root 139 Oct 2 15:26 /jffs/scripts/service-event-end
Dave@GT-AX11000-6CC0:/jffs/scripts# ls -l /jffs/scripts/qos-start
-rwxrwxr-x 1 Dave root 99 Oct 2 14:48 /jffs/scripts/qos-start


Tried to execute by ./service-event-end didn't get a error or any mention in the logs in system logs. Didn't change anything tho in "tc -d qdisc ls". Haven't done a reboot yet because a family member is using the internet for a bit but can try with a reboot after.

Code:
qos-start script (discription not actually in script):

#!/bin/sh

sed -Ei '/TQAU parent 2:[3-9][0-9] .*SCH/ s/$/ target 95ms interval 190ms/g' /tmp/qos

Code:
Service-Event-End Script(discription not actually in script):

#!/bin/sh

if echo "$1" | grep -q "start" && [ "$2" = "qos" ]; then
  /tmp/qos stop
  sh /jffs/scripts/qos-start
  /tmp/qos start
fi
 
Last edited:
You can run service restart_qos without much impact.
 
If you want, you can move the sed to the service-event-end in place of the call to qos-start. Or just leave well enough alone.

If you switch to CAKE or Traditional QoS on the router, you will want to remove these scripts.
 
If you want, you can move the sed to the service-event-end in place of the call to qos-start. Or just leave well enough alone.

If you switch to CAKE or Traditional QoS on the router, you will want to remove these scripts.

I'm going to keep a copy of these script and a instruction in case I forget and need to modify or move to cake or flexqos. Honestly I like FlexQoS and Cake, but the need currently was more in line with hard limiting speeds I can't control, that and avoiding a direct argument with family when not to stream or download. I'll play around with it a bit might condense it into the service-event-end script to avoid multiple scripts, but it's working currently so I'm happy with it.

Your definitely a MVP here. Sorry if my issue was a bother, but you were a big help; honestly ended up learning a bunch as I was trying to figure it out as well. But in the end got to have bandwidth limits and solve some of my bufferbloat issues on my slow internet connection which will help.
 

Similar threads

Latest threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top