What's new

[Release] FreshJR Adaptive QOS (Improvements / Custom Rules / and Inner workings)

  • 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!

Status
Not open for further replies.
I just did a system default reset and enabled QOS. This is what i get in Log with 384.9. And I get the reduced speed 14 download and 8 upload. and 46/16 with QOS disabled.

Feb 19 13:32:40 rc_service: httpd 3833:notify_rc restart_qos;restart_firewall
Feb 19 13:32:41 qos: Applying codel patch
Feb 19 13:32:42 BWDPI: fun bitmap = ff
Feb 19 13:32:42 A.QoS: qos_count=0, qos_check=0
Feb 19 13:32:42 kernel: ERR[qos_start:3364] qos_ops is not registered!
Feb 19 13:32:42 A.QoS: set_qos_on fails
Feb 19 13:32:42 A.QoS: restart A.QoS because set_qos_conf / set_qos_on / setup rule fail
Feb 19 13:32:42 kernel: ioctl_iqos_op_switch(1) fail!
Feb 19 13:32:43 A.QoS: qos_count=0, qos_check=1
Feb 19 13:32:46 A.QoS: qos rule is less than 22
Feb 19 13:32:46 A.QoS: restart A.QoS because set_qos_conf / set_qos_on / setup rule fail
Feb 19 13:32:48 A.QoS: qos_count=1, qos_check=1
Feb 19 13:32:48 A.QoS: qos rule is less than 22
Feb 19 13:32:48 A.QoS: restart A.QoS because set_qos_conf / set_qos_on / setup rule fail
Feb 19 13:32:49 A.QoS: qos_count=2, qos_check=1
Feb 19 13:32:49 A.QoS: qos rule is less than 22
Feb 19 13:32:49 A.QoS: restart A.QoS because set_qos_conf / set_qos_on / setup rule fail

eventually those messages dissapear and QOS appears to work with classification page showing both upload and download pages.
 
I just did a system default reset and enabled QOS. This is what i get in Log with 384.9. And I get the reduced speed 14 download and 8 upload. and 46/16 with QOS disabled.

Feb 19 13:32:40 rc_service: httpd 3833:notify_rc restart_qos;restart_firewall
Feb 19 13:32:41 qos: Applying codel patch
Feb 19 13:32:42 BWDPI: fun bitmap = ff
Feb 19 13:32:42 A.QoS: qos_count=0, qos_check=0
Feb 19 13:32:42 kernel: ERR[qos_start:3364] qos_ops is not registered!
Feb 19 13:32:42 A.QoS: set_qos_on fails
Feb 19 13:32:42 A.QoS: restart A.QoS because set_qos_conf / set_qos_on / setup rule fail
Feb 19 13:32:42 kernel: ioctl_iqos_op_switch(1) fail!
Feb 19 13:32:43 A.QoS: qos_count=0, qos_check=1
Feb 19 13:32:46 A.QoS: qos rule is less than 22
Feb 19 13:32:46 A.QoS: restart A.QoS because set_qos_conf / set_qos_on / setup rule fail
Feb 19 13:32:48 A.QoS: qos_count=1, qos_check=1
Feb 19 13:32:48 A.QoS: qos rule is less than 22
Feb 19 13:32:48 A.QoS: restart A.QoS because set_qos_conf / set_qos_on / setup rule fail
Feb 19 13:32:49 A.QoS: qos_count=2, qos_check=1
Feb 19 13:32:49 A.QoS: qos rule is less than 22
Feb 19 13:32:49 A.QoS: restart A.QoS because set_qos_conf / set_qos_on / setup rule fail

eventually those messages dissapear and QOS appears to work with classification page showing both upload and download pages.

Is this testing done with a wired computer or a wireless device? How long do you leave the router 'idle' so it can settle down after you've reset it to defaults and performed a minimal and manual install?

Have you tried rebooting the router after you've configured it and then left it idle for about 10 minutes? After enabling QOS, did you do a reboot?
 
wireless computer - at least 10min . Yes done all that
 
@joe scian those messages are normal when QoS is initializing.

Since they do stop occurring and QoS reaches a functioning state your experience is the same as everyone else.

Can I get the output

/jffs/scripts/FreshJR_QOS -debug

for a quick check at your parameters
 
Hi Fresh

remember this problem occurs without your script enabled. However enabling the script does not change the fact that the speed decreases by over 50%. After further testing those error messages above occur on every time the QOS changes are applied. ( without your script enabled ). I have also found further correlation. It seems the speed reduces by over half when I enter mannual setting of 45 D and 15 U. When I leave the settings at AUTO - the speed seems to be correct.
I will now apply your script with auto settings and see if i get same results.
 
Hi Fresh

remember this problem occurs without your script enabled. However enabling the script does not change the fact that the speed decreases by over 50%. After further testing those error messages above occur on every time the QOS changes are applied. ( without your script enabled ). I have also found further correlation. It seems the speed reduces by over half when I enter mannual setting of 45 D and 15 U. When I leave the settings at AUTO - the speed seems to be correct.
I will now apply your script with auto settings and see if i get same results.

I know you said that the issue happens even without the script running, but the debug function actually pulls important variables from underlying TC structure. These variables include both ones that are modified and also others ones that are left alone. These variables are relevant to overall throughput.

The output of the debug command is in an easy to read format so I can quickly spot bugs.

(Just to be clear, grab the debug after a 5min wait)
 
Last edited:
joescian@RT-AC5300:/tmp/home/root# /jffs/scripts/FreshJR_QOS -debug
adaptive QOS: Undf Prio: 2
adaptive QOS: Undf FlowID: 1:13
adaptive QOS: Classes Present: 8
adaptive QOS: Down Band: 0
adaptive QOS: Up Band : 0
adaptive QOS: ***********
adaptive QOS: Net = 1:10
adaptive QOS: VOIP = 1:15
adaptive QOS: Gaming = 1:16
adaptive QOS: Others = 1:13
adaptive QOS: Web = 1:12
adaptive QOS: Streaming = 1:11
adaptive QOS: Downloads = 1:14
adaptive QOS: Defaults = 1:17
adaptive QOS: ***********
adaptive QOS: Downrates -- 0, 0, 0, 0, 0, 0, 0, 0
adaptive QOS: Downbursts -- 654311b, 1249348b, 1249378b, 654311b, 523126b, 391951b, 260750b, 129575b
adaptive QOS: DownCbursts -- 1249348b, 1249348b, 1249348b, 1249348b, 1249348b, 1249348b, 1249348b, 1249348b
adaptive QOS: ***********
adaptive QOS: Uprates -- 0, 0, 0, 0, 0, 0, 0, 0
adaptive QOS: Upbursts -- 654311b, 1249348b, 1249378b, 654311b, 523126b, 391951b, 260750b, 129575b
adaptive QOS: UpCbursts -- 1249348b, 1249348b, 1249348b, 1249348b, 1249348b, 1249348b, 1249348b, 1249348b
joescian@RT-AC5300:/tmp/home/root#
 
Fresh
Your script enabled with Down Band and Upband configured to AUTO - speeds are normal. ie D45.5 U 14.5 . With Down Band and Upband configured t0 45/15 the download speed and upload speed goes to 14.5/7.5 . This is exactly what happens without your script enabled as well
 
This is with down/up speeds manually defined - and speeds drop to 14.5D/7.5U
joescian@RT-AC5300:/tmp/home/root# /jffs/scripts/FreshJR_QOS -debug
adaptive QOS: Undf Prio: 2
adaptive QOS: Undf FlowID: 1:13
adaptive QOS: Classes Present: 8
adaptive QOS: Down Band: 15360
adaptive QOS: Up Band : 46080
adaptive QOS: ***********
adaptive QOS: Net = 1:10
adaptive QOS: VOIP = 1:15
adaptive QOS: Gaming = 1:16
adaptive QOS: Others = 1:13
adaptive QOS: Web = 1:12
adaptive QOS: Streaming = 1:11
adaptive QOS: Downloads = 1:14
adaptive QOS: Defaults = 1:17
adaptive QOS: ***********
adaptive QOS: Downrates -- 768, 4608, 1536, 1536, 768, 3072, 2304, 768
adaptive QOS: Downbursts -- 3198b, 3197b, 3198b, 3198b, 3198b, 3198b, 3198b, 3198b
adaptive QOS: DownCbursts -- 19200b, 19200b, 19200b, 19200b, 19200b, 19200b, 19200b, 19200b
adaptive QOS: ***********
adaptive QOS: Uprates -- 2304, 4608, 4608, 13824, 2304, 9216, 6912, 2304
adaptive QOS: Upbursts -- 3198b, 11197b, 4798b, 3196b, 3198b, 3197b, 3197b, 3198b
adaptive QOS: UpCbursts -- 57600b, 57600b, 57600b, 57600b, 57600b, 57600b, 57600b, 57600b
joescian@RT-AC5300:/tmp/home/root#

With QOS OFF I get 46/16 and A,A,A
 
You are reversing the download and upload speeds in the WebUI.
adaptive QOS: Down Band: 15360
adaptive QOS: Up Band : 46080

Enjoy!
 
I didnt realise I was that much of a tool - thanks - shame shame shame
 
So how can we donate to this? :)

I will have a paypal & BTC address available at the main post once everything is complete.

You can donate (if you wish) **AFTER** everything has been completed and you verify the end-functionality to your liking.

Ideally any donations will be a token of support and sign of interest in the project. (I do this as a hobby)

I do NOT want donations to become a payment for expected functionality or support.

Last thing I want are messages like "%#^@ You, I donated and it doesn't work as I expected".
 
I did not want to imply anything but support for your work. I've been using Merlin's firmware for about two months (donated after 1 month) and your script for maybe 1 1/2 months, it works great already. I know you're not a software company and don't expect the service level of a paid product, just want to support people who contribute to society, since I'm able to.
 
I did not want to imply anything but support for your work. I've been using Merlin's firmware for about two months (donated after 1 month) and your script for maybe 1 1/2 months, it works great already. I know you're not a software company and don't expect the service level of a paid product, just want to support people who contribute to society, since I'm able to.

Welcome to the forum and thank you for your support on both accounts of RMerlin's Asus-WRT & this project!

If you check back by this weeks end, everything, including the script and the first post, should be updated and released.

(On my side, it is fully completed, just undergoing some testing).
 
Welcome to the forum and thank you for your support on both accounts of RMerlin's Asus-WRT & this project!

If you check back by this weeks end, everything, including the script and the first post, should be updated and released.

(On my side, it is fully completed, just undergoing some testing).

Thanks for all your work, I'll be one of the first to install the new version once it's out. Cheers! :)
 
joe scian,

There was an older firmware which had a bug (Asus') which had those fields reversed too. I didn't want to bring it up to confuse what the issue might be today. Next time I won't be so cautious! :)

Glad to see it solved for you.
 
Update: One last feature before release.

RMerlin used Asus's tableApi to generate the "Tracked Connection" table.

I hated the performance when lots of connections were tracked, so I ran some performance analysis to see what needed optimization.

With ~300 connections:
It takes a total of 3ms to parse and evaluate every connection (this includes the additional 20 evaluations per connection from parsing the scripts modifications)
It takes 300ms to draw the table
300ms is way too slow and unresponsive!

I am scraping the tableApi and reimplementing the same functionality via my own method. Hopefully it goes quick.
 
Update: One last feature before release.

RMerlin used Asus's tableApi to generate the "Tracked Connection" table.

I hated the performance when lots of connections were tracked, so I ran some performance analysis to see what needed optimization.

With ~300 connections:
It takes a total of 3ms to parse and evaluate every connection (this includes the additional 20 evaluations per connection from parsing the scripts modifications)
It takes 300ms to draw the table
300ms is way too slow and unresponsive!

I am scraping the tableApi and reimplementing the same functionality via my own method. Hopefully it goes quick.
Quick question, how is the modified page being implemented? Are you mounting/binding a duplicate page over the top of the stock page?

I ask since i use the kvic ntpd and have a copy of /www mounted from USB.
 
Status
Not open for further replies.

Latest threads

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

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