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.
Ok. Something I saw that is weird, on the statistic page, the download portion doesn't reset properly:

View attachment 11693

I think it's more a firmware related issue though. I toggle QoS on/off and the upload got reset. I have to check now if others still get all the bandwidth on download like I see here, which doesn't happen on upload

It's 3 minutes for the script to overwrite ASUS rules after QOS is enabled. During that 3 minutes, traffic will flow to default.

I have a better approach in mind, but lack the time to test and code it. It's significantly simpler than the current approach, and will eliminate this wait period.

I intend to tackle it if I get the time.
 
I understand that, I did wait 10 minutes after and the flow was still to others in download. But still, I didn't download 40 Gb in 10 minutes ;) The download chart didn't reset when I toggled QoS off like the upload graph. but like I said, I'm pretty sure this have nothing to do with the script but more a firmware issue
 
I understand that, I did wait 10 minutes after and the flow was still to others in download. But still, I didn't download 40 Gb in 10 minutes ;) The download chart didn't reset when I toggled QoS off like the upload graph. but like I said, I'm pretty sure this have nothing to do with the script but more a firmware issue

yup that's weird, it didn't reset.

Also for anyone's future reference, port masks were explained in the second post in this thread. That's why the template rule says to check the thread.
 
It's 3 minutes for the script to overwrite ASUS rules after QOS is enabled. During that 3 minutes, traffic will flow to default.

I have a better approach in mind, but lack the time to test and code it. It's significantly simpler than the current approach, and will eliminate this wait period.

I intend to tackle it if I get the time.

I definitely have traffic going through default. I disconnected my LAN and don’t use WI-FI on my router, then gave it 10 mins to fully boot and get itself sorted. When I reconnected the default stats were at zero, but a day later I had traffic recorded against it.

I was wondering if it can happen when the script runs at midnight or if I make a change which restarts the firewall and then runs the script?


Sent from my iPhone using Tapatalk
 
I definitely have traffic going through default. I disconnected my LAN and don’t use WI-FI on my router, then gave it 10 mins to fully boot and get itself sorted. When I reconnected the default stats were at zero, but a day later I had traffic recorded against it.

I was wondering if it can happen when the script runs at midnight or if I make a change which restarts the firewall and then runs the script?


Sent from my iPhone using Tapatalk

Yes many things reset the ASUS's QOS rules which would then need script be reran again to remain persistent.
It rerun's itself under many circumstances (including when you toggle your firewall) and even everyday at midnight to check for persistence.

Check your log and search for Adaptive QOS.

I get the following

Jan 20 00:00:00 admin: Adaptive QOS: Modification Script Started
Jan 20 00:03:05 admin: Adaptive QOS: No change required
..
Jan 21 00:00:00 admin: Adaptive QOS: Modification Script Started
Jan 21 00:03:05 admin: Adaptive QOS: No change required
...
Jan 22 00:00:00 admin: Adaptive QOS: Modification Script Started
Jan 22 00:03:05 admin: Adaptive QOS: No change required

So it stays pretty persistent on my end. I saw that it would lose its rules when I would check for definition before, and the script wouldn't be reran, but it still fixes itself every midnight, so I ignored it.

How often are you fiddling with your settings??
 
I don't change settings often but I think I modified an icon for one of my connected devices which seemed to restart things. It's not an issue as its a relatively insignificant volume of traffic.

On a different note, running on 384.3 Alpha 2 my RT-AC68U is performing like a dream with the only issue being mis-classification (and sometimes no classification) of my BT TV IPTV multicast traffic. That's an Asus bug.
upload_2018-1-23_21-33-54.png
 
I discovered that 85% on both gives me nice buffer bloat results on dsl reports, I've always wondered if the 85-95 means 85% down 95%up, since I've been playing with those values.
 
No it doesn't mean that. Every case is different. The 85-95 was just a recommended range.

For me a had to limit upload a lot more than my download back on cable internet.
 
Ahhh ok interesting, I've been playing around with it seems to be really good I seem to be getting smoother connections when combined with per packet overhead.
I'm still trying to get the best setting for my connection.
 
Here's a beta 1 of the FreshJR QOS fakeTC approach for anyone having issues.

Not this does the same EXACT thing as the v382.2 version. You do not have to try this out.

Pros:
-on the fly tc command patching / modifications / instant results
-no need for the hacky 3 minute sleep
-more advanced configurations / fine tuning easily possible (aka modify subclass rates)

Cons:
-more processing power used per tc command
-possibly going to use nvram if current data file with variables has timing/race issues

Known Bugs:
Uninstall argument will sometimes fail to remove the file FreshJR_QOS_fakeTC
(I make sure to unmount it, so I have no idea what gives me "device is busy, cannot delete" message) To delete file, you have to reboot router and delete. Help appreciated with this one, since I'm not sure where my unmounting is going wrong.

Install Guide:
In command prompt
Code:
pscp -scp C:\Putty\FreshJR_QOS_beta1.txt admin@192.168.1.1:/jffs/scripts/FreshJR_QOS

pscp -scp C:\Putty\FreshJR_QOS_fakeTC_beta1.txt admin@192.168.1.1:/jffs/scripts/FreshJR_QOS_fakeTC

In putty
Code:
chmod 0755 /jffs/scripts/FreshJR_QOS
chmod 0755 /jffs/scripts/FreshJR_QOS_fakeTC
dos2unix /jffs/scripts/FreshJR_QOS
dos2unix /jffs/scripts/FreshJR_QOS_fakeTC
sed -i '/FreshJR_QOS/d' /jffs/scripts/firewall-start
/jffs/scripts/FreshJR_QOS install

Uninstall Guide:
In putty
Code:
/jffs/scripts/FreshJR_QOS uninstall


Temporarily Disable Guide:
In putty
Code:
/jffs/scripts/FreshJR_QOS disable

There will be a beta2 with subclass tuning available. That is if all goes alright with this one. Not quite sure which fork I should continue.

Feel free to try it out of the current one is giving you bugs. It's a difference approach. I did a fair share of testing, but I do not use QOS anymore, so feedback is good. Same same but different.


<< OUTDATED VERSION, NEWER RELEASE AVAILABLE >>
 

Attachments

  • FreshJR_QOS_beta1.txt
    21.4 KB · Views: 636
  • FreshJR_QOS_fakeTC_beta1.txt
    5.5 KB · Views: 515
Last edited:
Also can you add a rule for idm please? (Internet Download Manager)

Thanks.

Does installing this script require the router to reboot or go out of service for a few seconds ?
 
Last edited:
Can I crash my router or destroy it by using this at all ?

Worst thing that should happen is you will break QOS. If that happens a script uninstall and reboot should get you back to normal. As always, your milage may vary. I am not make an guarantees of this working as stated or even guaranteeing that it won't destory your router. Nor am I guaranteeing any support should issues arrise. Use your own risk.

No reboots or internet drops on my end.

You have the tools and documentation to make your own custom rules. It shouldn't be too difficult. Internet downloads should really be picked up by the out of box QOS rules.
 
Worst thing that should happen is you will break QOS. If that happens a script uninstall and reboot should get you back to normal. As always, your milage may vary. I am not make an guarantees of this working as stated or even guaranteeing that it won't destory your router. Nor am I guaranteeing any support should issues arrise. Use your own risk.

No reboots or internet drops on my end.

You have the tools and documentation to make your own custom rules. It shouldn't be too difficult. Internet downloads should really be picked up by the out of box QOS rules.
Will you be making a strictly gaming script eventually?
 
Will you be making a strictly gaming script eventually?

I forgot all about that, in the original post.

So to clarify, what I can do is create a rule that will apply to a range of your LAN devices, aka assign them IP's ( 192.168.1.30 - 192.168.1.37 ).
With this rule, in the situation where QOS cannot identify traffic to/from those devices instead of going to "Default", I will instead send that "unidentified" traffic into the "Gaming" catagory.

That being the case, only dedicated gaming devices should be in that rules range, since if a device this is multipurpose is in that range, lots of non-gaming unidentified traffic can potentially appear in the gaming category.

Here is a different issue I have noticed, and what this additional rule will NOT do.

Currently I see that game downloads from Steam / PSN / Xbox, are also identified as "Gaming" traffic. This type of traffic should really be File Downloads. I am not planning to correct this deficiency.

With the above rule I mentioned, it will help if you have 1 simultaneous gamer only in the situation where his game is not identified due to a deficiency with the QOS database.

But in the situation where you have 2 simultaneous gamers AND one is downloading a game/update, his traffic will be "drowning" out your gaming traffic, and that is not ideal.

Even during those situations, Adaptive QOS deals with bufferbloat with a saturated connection pretty damn well. I do not see latency issues as it stands without this specific "gaming" rule, but it won't hurt.


I just need to find a small little online PC game that has its traffic as unidentified to test the rule before releasing it. Any recommendations? I had one game, but I do not have the 50GB space to install it anymore.
 
Last edited:
I forgot all about that, in the original post.

So to clarify, what I can do is create a rule that will apply to a range of your LAN devices, aka assign them IP's ( 192.168.1.30 - 192.168.1.37 ).
With this rule, in the situation where QOS cannot identify traffic to/from those devices instead of going to "Default", I will instead send that "unidentified" traffic into the "Gaming" catagory.

That being the case, only dedicated gaming devices should be in that rules range, since a device this is multipurpose is in that range, lots of non-gaming unidentified traffic can potentially appear in the gaming category.

Here is a different issue I have noticed, and what this additional rule will NOT do.

Currently I see that game downloads from Steam / PSN / Xbox, are also identified as "Gaming" traffic. This type of traffic should really be File Downloads. I am not planning to correct this deficiency.

With the above rule I mentioned, it will help if you have 1 simultaneous gamer only in the situation where his game is not identified due to a deficiency with the QOS database.

But in the situation where you have 2 simultaneous gamers AND one is downloading a game/update, his traffic will be "drowning" out your gaming traffic, and that is not ideal.

Even during thOse situations, Adaptive QOS deals with bufferbloat with a saturated connection pretty damn well. I do not see latency issues as it stands or without this specific "gaming", but it won't hurt.


I just need to find a small little online PC game that has its traffic as unidentified to test the rule before releasing it. Any recommendations? I had one game, but I do not have the 50GB space to install it anymore.
I would love that thanks because i really like your script and Merlins work thats why i signed up any game i'm sure will do i'm a console and pc gamer all my hardware is hardwired.
 
I forgot all about that, in the original post.

So to clarify, what I can do is create a rule that will apply to a range of your LAN devices, aka assign them IP's ( 192.168.1.30 - 192.168.1.37 ).
With this rule, in the situation where QOS cannot identify traffic to/from those devices instead of going to "Default", I will instead send that "unidentified" traffic into the "Gaming" catagory.

That being the case, only dedicated gaming devices should be in that rules range, since if a device this is multipurpose is in that range, lots of non-gaming unidentified traffic can potentially appear in the gaming category.

Here is a different issue I have noticed, and what this additional rule will NOT do.

Currently I see that game downloads from Steam / PSN / Xbox, are also identified as "Gaming" traffic. This type of traffic should really be File Downloads. I am not planning to correct this deficiency.

With the above rule I mentioned, it will help if you have 1 simultaneous gamer only in the situation where his game is not identified due to a deficiency with the QOS database.

But in the situation where you have 2 simultaneous gamers AND one is downloading a game/update, his traffic will be "drowning" out your gaming traffic, and that is not ideal.

Even during those situations, Adaptive QOS deals with bufferbloat with a saturated connection pretty damn well. I do not see latency issues as it stands without this specific "gaming" rule, but it won't hurt.


I just need to find a small little online PC game that has its traffic as unidentified to test the rule before releasing it. Any recommendations? I had one game, but I do not have the 50GB space to install it anymore.
Sven Co op, it's a small game base off half life one it's a stand alone mod.
Also if I wanted to correct the steam and xbox download to the right category I'd just get the port number and tag it as file transfer?
 
Sven Co op, it's a small game base off half life one it's a stand alone mod.
Also if I wanted to correct the steam and xbox download to the right category I'd just get the port number and tag it as file transfer?

That might work for steam. I believe on XBOX both downloads and game traffic are passed through the same port, so that would send both types of traffic to "Downloads"

You can grab wireshark and inspect the raw packets. Maybe xbox has a TOS/DSCP mark or something else unique about the packet header.

Maybe compare packet size between a gaming packet and a downloads packet. I believe downloads will be packed to max size, while a gaming packet should be smaller.
 
Last edited:
That might work for steam. I believe on XBOX both downloads and game traffic are passed through the same port, so that would send both types of traffic to "Downloads"

You can grab wireshark and inspect the raw packets. Maybe xbox has a TOS/DSCP mark or something else unique about the packet header.

Maybe compare packet size between a gaming packet and a downloads packet. I believe downloads will be packed to max size, while a gaming packet should be smaller.
Im under the impression that it used UDP for gaming and tcp for downloads. I'll check anyway.
 
Status
Not open for further replies.

Similar threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top