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.
Anyone else having an issue with the QOS traffic priority list not staying in the JRFresh recommended order? After a reboot, I notice my order gets jumbled up, with gaming always at the top.
This is with .12beta2.
I had it once so far it's an Asus bug Merlin said something about jfs to NV ram and Asus hasn't released a fix yet.
 
Has this script been abandoned? I ask because I haven't seen @FreshJR here for a while now.
I'm a big fan of this project and I'm wondering if previously proposed additions will still be added going forward.
 
Has this script been abandoned? I ask because I haven't seen @FreshJR here for a while now.
I'm a big fan of this project and I'm wondering if previously proposed additions will still be added going forward.
FreshJR said that is not releasing a new version until he can figure out some IPv6 issues with QoS.
 
Installing:

This following installation procedure is only applicable to users running RMerlin firmware.

In your router you need Custom Scripts & SSH enabled.
Code:
(1) Administration -> System -> Enable JFFS custom scripts and configs -> YES -> Apply

(2) Administration -> System -> Enable SSH -> LAN Only -> Apply
    You can disable SSH after installation if you do not want to leave it available for security reasons.
For users on original AsusWRT firmware follow the manual install procedure at the end of this post. Read the technical notes for additional requirements.
Windows - Easy (1-line) Install :
1) Open Putty and connect to your router by IP
2) Paste the command below and press enter
Code:
curl "https://raw.githubusercontent.com/FreshJR07/FreshJR_QOS/master/FreshJR_QOS.sh" -o /jffs/scripts/FreshJR_QOS --create-dirs && curl "https://raw.githubusercontent.com/FreshJR07/FreshJR_QOS/master/FreshJR_QoS_Stats.asp" -o /jffs/scripts/www_FreshJR_QoS_Stats.asp && sh /jffs/scripts/FreshJR_QOS -install
3) Enable or Restart QOS for changes to take effect​
Mac/Linux - Easy (1-line) Install :

1) Open Terminal and type in (changing both the username and IP to match your router)
Code:
ssh admin@192.168.1.1
2) Paste the command below and then press enter
Code:
curl "https://raw.githubusercontent.com/FreshJR07/FreshJR_QOS/master/FreshJR_QOS.sh" -o /jffs/scripts/FreshJR_QOS --create-dirs && curl "https://raw.githubusercontent.com/FreshJR07/FreshJR_QOS/master/FreshJR_QoS_Stats.asp" -o /jffs/scripts/www_FreshJR_QoS_Stats.asp && sh /jffs/scripts/FreshJR_QOS -install
3) Enable or Restart QOS for changes to take effect​

QOS Recommended Setup:


1) Use manual bandwidth with limits set to 85-95% of your non-throttled speedtest results

To zone in on the ideal bandwidth within this range you need to be aware of these relations while testing with DSLreports Speedtest:

If you are getting poor bufferbloat grade, reduce WebUI speeds
If you are getting poor quality, increase WebUI speeds.

With these effects in mind, zero in on the ideal speed to get highest overall grade as quality/bufferbloat have an inverse relationship.
Always perform testing without other network activity so the results are consistent and not skewed.​
Note: Do not use the Automatic bandwidth setting. It does not work !

2) Keep all devices at default priority.

Individual device priority is adjustable under the "Bandwidth Monitor" tab of adaptive QoS.
Traffic allotted between devices of different categories does not produce sane results. As a result, keep all devices default priority.

Dedicated VOIP lines are an exception and you can place them as high priority.
(By this I mean real dedicated VOIP lines and not a multi-purpose device like your cellphone)
3) I recommend the following QOS traffic priority list.

VoIP
Gaming
Others
Web Surfing
Video and Audio Streaming
File Transfers

Keep in mind that "Unidentified traffic" will flow into "Others" with this script.
4) sfq vs fq-codel ?

I perfer the performance of fq-codel, but feel free to experiment in this area.

Here are some results of my testing.

- I get a significantly faster RAMP to max defined speed (a signature trait of CoDel) compared to sfq.
- The initial bufferbloat spikes are reduced significantly faster with Fq-CoDel.
- My bufferbloat is +10-20ms above average with Fq-Codel, vs +20-40ms with sfq.

Results:

sfq-v-codel.gif

download-bloat.gif


5) (Optional) Enabling the Gaming Oriented Rule
The optional gaming rule requires your console devices:

1) to have a static IP assignment in Asus WebUI.
  1. Go to Router home page
  2. Click "LAN" on the left hand side
  3. Scroll down to "Manually Assigned IP around the DHCP list (Max Limit : 128)"
  4. Find your gaming devices in the drop down list and manually assign IP's
2) this CIDR IP range of your gaming consoles has to be passed into the script.

cidr_calc.png
Uninstalling FreshJR QOS:

An uninstall is NOT needed between updates.
If you wish to remove FreshJR_QOS completely from your router use the following command:

Code:
/jffs/scripts/FreshJR_QOS -uninstall

Alternative (Manual) Install:

For a manual install you will have to download the script files onto your computer.


Windows - Manual Install
Windows users will also need download putty and pscp and place those executables into the folder containing the script files.

The folder should look like this

Code:
C:\FreshJR_QOS\FreshJR_QOS.sh
C:\FreshJR_QOS\FreshJR_QoS_Stats.asp
C:\FreshJR_QOS\Manual Install - Windows - FreshJR QOS.bat
C:\FreshJR_QOS\putty.exe
C:\FreshJR_QOS\pscp.exe

Once it does, you can simply open the "Manual Install" file and follow the instructions
Mac - Manual Install
Simply run "Manual Install" file within the extracted script files folder.​

Linux - Manual Install

General procedure for a manual install using the terminal
Code:
ssh admin@192.168.1.1
mkdir /jffs/scripts/
exit

scp /source_directory/FreshJR_QOS.sh admin@192.168.1.1:/jffs/scripts/FreshJR_QOS
scp /source_directory/FreshJR_QoS_Stats.asp admin@192.168.1.1:/jffs/scripts/www_FreshJR_QoS_Stats.asp


ssh admin@192.168.1.1
dos2unix /jffs/scripts/FreshJR_QOS
sh /jffs/scripts/FreshJR_QOS -install
exit
Mote: User specific parameters used in the commands above have to be modified
- username (admin) and IP (192.168.1.1) have to be changed to match those of your router.
- the source directory be changed to point to where you have downloaded the files​


Script Technical Notes:

The script runs 5 minutes after any QOS settings have been initiated in the webUI.
All custom settings in the script are applied after this wait period, with script status shown in the system log.

It is possible to trigger a QOS environment reset without triggering the script’s subsequent modifications.
Some examples of this are checking for QOS definition updates or changing AiProtect settings in the webUI.

To overcome this, the script runs a persistence check everyday at 3:30 am to see if it has to be reapplied.

Script modifications get reset when WebUI changes are made (normal behavior).
For AsusWRT users it is not possible to trigger the script after WebUI changes.
As a workaround, the script is triggered on usb/thumb/flashdrive mount.

If using Stock / Default / Unmodified AsusWRT, you will have to leave a flash drive attached to the router 24/7.

After making WebUI changes, the script will remain off until it’s daily check at 3:30AM or until system reboot
I'm a modestly sophisticated user who has installed an AIMESH system in a medium sized house. 3 AI Nodes were installed with one main router using the current ASUS firmware updated on all 4 routers. One AI Node is to be used for an Xbox One X. I've seen fairly unstable internet speeds using this mesh system. The mesh system replaced a set of 802.11ac routers from Apple (Airport Extremes c. 2017). I'm sure I just don't have this properly optimized. I've read through the Adaptive QoS setup posts, have implemented Adaptive QoS with the manual bandwidth limits tried first with 85% of the throttled level, but I'm unclear on the script installation. I use a Mac PowerBook 2017 version, so you want me to manually install the script which I assume will give me the map you illustrated earlier in this post. There is an install script in the package for Mac run through the terminal window. then there is a spoiler comment I don't get--about a flashdrive plugged into the main router due to a daily update process from Asus(?). So, I need this all dumbed down a little so I can properly implement. Having lots of gaming issues, but the bigger one is a stark drop off of the internet speed in various parts of the house intermittently. There aren't a lot of broadcasting devices, so, it is just that the mesh is needing optimiziation. Thanks for some guidance from the experts who have posted here.
 
I'm a modestly sophisticated user who has installed an AIMESH system in a medium sized house. 3 AI Nodes were installed with one main router using the current ASUS firmware updated on all 4 routers. One AI Node is to be used for an Xbox One X. I've seen fairly unstable internet speeds using this mesh system. The mesh system replaced a set of 802.11ac routers from Apple (Airport Extremes c. 2017). I'm sure I just don't have this properly optimized. I've read through the Adaptive QoS setup posts, have implemented Adaptive QoS with the manual bandwidth limits tried first with 85% of the throttled level, but I'm unclear on the script installation. I use a Mac PowerBook 2017 version, so you want me to manually install the script which I assume will give me the map you illustrated earlier in this post. There is an install script in the package for Mac run through the terminal window. then there is a spoiler comment I don't get--about a flashdrive plugged into the main router due to a daily update process from Asus(?). So, I need this all dumbed down a little so I can properly implement. Having lots of gaming issues, but the bigger one is a stark drop off of the internet speed in various parts of the house intermittently. There aren't a lot of broadcasting devices, so, it is just that the mesh is needing optimiziation. Thanks for some guidance from the experts who have posted here.
Since you're running aimesh, I assume you're on stock firmware. I don't believe this script works with the current stock firmware(3.0.0.4.384.45717). I think this latest firmware changes something with the jffs folder.

EDIT--I couldn't get this script to work on my 86u running .45717. Permission issues.
 
I'm a modestly sophisticated user who has installed an AIMESH system in a medium sized house. 3 AI Nodes were installed with one main router using the current ASUS firmware updated on all 4 routers. One AI Node is to be used for an Xbox One X. I've seen fairly unstable internet speeds using this mesh system. The mesh system replaced a set of 802.11ac routers from Apple (Airport Extremes c. 2017). I'm sure I just don't have this properly optimized. I've read through the Adaptive QoS setup posts, have implemented Adaptive QoS with the manual bandwidth limits tried first with 85% of the throttled level, but I'm unclear on the script installation. I use a Mac PowerBook 2017 version, so you want me to manually install the script which I assume will give me the map you illustrated earlier in this post. There is an install script in the package for Mac run through the terminal window. then there is a spoiler comment I don't get--about a flashdrive plugged into the main router due to a daily update process from Asus(?). So, I need this all dumbed down a little so I can properly implement. Having lots of gaming issues, but the bigger one is a stark drop off of the internet speed in various parts of the house intermittently. There aren't a lot of broadcasting devices, so, it is just that the mesh is needing optimiziation. Thanks for some guidance from the experts who have posted here.


Please see the amtm Step-by-Step guide in my signature below.

Also, as @Andy1932 mentions, I don't think this works on stock Asus firmware. RMerlin firmware is required for scripts to run but AiMesh isn't supported on RMerlin firmware.
 
Please see the amtm Step-by-Step guide in my signature below.

Also, as @Andy1932 mentions, I don't think this works on stock Asus firmware. RMerlin firmware is required for scripts to run but AiMesh isn't supported on RMerlin firmware.
It used to work with stock firmware(no gui), but, at least in my case, no longer works with the current official release.
 
I'm a modestly sophisticated user who has installed an AIMESH system in a medium sized house. 3 AI Nodes were installed with one main router using the current ASUS firmware updated on all 4 routers. One AI Node is to be used for an Xbox One X. I've seen fairly unstable internet speeds using this mesh system. The mesh system replaced a set of 802.11ac routers from Apple (Airport Extremes c. 2017). I'm sure I just don't have this properly optimized. I've read through the Adaptive QoS setup posts, have implemented Adaptive QoS with the manual bandwidth limits tried first with 85% of the throttled level, but I'm unclear on the script installation. I use a Mac PowerBook 2017 version, so you want me to manually install the script which I assume will give me the map you illustrated earlier in this post. There is an install script in the package for Mac run through the terminal window. then there is a spoiler comment I don't get--about a flashdrive plugged into the main router due to a daily update process from Asus(?). So, I need this all dumbed down a little so I can properly implement. Having lots of gaming issues, but the bigger one is a stark drop off of the internet speed in various parts of the house intermittently. There aren't a lot of broadcasting devices, so, it is just that the mesh is needing optimiziation. Thanks for some guidance from the experts who have posted here.
Use 95% of speed test.net results.
 
Has this script been abandoned? I ask because I haven't seen @FreshJR here for a while now.
I'm a big fan of this project and I'm wondering if previously proposed additions will still be added going forward.
He's going to update it when he is ready to we just have to wait, and if possible donate to him.
 
He's going to update it when he is ready to we just have to wait, and if possible donate to him.
That is good to know. For completeness, the firmware is currently: 3.0.0.4.384_6204-g01f5ffa. These are RT-AX92u routers/nodes. I wonder if someone has advice on how to optimize the mesh system so it delivers consistent speed and stability.
 
That is good to know. For completeness, the firmware is currently: 3.0.0.4.384_6204-g01f5ffa. These are RT-AX92u routers/nodes. I wonder if someone has advice on how to optimize the mesh system so it delivers consistent speed and stability.
I'd check for interference and make sure the signal is as strong as possible, see if you can't set everything to the 5ghz band where possible.
 
Already have done. ;)
I'm personally excited for the release, due to some of the new changes prepsosed, like the adjusted bursts and the work around for traffic not being detected while QoS is setting up.
 
W
I'm personally excited for the release, due to some of the new changes prepsosed, like the adjusted bursts and the work around for traffic not being detected while QoS is setting up.

Wait...what?? New update? Must be our late Father's Day present haha
 
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