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 don't have any VPN.

I can tell you for a fact that speedtest.net on my router is picked up as Web Surfing. It should be easy to use bandwidth on that website to pump the web surfing category.

The only difference is that I have Nat Acceleration set to Auto. It states CTF (Cut Through Forwarding) enabled right next to it.
Spanning-tree protocol is enabled aswell.

App analysis/AI protection should make no difference. My firewall is on and I do not want to toggle it since I think it resets everyone from the internet, but I don't think it makes a difference.

I believe when Nat Acceleration was HW + CTF, then the ethernet devices would not get analyzed tho, but QOS disables HW acceleration so not sure what the issue is.
 
Does toggling Adaptive QoS Off/On fix the problem where everything is classified into Others temporarily? I have the same problem from time to time. Unfortunately, even with Adaptive QoS is "working as intended", traffic is rarely classified correctly. For example, YouTube is in "Web Surfing", Twitch and popular games like Overwatch are grouped with "Others", etc.
 
I wander what is DNS? Default? Something special, which is neither other nor default? I suppose it should get into either of 18-20 categories. I suspect a DNS query might be qosed, does it always get a highest priority? If I would see a net management traffic or similar I would place it above any other traffic, including VOIP.

Then the other thing. A lot of my traffic goes through encrypted tunnels. Most of it lightweight, such as terminal, but I would like to have it highest priority. Then there is file exchange through the tunnel, like git pull. This can stun the whole network if given a high priority. I realize it cannot be classified based on the protocol inspection, but I believe it could be based on bandwidth consumed. This is clearly what current qos cannot do, but is highly desirable in my environment, where most of the traffic is tunelled.
 
I think DNS falls under "Net Control Packets", which has the highest priority. Remote terminals (ie. SSH tunnels) are classified in "Other". You can move "Other" to the top priority or just make sure the guaranteed bandwidth for "Other" is always sufficient for your git work.
 
Does toggling Adaptive QoS Off/On fix the problem where everything is classified into Others temporarily? I have the same problem from time to time. Unfortunately, even with Adaptive QoS is "working as intended", traffic is rarely classified correctly. For example, YouTube is in "Web Surfing", Twitch and popular games like Overwatch are grouped with "Others", etc.

Nope, changed nothing :(
 
I don't completely understand what your Script does after reading through the whole thread so I wanted one question:

You wrote that it changes the guaranteed minimum speeds of various categories, but that would mean setting the max for all the catogries at the same time if all minima add up to 100%. (if the sum of the minimum speeds is 100% of the bandwidth that would mean that minimum = max, as the bandwidth would be distributed over all the categories)
Am I misunderstanding that?
 
Hi all,
You can try as below:
1. telnet your router
2. rm /tmp/bwdpi/*.db
3. rc rc_service start_wrs
From your symptom, your signature fails to upload into module.

Thanks,
Vanic
 
Your rule output is correct. Seems like QOS packet tagging was broken before the script was applied and remained broken after the modifications were applied.

You are having the same issue as user Sar Mange in post #18 in this thread. Your QOS sorting is not tagging the packets correctly, since all packets go to Default and my script just routes all defaults into others.

One possible reason: Do you possibly have a VPN active on the computer? If you do, then your VPN is encrypting all traffic so the router picks up everything as unclassified since it cannot tell the contents of the packets or even see the destination server beyond the VPN.

If that's not the issue: Does anyone else have a Asus AC-3100 that can check if their QOS works. If it does, anyone have an Asus AC-3100 on merlin 380.65_2. That's what I saw in the screenshot.

Also for my script it doesn't matter if you use custom classifications or one of the predefined sets. The only requirements are adaptive QOS is on with manual bandwidth limits defined.
Two more cases of AC3100 not working properly (me and another user):

https://www.snbforums.com/threads/rt-ac3100-adaptive-qos-default-class-issue.37557/#post-309091
 
Your rule output is correct. Seems like QOS packet tagging was broken before the script was applied and remained broken after the modifications were applied.

You are having the same issue as user Sar Mange in post #18 in this thread. Your QOS sorting is not tagging the packets correctly, since all packets go to Default and my script just routes all defaults into others.

One possible reason: Do you possibly have a VPN active on the computer? If you do, then your VPN is encrypting all traffic so the router picks up everything as unclassified since it cannot tell the contents of the packets or even see the destination server beyond the VPN.

If that's not the issue: Does anyone else have a Asus AC-3100 that can check if their QOS works. If it does, anyone have an Asus AC-3100 on merlin 380.65_2. That's what I saw in the screenshot.

Also for my script it doesn't matter if you use custom classifications or one of the predefined sets. The only requirements are adaptive QOS is on with manual bandwidth limits defined.

I have an AC3100 (not the 88u), and it was broken. I never tried your script, and no VPN was run. I just upgraded to .66_alpha2 and traffic is classified appropriately again.
 
I don't completely understand what your Script does after reading through the whole thread so I wanted one question:

You wrote that it changes the guaranteed minimum speeds of various categories, but that would mean setting the max for all the catogries at the same time if all minima add up to 100%. (if the sum of the minimum speeds is 100% of the bandwidth that would mean that minimum = max, as the bandwidth would be distributed over all the categories)
Am I misunderstanding that?

Not sure I entirely understand your question, but this script is designed to be used with manual bandwidth values set in the WebUI. So if you set the upload value to 80% of your available bandwidth for example, then the maximum total bandwidth consumed by any and all upload categories would be 100% of that 80% value. The percentages of each category set in the script determine the minimum amount of bandwidth each category is guaranteed out of the value set in the WebUI. If your upload bandwidth value is 10mbps, and a category is assigned a value of 10% in the script; it would be guaranteed at least 01mbps of bandwidth when competing against other categories.
 
Last edited:
Not sure I entirely understand your question, but this script is designed to be used with manual bandwidth values set in the WebUI. So if you set the upload value to 80% of your available bandwidth for example, then the maximum total bandwidth consumed by any and all upload categories would be 100% of that 80% value. The percentages of each category set in the script determine the minimum amount of bandwidth each category is guaranteed out of the value set in the WebUI. If your upload bandwidth value is 10mbps, and a category is assigned a value of 10% in the script; it would be guaranteed at least 01mbps of bandwidth when competing against other categories.
I knew when I wrote that question that I couldn't express it clearly :p I understood that it was taken from the manual maximum total bandwidth

What I wanted to know is that if the minima are permanently reserved from the bandwidth or if other categories can use that bandwidth as long as one category is not used. (as an example: if you give 30% minimum to video streaming, are the 30% available for other categories if nobody is streaming videos?)
 
I knew when I wrote that question that I couldn't express it clearly :p I understood that it was taken from the manual maximum total bandwidth

What I wanted to know is that if the minima are permanently reserved from the bandwidth or if other categories can use that bandwidth as long as one category is not used. (as an example: if you give 30% minimum to video streaming, are the 30% available for other categories if nobody is streaming videos?)

Yes, the minimums only come into play when competing with other categories for bandwidth. If only one category is seeing traffic it will use as much bandwidth as needed up to 100% of the value you set in the WebUI.
 
I've applied the script now and get the following output in the System Log:
Code:
Mar 23 13:04:22 rc_service: httpd 8345:notify_rc restart_qos;restart_firewall
Mar 23 13:04:26 start_nat_rules: apply the nat_rules(/tmp/nat_rules_eth0_eth0)!
Mar 23 13:04:26 custom script: Running /jffs/scripts/firewall-start (args: eth0)
Mar 23 13:04:26 cyroxn: Adaptive QOS: Modification Script Started
Mar 23 13:04:36 cyroxn: Adaptive QOS: Changing default priority for Unidentified Traffic
Mar 23 13:04:38 cyroxn: Adaptive QOS: Changing default minimum guaranteed bandwidth for QOS categories
Mar 23 13:04:38 kernel: HTB: quantum of class 10011 is big. Consider r2q change.
Mar 23 13:04:38 kernel: HTB: quantum of class 10012 is big. Consider r2q change.
Mar 23 13:04:38 kernel: HTB: quantum of class 10015 is big. Consider r2q change.
Is that an issue? I found another thread where Merlin said "Just ignore these. They are notices from the QoS stack because the current implementation isn't very well finetuned. Those warnings are harmless." to similar warnings. (https://www.snbforums.com/threads/htb-quantum-of-class-10001-is-big.32128/)

My Settings:
Manual Upload Max: 8, Download Max: 90
Code:
NetControl_DownBandPercent=5
VoIP_DownBandPercent=20
Gaming_DownBandPercent=20
Others_DownBandPercent=10
WebSurfing_DownBandPercent=10
Video_DownBandPercent=25
FileTransfer_DownBandPercent=5
Default_DownBandPercent=5

NetControl_UpBandPercent=10
VoIP_UpBandPercent=15
Gaming_UpBandPercent=15
Others_UpBandPercent=30
WebSurfing_UpBandPercent=10
Video_UpBandPercent=10
FileTransfer_UpBandPercent=5
Default_UpBandPercent=5
 
Last edited:
I've applied the script now and get the following output in the System Log:
Code:
Mar 23 13:04:22 rc_service: httpd 8345:notify_rc restart_qos;restart_firewall
Mar 23 13:04:26 start_nat_rules: apply the nat_rules(/tmp/nat_rules_eth0_eth0)!
Mar 23 13:04:26 custom script: Running /jffs/scripts/firewall-start (args: eth0)
Mar 23 13:04:26 cyroxn: Adaptive QOS: Modification Script Started
Mar 23 13:04:36 cyroxn: Adaptive QOS: Changing default priority for Unidentified Traffic
Mar 23 13:04:38 cyroxn: Adaptive QOS: Changing default minimum guaranteed bandwidth for QOS categories
Mar 23 13:04:38 kernel: HTB: quantum of class 10011 is big. Consider r2q change.
Mar 23 13:04:38 kernel: HTB: quantum of class 10012 is big. Consider r2q change.
Mar 23 13:04:38 kernel: HTB: quantum of class 10015 is big. Consider r2q change.
Is that an issue? I found another thread where Merlin said "Just ignore these. They are notices from the QoS stack because the current implementation isn't very well finetuned. Those warnings are harmless." to similar warnings. (https://www.snbforums.com/threads/htb-quantum-of-class-10001-is-big.32128/)

It's ok. probably in your config the sum of percentages is higher than 100%. That's why you see "quantum of class xxxxx is big" logs.
 
I've applied the script now and get the following output in the System Log:
Code:
Mar 23 13:04:22 rc_service: httpd 8345:notify_rc restart_qos;restart_firewall
Mar 23 13:04:26 start_nat_rules: apply the nat_rules(/tmp/nat_rules_eth0_eth0)!
Mar 23 13:04:26 custom script: Running /jffs/scripts/firewall-start (args: eth0)
Mar 23 13:04:26 cyroxn: Adaptive QOS: Modification Script Started
Mar 23 13:04:36 cyroxn: Adaptive QOS: Changing default priority for Unidentified Traffic
Mar 23 13:04:38 cyroxn: Adaptive QOS: Changing default minimum guaranteed bandwidth for QOS categories
Mar 23 13:04:38 kernel: HTB: quantum of class 10011 is big. Consider r2q change.
Mar 23 13:04:38 kernel: HTB: quantum of class 10012 is big. Consider r2q change.
Mar 23 13:04:38 kernel: HTB: quantum of class 10015 is big. Consider r2q change.
Is that an issue? I found another thread where Merlin said "Just ignore these. They are notices from the QoS stack because the current implementation isn't very well finetuned. Those warnings are harmless." to similar warnings. (https://www.snbforums.com/threads/htb-quantum-of-class-10001-is-big.32128/)

My Settings:
Manual Upload Max: 8, Download Max: 90
Code:
NetControl_DownBandPercent=5
VoIP_DownBandPercent=20
Gaming_DownBandPercent=20
Others_DownBandPercent=10
WebSurfing_DownBandPercent=10
Video_DownBandPercent=25
FileTransfer_DownBandPercent=5
Default_DownBandPercent=5

NetControl_UpBandPercent=10
VoIP_UpBandPercent=15
Gaming_UpBandPercent=15
Others_UpBandPercent=30
WebSurfing_UpBandPercent=10
Video_UpBandPercent=10
FileTransfer_UpBandPercent=5
Default_UpBandPercent=5

I get the same messages in my system log after a restart when the script initializes. I don't believe it is anything to worry about.
 
@FreshJR mate, I've got bad news. I've flashed to 380.66 beta1 and it seems your script needs to be updated if you wanna flash yo 380.66 :)

even though log says;

Apr 23 16:12:34 admin: Adaptive QOS: No change required for Unidentified Traffic priority
Apr 23 16:12:35 admin: Adaptive QOS: Changing default minimum guaranteed bandwidth for QOS categories

I can see that default class is incrementing.
 
@FreshJR mate, I've got bad news. I've flashed to 380.66 beta1 and it seems your script needs to be updated if you wanna flash yo 380.66 :)

even though log says;

Apr 23 16:12:34 admin: Adaptive QOS: No change required for Unidentified Traffic priority
Apr 23 16:12:35 admin: Adaptive QOS: Changing default minimum guaranteed bandwidth for QOS categories

I can see that default class is incrementing.

@FreshJR Forget about it, I've set my upload speed again and applied the QoS, now it's working again :)
 
Thank you so much for this! I've always wondered why QOS assigned everything as default. It totally screwed things up. Now I've got good reporting and hopefully it works as intended. I'd add to Step 2 that people need to enable SSH and not just the scripting portion in the Admin section.
 
how does this affect qos over all, does just provide better bandwith divison for all categories of traffic?
 
Last edited:
Status
Not open for further replies.

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