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.
For test in http://www.dslreports.com/ follow this steps

1. Create a Account http://www.dslreports.com/
2. Go to http://www.dslreports.com/speedtest/preferences scroll down on the page and click on Reset
3. Again go to http://www.dslreports.com/speedtest/preferences Click in Auto Select "by Lactency"
4. Click in Advanse Setting and increase "Upload duration" and "Download duration" to 30 seconds.
5. Click in Advanse Setting and active "dodge compression"
6. Save and test.

Nobody in your house has to use the internet when you are doing the test.
 
Last edited:
For test in http://www.dslreports.com/ follow this steps

1. Create a Account http://www.dslreports.com/
2. Go to http://www.dslreports.com/speedtest/preferences scroll down on the page and click on Reset
3. Again go to http://www.dslreports.com/speedtest/preferences Click in Auto Select "by Lactency"
4. Click in Advanse Setting and increase "Upload duration" and "Download duration" to 30 seconds.
5. Click in Advanse Setting and active "dodge compression"
6. Save and test.

Nobody in your house has to use the internet when you are doing the test.
33233569.png
 
Do you do this test directly via cable or WiFi?

You can try changing modem by any of these and test again:
- Motorola MB7220 - 8x4 (Cheap)
- Motorola MB7420 - 16x4
- Arris SB6183 - 16x4
- Motorola MB8600 - 32x8 (DOCSIS 3.1)
 
931 xa4xz
@Kingp1n

-----

UPDATE:

The reports stating that QOS (fast_version) doesn't work when performing a install on a fresh firmware until after a reboot were bothering me.

I reinitialized my router TWICE, and could not reproduce the issue.

Code:
May 10 04:54:59 adaptive QOS: FreshJR FakeTC Installed
May 10 04:54:59 adaptive QOS: Parsing User QOS Rates -> (Updating)

    May 10 04:55:06 kernel: Init chrdev /dev/detector with major 190
    May 10 04:55:06 kernel: tdts: tcp_conn_max = 8000
    May 10 04:55:06 kernel: tdts: tcp_conn_timeout = 300 sec
    May 10 04:55:21 kernel: SHN Release Version: 2.0.1 3529123_patch
    May 10 04:55:21 kernel: UDB Core Version: 0.2.14 r3529123
    May 10 04:55:21 kernel: Init chrdev /dev/idpfw with major 191
    May 10 04:55:21 kernel: IDPfw: IDPfw is ready
    May 10 04:55:21 kernel: sizeof forward pkt param = 192
 
May 10 09:55:22 adaptive QOS: Clearing qos environment
May 10 09:55:34 adaptive QOS: Clearing qos environment
 
    May 10 04:55:36 kernel: IDPfw: Exit IDPfw
    May 10 04:55:36 kernel: mod epilog takes 0 jiffies
    May 10 04:55:36 kernel: IDPfw: Exit IDPfw
    May 10 04:55:36 kernel: Exit chrdev /dev/idpfw with major 191
    May 10 04:55:36 kernel: Exit chrdev /dev/detector with major 190
    May 10 09:55:37 rc_service: bwdpi_check 319:notify_rc start_firewall
    May 10 04:55:37 miniupnpd[2808]: shutting down MiniUPnPd
    May 10 04:55:37 nat: apply nat rules (/tmp/nat_rules_eth0_eth0)
    May 10 04:55:38 custom_script: Running /jffs/scripts/firewall-start (args: eth0)
    May 10 04:55:38 miniupnpd[3214]: HTTP listening on port 34094
    May 10 04:55:38 miniupnpd[3214]: Listening for NAT-PMP/PCP traffic on port 5351
    May 10 04:55:49 rc_service: httpd 1090:notify_rc restart_qos;restart_firewall
 
May 10 04:55:49 adaptive QOS: Clearing qos environment
May 10 04:55:49 adaptive QOS: Parsing User QOS Rates -> (Updating)

    May 10 04:55:51 kernel: Init chrdev /dev/detector with major 190
    May 10 04:55:51 kernel: tdts: tcp_conn_max = 8000
    May 10 04:55:51 kernel: tdts: tcp_conn_timeout = 300 sec
    May 10 04:56:07 kernel: SHN Release Version: 2.0.1 3529123_patch
    May 10 04:56:07 kernel: UDB Core Version: 0.2.14 r3529123
    May 10 04:56:07 kernel: Init chrdev /dev/idpfw with major 191
    May 10 04:56:07 kernel: IDPfw: IDPfw is ready
    May 10 04:56:07 kernel: sizeof forward pkt param = 192
    May 10 04:56:07 kernel: ERR[qos_start:3356] qos_ops is not registered!
    May 10 04:56:07 kernel: ioctl_iqos_op_switch(1) fail!
    May 10 04:56:08 kernel: ERR[qos_start:3356] qos_ops is not registered!
    May 10 04:56:08 kernel: ioctl_iqos_op_switch(1) fail!

May 10 04:56:09 adaptive QOS: Clearing qos environment
May 10 04:56:09 adaptive QOS: Clearing qos environment
May 10 04:56:10 adaptive QOS: Parsing User QOS Rates -> (Updating)
May 10 04:56:12 adaptive QOS: Changing 1:10 class rate
May 10 04:56:14 adaptive QOS: Changing 1:11 class rate
May 10 04:56:16 adaptive QOS: Changing 1:12 class rate
May 10 04:56:17 adaptive QOS: Changing 1:13 class rate
May 10 04:56:21 adaptive QOS: Changing 1:14 class rate
May 10 04:56:25 adaptive QOS: Changing 1:15 class rate
May 10 04:56:26 adaptive QOS: Changing 1:16 class rate
May 10 04:56:28 adaptive QOS: Applying ------ Up Rules
May 10 04:56:28 adaptive QOS: Changing 1:17 class rate
May 10 04:56:28 adaptive QOS: Applying ---- Down Rules
May 10 04:56:40 adaptive QOS: *- Clearing Iptables -*

    May 10 04:56:43 miniupnpd[3214]: shutting down MiniUPnPd
    May 10 04:56:43 nat: apply nat rules (/tmp/nat_rules_eth0_eth0)
    May 10 04:56:43 custom_script: Running /jffs/scripts/firewall-start (args: eth0)
    May 10 04:56:43 miniupnpd[10845]: HTTP listening on port 50422
    May 10 04:56:43 miniupnpd[10845]: Listening for NAT-PMP/PCP traffic on port 5351
 
May 10 04:56:44 adaptive QOS: Applying  Iptables Rules


------- Manually check for updated Signatures --------

May 10 04:59:20 rc_service: httpd 1090:notify_rc start_sig_check
May 10 04:59:27 adaptive QOS: Clearing qos environment
May 10 04:59:28 adaptive QOS: Clearing qos environment
May 10 04:59:46 adaptive QOS: Clearing qos environment
May 10 04:59:46 adaptive QOS: Clearing qos environment
May 10 04:59:49 adaptive QOS: Changing 1:10 class rate
May 10 04:59:51 adaptive QOS: Changing 1:11 class rate
May 10 04:59:52 adaptive QOS: Changing 1:12 class rate
May 10 04:59:54 adaptive QOS: Changing 1:13 class rate
May 10 04:59:58 adaptive QOS: Changing 1:14 class rate
May 10 05:00:02 adaptive QOS: Changing 1:15 class rate
May 10 05:00:03 adaptive QOS: Changing 1:16 class rate
May 10 05:00:04 adaptive QOS: Applying ------ Up Rules
May 10 05:00:05 adaptive QOS: Changing 1:17 class rate
May 10 05:00:05 adaptive QOS: Applying ---- Down Rules
May 10 05:00:17 adaptive QOS: *- Clearing Iptables -*

On both router re-initializations the script modifications worked right away without a reboot. This was both before and after QOS definition updates.

Anyway, the fast version is experimental for a reason! If you cannot monitor system log or check the qos statistics page, then it is not for you. Instead you should definitely be using the compatible version!!

If it **does** have a serious bug like the reports and I happen to experience it, then fast will be discontinued instead of fixed. It is already hacky, and stacking more hacky patches on top of it is not an option. (Personally I like the instant results and verbose logging of the fast version)

Mine has been stable for the longest time, so idk what is going on.


@FreshJR I noticed you tested the fast scripts without any issues. How can I test to see if it's working properly? Any special commands I can try for testing...thanks again for this awesome script.
 
@FreshJR When I click apply in QOS settings page after changing something in the compatible script to apply the setting it starts a delayed start again. Wasn't your intention to avoid this 5 minute delay after QOS has been initially started?
 
I wanted to test if compatible version worked in Stock ASUS Firmware without problem.

Code:
admin@RT-ACXXX:/tmp/home/root# sh /jffs/scripts/FreshJR_QOS -stock_install
 Creating environemnt to trigger scripts post USB Mount
grep: invalid option -- x

Thanks for the bug report. I will look into it.


The -stock_install feature is a new release, that portion wasn't extensively tested since I am not on stock firmware.

It should be an easy fix.

FWIW, I'm not really complaining about anything.

Any other tests to check bufferbloat?


Don't worry I don't get offended with bug reports or poor/unexpected performance.
I'll try to help, but ultimately it performs how it performs.

The DSLreport results are correct, it's not the tool that is the issue.
I am drawing a blank besides the three possibilities from before, so I have no other advice.
It's not your modem.

@FreshJR I noticed you tested the fast scripts without any issues. How can I test to see if it's working properly? Any special commands I can try for testing...thanks again for this awesome script.


If it entries show up in system log && QOS Statistics is showing traffic, it is working.
If entries do not show up, or entries are repeating endlessly in sytem log, it is broken.

@FreshJR When I click apply in QOS settings page after changing something in the compatible script to apply the setting it starts a delayed start again. Wasn't your intention to avoid this 5 minute delay after QOS has been initially started?

No, anytime you click apply, QOS is restarted and the wait has to occur again.
The only time the wait is skipped is during the cron task at 3:30 am that sees if the script hasn't restarted somewhere in the last last 24 hours.

No other way around it.
 
For test in http://www.dslreports.com/ follow this steps

1. Create a Account http://www.dslreports.com/
2. Go to http://www.dslreports.com/speedtest/preferences scroll down on the page and click on Reset
3. Again go to http://www.dslreports.com/speedtest/preferences Click in Auto Select "by Lactency"
4. Click in Advanse Setting and increase "Upload duration" and "Download duration" to 30 seconds.
5. Click in Advanse Setting and active "dodge compression"
6. Save and test.

Nobody in your house has to use the internet when you are doing the test.
I absolutely agree with these settings on dslreports. Really great test settings. The "C" in my results means I have a slow connection compared to others.
33235339.png

EDIT: This test was done with a 3Mb/s stream (over open vpn) running at sametime.
 
Last edited:
@Manuela or anyone else on stock AsusWRT

Can you execute this code in ssh?

Code:
echo hi | grep -x hi

Looks like AsusWRT does not support the -x parameter, just want to confirm.
 
Last edited:
Here is a fixed version of the -stock_install function if anyone wants to try to uninstall/reinstall steps @Manuela mentioned.
(STOCK FIRMWARE ONLY)

It will be uploaded the front page after it is confirmed working.
 
Last edited:
Done

--

Compatible Version of Script Updated --> V2

-No changes for RMerlin users, you can ignore this update.

-Fixed glitch for AsusWRT users within stock_install function


Now I just have to wait 5 minutes for QoS to work before 10

It's 10 minutes after boot, and 5 minutes after install.

Used to be 0 minutes after install, but that was during testing and I forgot to revert it.
 
Last edited:
@FreshJR thanks for the quick update for those on stock firmware. As far as u know, the fast script is working as intended correct? So what i noticed, is when i installed the fast script from a fresh installed, i have to reboot router in order to start seeing traffic under the QOS statistics , if i dont the total # under class remains at 0.00 bytes. However once I reboot you see the totals not reflect 0.00 bytes anymore. I guess this happens to me when installing the compatible version so i have to restart as well but im also using the R7000 modem with xvortex rmerlin FW so this can the reason.

I also noticed the compatible version uses this command:

${tc} filter add dev eth0 protocol all prio $1 u32...

while the fast script uses:

realtc filter add dev br0 protocol all prio $1 u32...

guess this depends on the version you use though so it's all good..
 
Last edited:
Can you say that again, does the glitch happen with compatible version aswell?


I'm running the compatible version right now with R7000 modem. So, say I adjust the QOS upload/download bandwidth #s and hit save it does a quick refresh. When I now go to QOS Statistics, all classes now reflect 0.00 bytes. I'll wait the 5 minutes to see if the total under bytes changes from o.oo bytes...
 
I'm running the compatible version right now with R7000 modem. So, say I adjust the QOS upload/download bandwidth #s and hit save it does a quick refresh. When I now go to QOS Statistics, all classes now reflect 0.00 bytes. I'll wait the 5 minutes to see if the total under bytes changes from o.oo bytes...

Clicking "Apply" resets QOS & Statistics
 
Can you say that again, does the glitch happen with compatible version aswell?

Yes, clicking apply resets QOS and Statistics, however, for me, after the 5 min, under the system log, I see the rules taking affect however, when I go to QOS statistics the total still shows 0.00 bytes. It only changes when I hit the "reboot" option on top of the webui for me to start seeing any action under the QOS statistics. If I don't reboot the router, it just shows 0.oo bytes under all classes. Again it can be cause I'm using a R70oo router so it's not a big deal. I don't mind rebooting so no worries man...
 
Download the version of the first post and now do not start the script:

Code:
May 10 19:13:45 adaptive QOS: Delayed Start Triggered (5min)
May 10 19:21:23 kernel: htb: htb qdisc 14: is non-work-conserving?


Now after installing, in the input appears "Adaptive QoS: Delayed Start Triggered (5min)"

lfv4jsz.png
Yes, when using the compatible version, there's a 5 min delayed...wait 5 min, and then the rules are applied.
 
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