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 got it working. Changed prio $1 to prio 6.

I’m a little bit worried as to why prio $1 did not work.

Can you paste the entire results of

Code:
tc filter show dev br0

as well as your current script into pastebin.



It could be that you either inserted the rule in the wrong location or that $1 variable is not working.

I need to figure out which of the two situations is going on. $1 should of worked.

If $1 is not working then I will have to look into updating the script.
 
Here is the output of the command.

https://pastebin.com/4viXdpnx


Here is the pastebin of my script

https://pastebin.com/kxDFsYFH

Thanks

$1 is evaluating properly as evident by the snapchat rule still working.

$1 should of worked for NNTP redirection.

Rules are only parsed on initial connection. I think issue was that the usenet/nntp connection was started during the 5 minute wait.
This means that only that particular usenet download would be stuck in "VoIP", but all subsequent downloads would go into "Downloads". This little quirk/bug isn't much of an issue since no connection is opened forever.

Glad no changes have been made from the ASUS side.
 
Quick heads up for the for changes in the upcoming firmware. (I l know this will be brought up 1000 times.)

The color coded "Applications Column" on the new "QOS Statistics" only represents that traffics original QOS destination before this scripts modifications.

Once again, the colors on the column will not match what category the traffic will actually be going to as a result of applying this script.

--

I may look into creating a modified version of the "QOS Statistics" page that will override the colors so they represent the changes created by the scripts default rules.

If I do take this approach, any user created rules will still not be correctly portrayed by the color codes, but at least the default modifications will.

thank you freshJR for the explanation, i will take note. just want to ask you about my #wan is found not to be Etho but its ppp0. is it okay i’m running your default configuration or do i need to use the other script that you once mention about pppoe connection.
 
thank you freshJR for the explanation, i will take note. just want to ask you about my #wan is found not to be Etho but its ppp0. is it okay i’m running your default configuration or do i need to use the other script that you once mention about pppoe connection.

On RMerlin firmware v384+ everything happens automatically.

That note was for users that running legacy RMerlin or non-RMerlin firmware.

You are fine.
 
Last edited:
I'll try again with $1 tomorrow. One thing I noticed is that I can't max out my connection with news group downloads when qos is activated. I normally download at 5 MB/sec without qos, with qos enabled I seem to max out at 4 MB/sec. Nothing else was using the connection at the time. Speed tests were normal (50mbit) Is this due to a bandwidth reservation or setting?
 
I'll try again with $1 tomorrow. One thing I noticed is that I can't max out my connection with news group downloads when qos is activated. I normally download at 5 MB/sec without qos, with qos enabled I seem to max out at 4 MB/sec. Nothing else was using the connection at the time. Speed tests were normal (50mbit) Is this due to a bandwidth reservation or setting?

no its due to the limits you input into the WebUI.

You DO want to sacrifice top attainable speed for a solid/consistent bufferbloat grade.
 
Last edited:
no its due to the limits you input into the WebUI.

You DO want to sacrifice top attainable speed for a solid/consistent bufferbloat grade.

No, but I would like to optimize it as much as possible and for my general understanding on how it works. I seem to be losing 20% of my max download speed which seems significant. When you mention WebUI limits are you referring to the screen shot below ? I entered the vales from the speedtest.
 

Attachments

  • webui.JPG
    webui.JPG
    26.1 KB · Views: 366
  • results.JPG
    results.JPG
    20.5 KB · Views: 372
No, but I would like to optimize it as much as possible and for my general understanding on how it works. I seem to be losing 20% of my max download speed which seems significant. When you mention WebUI limits are you referring to the screen shot below ? I entered the vales from the speedtest.

Well 50mbps should equal 6.25MB/s of total network transfer speed or 6 MB/s of actual data transfer.

Both 4 & 5 MB/s seem lower than your inputted limits.

Bump QOS speeds to 100mbps in WebUI and see if it’s actually that value is limiting you.
 
Last edited:
I that will override the colors so they represent the changes created by the scripts default rules.

For users on 384.9_alpha2:

I previously said I may look into creating a modified version of the new "QOS Statistics" page, for use with 384.9 alpha2.
A modified version of the QOS Statistics page is required in order to make the table on that page reflect the the modifications made by the FreshJR_QOS script instead of reflecting stock QOS behavior.


If you are on 384.9_alpha2, feel free to check the modified QOS Statistics page by installing it on top of the script. It was made to work with the current version FreshJR_QOS available in the first post.

install:
Code:
curl "https://raw.githubusercontent.com/FreshPr/FreshJR_QOS/master/QoS_Stats.asp" -o /jffs/QoS_Stats.asp && mount -o bind /jffs/QoS_Stats.asp /www/QoS_Stats.asp

uninstall:
Code:
umount /www/QoS_Stats.asp && rm /jffs/QoS_Stats.asp

qos-page.png
 
Last edited:
For users on 384.9_alpha2:

I previously said I may look into creating a modified version of the new "QOS Statistics" page, for use with 384.9 alpha2.
A modified version of the QOS Statistics page is required in order to make the table on that page reflect the the modifications made by the FreshJR_QOS script instead of reflecting stock QOS behavior.

Installed on my RT-AC3200 running 384.9_alpha2-g2ee0afa1c. All appears well at this time. Thank you for your efforts!
 
Working good on my AC3100 @FreshJR !! ;):) Very , very nice!! Great work!
 
Hi @FreshJR I'm a long time user of your script on my RT-AC68U (Merlin FW) and most recently used the "easy" single line install method.

Is there any changelog or version number to check to see if there are updates to the script? I'm never sure if you've made updates or if the script has been unchanged for a long time now.

Thanks for your hard work. It's made a huge difference to my network performance to such a level that I don't believe any other off the shelf router could achieve the same.
 
Hi FreshJR,

I'm using dual-wan failover setup and had a dsl outage today. After it came back qos reinitialized and I found the following in the logs:

...
Jan 16 20:11:50 adaptive QOS: Delayed Start Canceled
Jan 16 20:11:50 adaptive QOS: Applying - Iptable Down Rules
Jan 16 20:11:50 adaptive QOS: Applying - Iptable Up Rules (ppp0)
Jan 16 20:11:51 adaptive QOS: Delayed Start Canceled
Jan 16 20:11:51 adaptive QOS: TC Modification Delayed Start (5min)
Jan 16 20:11:51 adaptive QOS: Delayed Start Canceled
Jan 16 20:11:51 adaptive QOS: Applying - Iptable Down Rules
Jan 16 20:11:51 adaptive QOS: Applying - Iptable Up Rules (tun21)
Jan 16 20:11:52 adaptive QOS: TC Modification Delayed Start (5min)
Jan 16 20:16:55 adaptive QOS: Applying TC Down Rules
Jan 16 20:16:55 adaptive QOS: Applying TC Up Rules
Jan 16 20:16:55 adaptive QOS: Modifying TC Class Rates
...

Why did it think it has to apply the up rules to interface tun21 instead of ppp0 (which is the correct one)? After turning qos off and on again it used ppp0. Not a big deal at all, I just wanted to report it.

Best Regards,
Chris
 
Why did it think it has to apply the up rules to interface tun21 instead of ppp0 (which is the correct one)?

The interface name is passed into the script externally when it is launced from firewall-start

RMerlin Documentation said:
firewall-start
Called after the firewall got started and filtering rules have been applied. This is where you will usually put your own custom rules in the filter table (but not the NAT table). The script receives the WAN interface name (e.g. ppp0) as an argument which can be used in the script using $1.

I wonder if the output of

Code:
iptables -vL -t mangle

in your glitched case would
1) have iptable entries for both (ppp0) & (tun21)
or
2) was (ppp0) wiped before the the erroneous (tun21) entries have been created.

I guess as an alternative you may be able to use un-comment the $wan="ppp0" line to hardcode the interface instead of relying on receiving the proper interface name automatically from firewall-start.

------

Is there any changelog or version number to check to see if there are updates to the script?

It hasn't changed for quite some time (5 months)
The script version has always available at the header section of the script located at /jffs/scripts/FreshJR_QOS

you can view the first two lines of the scripts header on your router with the following code

Code:
 head -2 /jffs/scripts/FreshJR_QOS

I will be adding the current script version & its release date to the 2nd post
I will also make v8 display the version number as part of the output when running the script with no arguments & also on the QoS statistics page to make it easier.
 
Last edited:
Thank you for your response. Sorry to say but I didn't check iptables before restarting qos in webgui. :( But when I took a look at qos statistics before restarting I saw upload stats changing while traffic was flowing so maybe there were entries for both? I activated the wan=ppp0 line in the script now.
 
Thank you for your response. Sorry to say but I didn't check iptables before restarting qos in webgui. :( But when I took a look at qos statistics before restarting I saw upload stats changing while traffic was flowing so maybe there were entries for both? I activated the wan=ppp0 line in the script now.

The only thing that would glitch with an invalid interface are the

WiFi Calling, Facetime, & Gaming custom rules on the upload portion.

You would not be able to discern this from viewing the WebUi pie charts.

--

For those of you that installed the modified QoS_Statistics page, i had the old version pushed to github on accident.:confused:

Feel free to uninstall that one and reinstall it to grab the latest one.
 
Last edited:
@FreshJR....I noticed after downloading there's a QOS stats file. Is this only working if you're on the latest alpha fw? If not, how do apply to the script or does it run automatically? Thanks
 
@FreshJR....I noticed after downloading there's a QOS stats file. Is this only working if you're on the latest alpha fw? If not, how do apply to the script or does it run automatically? Thanks

Thats just a beta release to override RMerlins new qos statistics page can so that the table on the page can reflect the modifications by Fresh QOS.

Yes, it is currently only meant for users on the alpha firmware where RMerlins new stats page has already been implemented.

You follow the 1-line install if you want to see it try it out.

It will disappear upon reboot and it does NOT reapply itself after a reboot. (Meant to just be a sneak peak).
 
@FreshJR ,

I'm seeing this message in the log file: "Jan 18 11:20:44 kernel: br0: received packet on vlan1 with own address as source address"

I searched this thread and it was mentioned by someone else, but I didn't see an answer about it. It happens randomly throughout the day, maybe two or three entries a day. I have the Asus RT-AC5300 running your latest 384.8_2 firmware. Any help determining if it's something I should worry about or not will be appreciated. Let me know if you want me to do/try anything. Thanks!

adaptive QOS: Undf Prio: 2
adaptive QOS: Undf FlowID: 1:13
adaptive QOS: Classes Present: 8
adaptive QOS: Down Band: 189440
adaptive QOS: Up Band : 33792
adaptive QOS: ***********
adaptive QOS: Net = 1:10
adaptive QOS: VOIP = 1:11
adaptive QOS: Gaming = 1:12
adaptive QOS: Others = 1:13
adaptive QOS: Web = 1:14
adaptive QOS: Streaming = 1:15
adaptive QOS: Downloads = 1:16
adaptive QOS: Defaults = 1:17
adaptive QOS: ***********
adaptive QOS: Downrates -- 9472, 37888, 28416, 18944, 18944, 56832, 9472, 9472
adaptive QOS: Downbursts -- 11195b, 46384b, 22391b, 11195b, 7994b, 6386b, 3196b, 3196b
adaptive QOS: DownCbursts -- 236800b, 236800b, 236800b, 236800b, 236800b, 236800b, 236800b, 236800b
adaptive QOS: ***********
adaptive QOS: Uprates -- 1689, 6758, 5068, 10137, 3379, 3379, 1689, 1689
adaptive QOS: Upbursts -- 3198b, 7996b, 3197b, 3196b, 3198b, 3198b, 3198b, 3198b
adaptive QOS: UpCbursts -- 41589b, 41589b, 41589b, 41589b, 41589b, 41589b, 41589b, 41589b
 
Last edited:
Status
Not open for further replies.

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