FlexQoS FlexQoS 1.2.4 - Flexible QoS Enhancement Script for Adaptive QoS

  • ATTENTION! You'll notice a Prefix dropdown when you create a thread. If your post applies to one of the topics listed, please use that Prefix for your post. When browsing the thread list you can use the Prefix to filter the view.
  • ATTENTION! As of November 1, 2020, you are not able to reply to threads 6 months after the thread is opened if there are more than 500 posts in the thread.
    Threads will not be locked, so posts may still be edited by their authors.
    Just start a new thread on the topic to post if you get an error message when trying to reply to a thread.

CriticJay

Senior Member
Is the built-in speedtest in merlin fw 386.1_2, affected by Adaptive QoS (and therefore, this script)?

Or does that speedtest run on a different level (since it's executed on the router) therefore Adaptive QoS parameters don't apply to it.
 

dave14305

Part of the Furniture
Is the built-in speedtest in merlin fw 386.1_2, affected by Adaptive QoS (and therefore, this script)?

Or does that speedtest run on a different level (since it's executed on the router) therefore Adaptive QoS parameters don't apply to it.
Download should not be affected by Adaptive QoS. Upload probably is / should be affected.
 

raion969

Senior Member
Has anybody tested flexqos with obs studio?

Right now i cant stream without getting low upload bitrate. Normally i have a constant bitrate of 20 and for twitch Streaming i usw 6k Bitrate but i can only reach it when i disable flexqos.
With flexqos i get constant bitrate drops and total fluctating bitrate.
 

dave14305

Part of the Furniture
Can confirm. Download ignores QOS - Upload follows QOS. I wonder why only upload is impacted?
Download limiting is only implemented on the LAN inteface br0. Upload limiting is implemented on the WAN interface, usually eth0. When running a speedtest from the router, the traffic only goes between the router and the WAN interface. It never crosses the LAN interface like it would if you ran the speedtest from a client.
 

Kingp1n

Very Senior Member
@dave14305 is there currently a develop script available or the most recent stable version is the latest? Just curious.

Everything is working well with latest script.
 

dave14305

Part of the Furniture
@dave14305 is there currently a develop script available or the most recent stable version is the latest? Just curious.

Everything is working well with latest script.
Yes, you tried it last week I think. :rolleyes:
 

Kingp1n

Very Senior Member
Yes, you tried it last week I think. :rolleyes:
Oops yea my bad, I thought it had switch to stable. I apologize. Getting old sucks haha I'm losing my mind! Thanks again.
 

BreakingDad

Senior Member

DanNuke86

Regular Contributor
@dave14305 Tried CAKE earlier and switched it off due to getting a strict NAT type from it. Put FlexQoS back on and I've resulted in this when I do the tc qdisc command.

Does the router need rebooting once reverting back from CAKE to A.QoS?

Code:
qdisc cake 801b: dev eth0 root refcnt 2 bandwidth 28672Kbit diffserv3 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc ingress ffff: dev eth0 parent ffff:fff1 ----------------
qdisc pfifo_fast 0: dev eth1 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth2 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth3 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth4 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth5 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev spu_us_dummy root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev spu_ds_dummy root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth6 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth7 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc htb 1: dev br0 root refcnt 2 r2q 10 default 0 direct_packets_stat 9 direct_qlen 2
qdisc fq_codel 8009: dev br0 parent 1:2 limit 1000p flows 1024 quantum 1514 target 5ms interval 100ms
qdisc fq_codel 800b: dev br0 parent 1:10 limit 1000p flows 1024 quantum 1514 target 5ms interval 100ms ecn
qdisc fq_codel 800d: dev br0 parent 1:11 limit 1000p flows 1024 quantum 1514 target 5ms interval 100ms ecn
qdisc fq_codel 800f: dev br0 parent 1:12 limit 1000p flows 1024 quantum 1514 target 5ms interval 100ms ecn
qdisc fq_codel 8011: dev br0 parent 1:13 limit 1000p flows 1024 quantum 1514 target 5ms interval 100ms ecn
qdisc fq_codel 8013: dev br0 parent 1:14 limit 1000p flows 1024 quantum 1514 target 5ms interval 100ms ecn
qdisc fq_codel 8015: dev br0 parent 1:15 limit 1000p flows 1024 quantum 1514 target 5ms interval 100ms ecn
qdisc fq_codel 8017: dev br0 parent 1:16 limit 1000p flows 1024 quantum 1514 target 5ms interval 100ms ecn
qdisc fq_codel 8019: dev br0 parent 1:17 limit 1000p flows 1024 quantum 1514 target 5ms interval 100ms ecn
qdisc cake 801c: dev ifb4eth0 root refcnt 2 bandwidth 327680Kbit besteffort dual-dsthost nat wash ingress no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
 

dave14305

Part of the Furniture
@dave14305 Tried CAKE earlier and switched it off due to getting a strict NAT type from it. Put FlexQoS back on and I've resulted in this when I do the tc qdisc command.

Does the router need rebooting once reverting back from CAKE to A.QoS?

Code:
qdisc cake 801b: dev eth0 root refcnt 2 bandwidth 28672Kbit diffserv3 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc ingress ffff: dev eth0 parent ffff:fff1 ----------------
qdisc htb 1: dev br0 root refcnt 2 r2q 10 default 0 direct_packets_stat 9 direct_qlen 2
qdisc fq_codel 8009: dev br0 parent 1:2 limit 1000p flows 1024 quantum 1514 target 5ms interval 100ms
qdisc fq_codel 800b: dev br0 parent 1:10 limit 1000p flows 1024 quantum 1514 target 5ms interval 100ms ecn
qdisc fq_codel 800d: dev br0 parent 1:11 limit 1000p flows 1024 quantum 1514 target 5ms interval 100ms ecn
qdisc fq_codel 800f: dev br0 parent 1:12 limit 1000p flows 1024 quantum 1514 target 5ms interval 100ms ecn
qdisc fq_codel 8011: dev br0 parent 1:13 limit 1000p flows 1024 quantum 1514 target 5ms interval 100ms ecn
qdisc fq_codel 8013: dev br0 parent 1:14 limit 1000p flows 1024 quantum 1514 target 5ms interval 100ms ecn
qdisc fq_codel 8015: dev br0 parent 1:15 limit 1000p flows 1024 quantum 1514 target 5ms interval 100ms ecn
qdisc fq_codel 8017: dev br0 parent 1:16 limit 1000p flows 1024 quantum 1514 target 5ms interval 100ms ecn
qdisc fq_codel 8019: dev br0 parent 1:17 limit 1000p flows 1024 quantum 1514 target 5ms interval 100ms ecn
qdisc cake 801c: dev ifb4eth0 root refcnt 2 bandwidth 327680Kbit besteffort dual-dsthost nat wash ingress no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
Yeah, that's whacked. Split brain syndrome. I wonder if Merlin is stopping Cake when switching to A.QoS?
 

DanNuke86

Regular Contributor
Yeah, that's whacked. Split brain syndrome. I wonder if Merlin is stopping Cake when switching to A.QoS?
Didn’t look like it had. I thought I’d stumbled on some kind of Flex Cake..
 

RMerlin

Asuswrt-Merlin dev
Yeah, that's whacked. Split brain syndrome. I wonder if Merlin is stopping Cake when switching to A.QoS?
Can't reproduce here. Switching from Cake to A.QoS properly removed existing qdiscs before setting up the A.QoS ones, as QoS gets stopped, then started:

Code:
        else if (strcmp(script, "qos") == 0)
        {
                nvram_set("restart_qo", "1");
                if(action&RC_SERVICE_STOP) {
                        stop_iQos();
#if defined(RTCONFIG_BWDPI)
                        stop_dpi_engine_service(0);
#endif
                        del_iQosRules();
                }
                if(action & RC_SERVICE_START) {
#ifdef HND_ROUTER
                        hnd_nat_ac_init(0);
#endif
                        if (nvram_match("qos_enable", "1") &&
                           !nvram_match("qos_type", "2")) {
                                ForceDisableWLan_bw();
                        } else if (nvram_match("qos_enable", "0")) {
                                ForceDisableWLan_bw();
                        }
#if defined(RTCONFIG_QCA) || \
                (defined(RTCONFIG_RALINK) && !defined(RTCONFIG_DSL) && !defined(RTN13U))
                        reinit_hwnat(-1);
#endif
                        QOS_CONTROL();
                }
                nvram_set("restart_qo", "0");
        }
 

jbehrmusic

Occasional Visitor
My router is the RT-AC86U [ just got it today from Amazon ], and I have gigabit from comcast (920+down, 40+up). Although many have stated QoS is not useful with Gigabit connections, I still do get massive cut outs on Teamspeak (if someone else in downloading in the house), as well as ping spikes in games like valorant/csgo. When enabling QoS, it seems to fix those issues. Question is, should I leave the default Adaptive QoS (Automatic Setting). Or should I try installing this script from FlexQoS?

Update: I installed FlexQoS. Oddly enough, I'm getting a worse Bufferbloat score using FlexQoS, rather than the default Adaptive QoS on Automatic (rather than Manual). I put the manual setting at 85% of my speeds, but still getting a worse score on dslreports. I was getting an A score, but now I'm getting a B. And to confirm, yes I tried changing the queue discipline to fq_codel on the FlexQoS customization page.

Update #2: I tried turning off QoS all together and re-running the Bufferbloat test again on dslreports, and I'm getting an A score now. Very weird... So apparently QoS is causing Bufferbloat to be worse? Not sure what's going on. I'll keep testing.

Update #3: After turning Adaptive QoS back on, I increase the speed on the bandwidth (manual setting) from 85% to 95% of my slowest result on speedtest.net. After running 3 tests on dslreports, I now get an A for my score, with Adapative QoS on. Within the FlexQoS customization settings, I have the fq_codel queue discipline, as well as 18 (Cable) for WAN packet overhead.

Some follow up questions.
- Within the customization of FlexQoS, the Router Outbound Traffic Class option seems to be already set to Work-From-Home. Do I need to change this option at all?
- Does the Gear Accelerator work in conjuction with FlexQoS? For those unaware, Gear Accelerator is accessible by clicking on "Game" on the left side of the GUI. This options seems to be enabled by default when QoS is turned on.

Lastly, is the RT-AC86U a decent router? I have 30-days to return for something better. I see within the GUI, that its using 76% of its RAM (387mb of 512mb), and the CPU is running at 78C (is this normal or too hot?). Just want to make sure I have a good router that will last me some years. I read a lot of good things about the AC86U, but maybe there's something better?

Thanks.
 
Last edited:

dave14305

Part of the Furniture
- Within the customization of FlexQoS, the Router Outbound Traffic Class option seems to be already set to Work-From-Home. Do I need to change this option at all?
The default value should be File Downloads, but it isn’t that important unless you’re using a VPN client on the router.
- Does the Gear Accelerator work in conjuction with FlexQoS? For those unaware, Gear Accelerator is accessible by clicking on "Game" on the left side of the GUI. This options seems to be enabled by default when QoS is turned on.
Not really. It overrides the priorities you see in the GUI, so I wouldn’t recommend using both.
Lastly, is the RT-AC86U a decent router? I have 30-days to return for something better. I see within the GUI, that its using 76% of its RAM (387mb of 512mb), and the CPU is running at 78C (is this normal or too hot?). Just want to make sure I have a good router that will last me some years. I read a lot of good things about the AC86U, but maybe there's something better?
For an AC router, it’s the most recommended one here. I bought one in December with no regrets. My temp is around 68C and was never affected by the temperature issues reported elsewhere.
 

jbehrmusic

Occasional Visitor
Not really. It overrides the priorities you see in the GUI, so I wouldn’t recommend using both.
Ok. But I think there's no actual way to disable this feature, correct? When I click the "Game" tab, it shows the Gear Accelerator {Game Device Prioritizing} slider to ON. If I move the slider to OFF, it turns off QoS completely.

For an AC router, it’s the most recommended one here. I bought one in December with no regrets. My temp is around 68C and was never affected by the temperature issues reported elsewhere.
That's weird that your unit is much lower than mine. I checked again and the CPU is at 82c. Which I feel like is a bit high. Any thoughts?
 

dave14305

Part of the Furniture
Ok. But I think there's no actual way to disable this feature, correct? When I click the "Game" tab, it shows the Gear Accelerator {Game Device Prioritizing} slider to ON. If I move the slider to OFF, it turns off QoS completely.
Just don’t add any devices to its list then. That will screw things up.
 

Kingp1n

Very Senior Member
The default value should be File Downloads, but it isn’t that important unless you’re using a VPN client on the router.


Can you elaborate on this a little more since I run a fulltime VPN on the router? Should I change the default from File Downloads to something else? Thanks dave!
 

dave14305

Part of the Furniture
Can you elaborate on this a little more since I run a fulltime VPN on the router? Should I change the default from File Downloads to something else? Thanks dave!
It most influences how upload traffic from the VPN appears in the stats. You can probably make it whatever you want. How does your upload traffic appear now?
 

Similar threads

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