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.
This is good news if it makes QoS work better, but bad news if it "breaks" the esteemed FreshJR QoS tweaks we have come to know and love ...
:(
The main change that could break QoS is the new categories, I saw in the Asus router app for QoS which are "Work from home" and "learn from home" they would need to be added to the script, unless Asus made some more changes under the hood.
 
So I posted this as an issue on his GitHub profile for this project I'm hoping he gets a ping and responds, I'm hoping that the next QoS update from will include Stan the Aussie streaming service and fetch tv I might try to contact Jack Cheng the Asus rep for Australia about it.
 
Restarting qos every test is silly. It should hopefully be easier to strip the marking off the traffic.
I'd advise having a good think about the pro's/con's for excluding a regularly scheduled speed test from QoS - not saying I know the definitive answer, but worth thinking about!

To Exclude from QoS: + more accurate result, - could impact network performance (=the very reason a user has QoS enabled!)
To NOT Exclude from QoS: + no impact on day-to-day network performance, - result will only report up to QoS limit (which may or may not be helpful, depending on how the results are used/interpreted).

Personally, I'd prefer the scheduled speedtest remained constrained by QoS - I semi-regularly look at these results and am happy if everything trends around about my QoS limits (set to 95% of my usable bandwidth limit), sometimes the odd one or two are a bit lower which usually suggests network congestion at the time it was run, however if they start to look consistently lower then I know I've got a problem.

Perhaps also have an option to run ad-hoc tests without QoS (which I'd probably initiate every so often, say once a month during quiet hours, to aid validate I've got my maximum usable bandwidth limit set correctly, recognising things can change over time) - though I do this anyway by manually disabling QoS.

Food for thought..
 
Last edited:
So I posted this as an issue on his GitHub profile for this project I'm hoping he gets a ping and responds, I'm hoping that the next QoS update from will include Stan the Aussie streaming service and fetch tv I might try to contact Jack Cheng the Asus rep for Australia about it.
Would be nice if someone else could pick this up and dissect it. Would be a good time for someone that is stuck at home during this outbreak - wink wink @Adamm
 
Would be nice if someone else could pick this up and dissect it. Would be a good time for someone that is stuck at home during this outbreak - wink wink @Adamm

Unfortunately I do not know enough about the internals of QOS to maintain a script like this, and without being able to question the original author it would only amplify the problem. Deciphering someone else's code is half the battle. Perhaps when the QOS update drops the changes necessary for bare minimum functionality can be assessed and the project forked, but no promises.
 
Unfortunately I do not know enough about the internals of QOS to maintain a script like this, and without being able to question the original author it would only amplify the problem. Deciphering someone else's code is half the battle. Perhaps when the QOS update drops the changes necessary for bare minimum functionality can be assessed and the project forked, but no promises.
Thank you for at least being willing to try to look at it, I'm hoping that it's way easier than it seems to be.

I tried to raise an issue on the github of the original creator to see if he could possibly return and resume work if possible.
 
Yesterday I made a fresh install of FreshJr QoS script v8.8 on Asuswrt-Merlin 384.14 (RT-AC66U_B1 router) and rebooted. Earlier we've been having trouble with T-Mobile WiFi calling dropping - installing FreshJR QoS script might help (e.g.: port 4500).

With Adaptive QoS enabled and manual settings of bandwidth: the Classification tab the Tracked Connections is now showing "WiFi Calling" with the VoIP color for T-Mobile cellphone on a static IP against ports 500 and 4500 => good!

Odd thing: my router GUI doesn't show the Download Bandwidth user interface (where you can set Minimum Reserved and Maximum Allowed Bandwidth for the Classes). Should this user interface be on the Adaptive QoS > Classification tab ?
 
Last edited:
Yesterday I made a fresh install of FreshJr QoS script v8.8 on Asuswrt-Merlin 384.14 (RT-AC66U_B1 router) and rebooted. Earlier we've been having trouble with T-Mobile WiFi calling dropping - installing FreshJR QoS script might help (e.g.: port 4500).

With Adaptive QoS enabled and manual settings of bandwidth: the Classification tab the Tracked Connections is now showing "WiFi Calling" with the VoIP color for T-Mobile cellphone on a static IP against ports 500 and 4500 => good!

Odd thing: my router GUI doesn't show the Download Bandwidth user interface (where you can set Minimum Reserved and Maximum Allowed Bandwidth for the Classes). Should this user interface be on the Adaptive QoS > Classification tab ?
Is this what you're looking for?
Make sure you set Bandwidth Setting to Manual Setting

upload_2020-3-31_11-27-18.png
 
Not sure about anyone else but my AX88U running 384.16 beta 2 seems to already identify Microsoft Teams and other similar traffic correctly under the VOIP category which it did not do previously. I suspect this is because it uses the Trend Micro engine to identify the traffic, and therefore can be updated when the AI Protection update downloads. My AI Protection signature version is 2.170 Updated : 2020/03/27 02:00 which is the same date the new official firmware happened to drop. I suspect therefore you don't have to actually update to the latest firmware to be benefiting from these QOS improvements.
 
Is this what you're looking for?
Make sure you set Bandwidth Setting to Manual Setting

View attachment 22289
Thanks for this Mutzli. Those settings are available on my user interface => good.

What I meant was these user interface views shown in Smoky316 #3955 post in this thread:
https://www.snbforums.com/threads/r...and-inner-workings.36836/page-198#post-554172
I'm not seeing the user interface shown in the first picture, nor the Download Bandwidth fields in the second picture.
 
Last edited:
Not sure about anyone else but my AX88U running 384.16 beta 2 seems to already identify Microsoft Teams and other similar traffic correctly under the VOIP category which it did not do previously. I suspect this is because it uses the Trend Micro engine to identify the traffic, and therefore can be updated when the AI Protection update downloads. My AI Protection signature version is 2.170 Updated : 2020/03/27 02:00 which is the same date the new official firmware happened to drop. I suspect therefore you don't have to actually update to the latest firmware to be benefiting from these QOS improvements.
I suspect it will be a combination of traffic identifiers that come via Trend Micro update signatures (no firmware update required), QoS categories (firmware update required), and hopefully some bug fixes and better QoS logic (this one is a bit of a hopeful wish!).
 
Not sure about anyone else but my AX88U running 384.16 beta 2 seems to already identify Microsoft Teams and other similar traffic correctly under the VOIP category which it did not do previously. I suspect this is because it uses the Trend Micro engine to identify the traffic, and therefore can be updated when the AI Protection update downloads. My AI Protection signature version is 2.170 Updated : 2020/03/27 02:00 which is the same date the new official firmware happened to drop. I suspect therefore you don't have to actually update to the latest firmware to be benefiting from these QOS improvements.
In my case, with 2.170 signature, it won't detect Zoom, MS Teams, or whatever.. Still the same than old qos categories.
RT-AC86U
EDIT: Well, I remembered that I'm using FreshJR. Maybe it only detect new categories don't using it...
 
Last edited:
In my case, with 2.170 signature, it won't detect Zoom, MS Teams, or whatever.. Still the same than old qos categories.
RT-AC86U
EDIT: Well, I remembered that I'm using FreshJR. Maybe it only detect new categories don't using it...

I'm using freshjr as well and everything is detected correctly. Very strange!
 
That's under Classification on your right click the yellow FreshJR Mod (Customize)
View attachment 22318
Thanks Mutzli. Unfortunately this text wasn't on my UI - even after hard reboot. I found the workaround by running in SSH:
/jffs/scripts/FreshJR_QOS -menu
Select 2) update, and choose 1) Yes, then select Restart QoS. Then with a browser refresh FreshJR Mod (Customize) appears in QoS Classification => all good.
If I reboot my router I have to repeat these steps again. QoS is now working - especially for WiFi calling which was trouble before.
Thanks!

UPDATE 7th April. My very bad. I didn't read the install instructions properly: I had not enabled the Custom Scripts as described on GitHub FreshJR page. Just did this and rebooted my router and now the FreshJR UI appears. Sorry!
 
Last edited:
AutoBW: AUTOmatically set QoS BandWidth speeds using spdMerlin
A few (big)notable changes from the script I posted earlier in this thread:
- No longer requires bash: just bc and spdMerlin
- No longer disables/enables QoS to run speedtest. The spdMerlin upload/download packets are not throttled (download packets are fine and upload packets are given flow id of 1:2). The script will check to make sure these packets (all packets with a given mark) are not throttled as that would produce inaccurate results. Personally, I did this by adding the following line to FreshJr's script in the appropriate place (tc_redirection_up_rules):
Code:
${tc} filter add dev eth0 protocol all prio 1 u32 match mark 0x40030001 0xc03fffff flowid 1:2
-The new up/down speeds (from spdMerlin) and current speeds are used to create a scale factor by which all class rates/ceils are scaled (and tc class change is executed with scaled values).
-Test Mode is on by default so you can see calculations/results of script without making any changes.

Get it here.
 
Last edited:
AutoBW: AUTOmatically set QoS BandWidth speeds using spdMerlin
A few (big)notable changes from the script I posted earlier in this thread:
- No longer requires bash: just bc and spdMerlin
- No longer disables/enables QoS to run speedtest. The spdMerlin upload/download packets are not throttled (download packets are fine and upload packets are given flow id of 1:2). The script will check to make sure these packets (all packets with a given mark) are not throttled as that would produce inaccurate results. Personally, I did this by adding the following line to FreshJr's script in the appropriate place (tc_redirection_up_rules):

-The new up/down speeds (from spdMerlin) and current speeds are used to create a scale factor by which all class rates/ceils are scaled (and tc class change is executed with scaled values).
-Test Mode is on by default so you can see calculations/results of script without making any changes.

Get it here.
Should go to amtm
 
AutoBW: AUTOmatically set QoS BandWidth speeds using spdMerlin
A few (big)notable changes from the script I posted earlier in this thread:
- No longer requires bash: just bc and spdMerlin
- No longer disables/enables QoS to run speedtest. The spdMerlin upload/download packets are not throttled (download packets are fine and upload packets are given flow id of 1:2). The script will check to make sure these packets (all packets with a given mark) are not throttled as that would produce inaccurate results. Personally, I did this by adding the following line to FreshJr's script in the appropriate place (tc_redirection_up_rules):

-The new up/down speeds (from spdMerlin) and current speeds are used to create a scale factor by which all class rates/ceils are scaled (and tc class change is executed with scaled values).
-Test Mode is on by default so you can see calculations/results of script without making any changes.

Get it here.
How do we install this script?
 
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