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.
will do that tonight, however I noticed today that when watching on plex that I lost connection to the server, I checked the log and found this;
I see something similar in my logs when adaptive QOS is on; I also lose the connection to an XBox 360 extender and among my Tivos. I don't know enough to know what is going on. Something about multicast?
 
By how much and are u guys testing while wire connected or mobile wireless? It's wired testing the way to test using DLS reports speedtest? Just curious....I tried using wireless with mobile phone and always get B rating bufferbloat. Maybe I should test with wired laptop.
I've done the DSLReports speedtest and I'm on a gigabit wired connection. ;)
 
I need help. I've had to disable QoS because it was really hurting my 5 GHz network. Before I had it enabled I was getting an excellent signal but with QoS enabled, it's down to poor. The device I am using is only 5 feet from the router! So, what gives? :(
 
I need help. I've had to disable QoS because it was really hurting my 5 GHz network. Before I had it enabled I was getting an excellent signal but with QoS enabled, it's down to poor. The device I am using is only 5 feet from the router! So, what gives? :(
This script does nothing to wifi. Recommend setting 5 and 2.4 GHZ to fixed channels. Your Roku may work better on the lower 5 GHZ channels.

Sent from my SM-T380 using Tapatalk
 
I need help. I've had to disable QoS because it was really hurting my 5 GHz network. Before I had it enabled I was getting an excellent signal but with QoS enabled, it's down to poor. The device I am using is only 5 feet from the router! So, what gives? :(
Something else is wrong bro. @bbunge is absolutely right, this script cannot do that to your system.;):)
 
If your network speeds exceed the wireless throughout you will get bloat on that specific wireless link.

The wired connections and other unsaturated wireless link (2.4 or 5g) will be unbloated.

(The headaches of fast connections)

Thanks @FreshJR , so as long as I manually set up bandwidth with limits set to 85-95% from results from speedtest.net (normally 250-275 / 12 mbps) and i'm getting an A rating for bufferbloat on a wired computer. I should not worry too much on what my wireless bufferbloat rating is reflecting correct since it depends if the speeds are exceeded correct?
 
Something else is wrong bro. @bbunge is absolutely right, this script cannot do that to your system.;):)
Yeah, I didn't think that a script could do this. Maybe I'm missing a setting somewhere else. Maybe I should get a repeater for the network or try changing one of the operating channels.
 
Might have something to do with universal beamforming and airtime fairness. They should be both disabled.
 
Might have something to do with universal beamforming and airtime fairness. They should be both disabled.
Yeah, all 3 of them are enabled. 802.11ac and Universal Beamforming along with Airtime Fairness. I will disable them.
 
D0D34047-E6A1-4F6C-B355-D4A9D733550F.png
i make a clean install and install freshjr default configuration so far when i play game on ps4 the division ( most laggy game sever ) tonight i was very happy all my bullet hit register on the spot and feel not laggy
 
i have fiber internet 800mb dl and 200mb up
set QOS at 80%. this is
my 1st time i see my bufferbloat i got A+ so happy!!
 

Attachments

  • 94001358-2A74-40AE-980D-6B45E7C84619.jpeg
    94001358-2A74-40AE-980D-6B45E7C84619.jpeg
    40.1 KB · Views: 352
I skimmed though this thread trying to learn and wrap my head around QoS and setting up my RT3100. I have a 50/10 VDSL connection (router does PPPoE with modem in bridge mode) I performed the easy install in the 1st post with default script. My goal is to maximize download speed (newsgroups, torrents) when connection is idle and not to affect Netflix streaming, PS4 games and regular web browsing when the connection is being used.

I have the option of connecting to my newsgroup server on port 443 or 563, but it seems this traffic is being classified as VOIP as per QoS statistics.

/jffs/scripts/FreshJR_QOS -appdb "NNTP"
NNTP
Cat: VoIP
Mark: 0x80050004 0xc03fffff
Prio: 7

How can i change this to a more suitable category ? Are there any other settings you would recommend to optimize my speed and connection ? Currently using default script.

Thanks.
 

Attachments

  • noqos.JPG
    noqos.JPG
    32.9 KB · Views: 305
  • QosSetup.JPG
    QosSetup.JPG
    39.1 KB · Views: 349
How can i change this to a more suitable category ?
You can change the category based on either the appdb fw mark listed for NNTP, or by the remote server port number (if you use port 563), see the 3rd post for more info. There are example rules in the script you can base any new rules on. I've just done the same thing recently - I use 563 for all my servers so use the port for my rules.

I think @FreshJR mentioned adding a default rule to move port 563 automatically into Downloads, not sure if that's gone live yet though.
 
You can change the category based on either the appdb fw mark listed for NNTP, or by the remote server port number (if you use port 563), see the 3rd post for more info. There are example rules in the script you can base any new rules on. I've just done the same thing recently - I use 563 for all my servers so use the port for my rules.

I think @FreshJR mentioned adding a default rule to move port 563 automatically into Downloads, not sure if that's gone live yet though.

Thanks. I am trying to change it via appdb rather than port. Not sure if I am doing it correctly. I have added the following 2 lines

${tc} filter add dev br0 protocol all prio $1 u32 match mark 0x80050004 0xc03fffff flowid ${Downloads} #NNTP
and
${tc} filter add dev eth0 protocol all prio $1 u32 match mark 0x40050004 0xc03fffff flowid ${Downloads} #NNTP

Perhaps it is my lack of understanding of syntax, but can you clarify what prio #variable# signifies ?
 
Last edited:
Perhaps it is my lack of understanding of syntax, but can you clarify what prio #variable# signifies ?
Sorry, my rules were all done with iptables, so I'm not sure why that example Snapchat rule uses "prio $1" rather than an explicit prio number. Hopefully someone more knowledgeable will be along soon!
 
Last edited:
Thanks. I am trying to change it via appdb rather than port. Not sure if I am doing it correctly. I have added the following 2 lines

${tc} filter add dev br0 protocol all prio $1 u32 match mark 0x80050004 0xc03fffff flowid ${Downloads} #NNTP
and
${tc} filter add dev eth0 protocol all prio $1 u32 match mark 0x40050004 0xc03fffff flowid ${Downloads} #NNTP

Perhaps it is my lack of understanding of syntax, but can you clarify what prio #variable# signifies ?

Prio is order of rule evaluation.

---

The general formula is for evaluation is

if match then this
else if match then this
else if match then this
else if match then this
else if match then this

--

The idea is to for common internet traffic to be caught and sorted at the beginning of the evaluation branch and for obscure traffic to be caught and sorted at the end of the evaluation branch.

--

The variable $1 turns into the earliest available prio towards the top of the branch. More specifically right after the rule that detects and 0-rates LAN traffic but before any other detection rule.

It was not hard coded as a static value since the ASUS qos rule structure changed over time between firmware updates and as a result the earliest available prio is now detected at runtime.

The prio returned by appdb command is the recommend prio for the redirection you are performing. (You can always go lower than the recommended prio all the way down to $1, but cannot go higher since the original rule will catch the traffic and not your override)

so I'm not sure why that example Snapchat rule uses "prio $1" rather than an explicit prio number.

I will also update snapchat to use "prio 2" as recommended by -appdb instead of $1, to lessen confusion in the future.
 
Last edited:
Thanks for the clarification. Unfortunately i cannot get it to work, I have rebooted the router. When downloading NNTP, QoS statistics still detect it as VOIP.
 

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 in that column will NOT match what category the traffic will actually be going to as a result of applying this script.

The upload/download pie charts on the other hand are always accurate.

--

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.
 
Last edited:
Thanks for the clarification. Unfortunately i cannot get it to work, I have rebooted the router. When downloading NNTP, QoS statistics still detect it as VOIP.

Run this

Code:
tc filter show dev br0 | grep 0x80050004 -B1
tc filter show dev eth0 | grep 0x40050004 -B1

Are you sure the script finished running before you began testing?

--

I would additionally use port rules on 563 as discussed on the page before this one (due to traffic not always showing up as NNTP).

So both nntp redirection + port 563 rule simultaneously.
 
I got it working. Changed prio $1 to prio 6.

${tc} filter add dev br0 protocol all prio 6 u32 match mark 0x80050004 0xc03fffff flowid ${Downloads} #NNTP
and
${tc} filter add dev eth0 protocol all prio 6 u32 match mark 0x40050004 0xc03fffff flowid ${Downloads} #NNTP

Qos statistics showing traffic as file transfer.

Here are results of your 2 commands:

admin@RT-AC3100-8BB8:/jffs/scripts# tc filter show dev br0 | grep 0x80050004 -B1
filter parent 1: protocol all pref 6 u32 fh 825::801 order 2049 key ht 825 bkt 0 flowid 1:16
mark 0x80050004 0xc03fffff (success 758393)

admin@RT-AC3100-8BB8:/jffs/scripts# tc filter show dev eth0 | grep 0x40050004 -B1
filter parent 1: protocol all pref 6 u32 fh 825::801 order 2049 key ht 825 bkt 0 flowid 1:16
mark 0x40050004 0xc03fffff (success 328778)


Thanks for the help.
 

Attachments

  • QosStats.JPG
    QosStats.JPG
    66.3 KB · Views: 292
Status
Not open for further replies.

Sign Up For SNBForums Daily Digest

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