What's new

FlexQoS FlexQoS 1.2.5 - Flexible QoS Enhancement Script for Adaptive QoS

  • 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!

I don’t want game downloads to be prioritized as it’s not optimal for gameplay.

how can I set this up to where my ps5 gaming packets are #1.

If I put my tcp into downloads to another category, do those get prioritized layer? Therefore affecting gameplay?
You still haven’t added the Game Downloads rule from the well-known rule list. You still haven’t shown what the Tracked Connections from your PS5 look like when you’re using it. I don’t understand what the traffic looks like that you want to move, so there is nothing to base any suggestions on.
 
You still haven’t added the Game Downloads rule from the well-known rule list. You still haven’t shown what the Tracked Connections from your PS5 look like when you’re using it. I don’t understand what the traffic looks like that you want to move, so there is nothing to base any suggestions on.
I want all my ps5 packets to be net control only.

I know how to do everything regarding that. (Do I need games to be prioritized? Even though nothing will be in there)

how can I separate other devices who use the same SSL/TLS?
 
Anyone can guide me how do I set it to prioritize my game, i have 500/100 fiber connection, whenever somebody is downloading it is causing lag to my game. I played most EA Apex legends
What have you setup yet? Have you installed Flex and setup the gaming rule already, does your gaming device have a static ip ?

You can provide pics of your Flex setup so others may be able to provide additional information.

Sometimes you cant fix all with just the script alone. Theres other variables that play a role starting with your ISP.
 
AX-88U, 386.3_2

Here's the log,

Says more than 10000 characters, so I posted somewhere else.
Can you run this command before and after running a speedtest? Looking to see if the stats increase due to the speedtest.
Code:
tc -s class show dev br0 parent 1:
tc -s class show dev eth0 parent 1:
 
is that I input these 2 command and take note, then i ran my speedtest and run these commands again and copy their value? If yes, its below. I dont know how to tell if the stats increase?

I dont know can this help you i comparing both files and this is the results.
View attachment 35858
View attachment 35859
Definitely seems like Adaptive QoS doesn’t work. Remove FlexQoS and watch the Classification tab to see if the counters increase as you use the internet.
 
nope it doesn't. The classification tab not showing anything?
View attachment 35863
That is odd.

Does disabling/enabling Adaptive QoS do anything.

I'm not sure why the classifcation is not working. What's the size of the USB you're using? Does 'amtm' work ok?

Worst case, you might have to reset router and setup from scratch.
 
Aug 20 23:26:18 rc_service: httpd 12996:notify_rc restart_qos;restart_firewall
Aug 20 23:26:19 kernel: Cpuidle Host Clock divider is enabled
Aug 20 23:26:21 BWDPI: fun bitmap = 4ff
Aug 20 23:26:21 A.QoS: qos_count=0, qos_check=0
Aug 20 23:26:24 custom_script: Running /jffs/scripts/service-event-end (args: restart qos)
Aug 20 23:26:24 custom_script: Running /jffs/scripts/nat-start
Aug 20 23:26:24 custom_script: Running /jffs/scripts/firewall-start (args: ppp0)
Aug 20 23:26:24 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)
Aug 20 23:27:06 miniupnpd[18167]: recv (state0): Connection reset by peer
That seems normal. Not sure why this would not be working. Have you tried the latest stock firmware? You haven’t compiled this firmware yourself from github, I assume?
 
That seems normal. Not sure why this would not be working. Have you tried the latest stock firmware? You haven’t compiled this firmware yourself from github, I assume?
Any reason why changing UDP timeout : UNREPLIED makes the game feel great? Perhaps freeing up resources?
 
Shouldn't speedtest traffic categorized under File Transferring? I was doing a speedtest and File Transfer category is not showing.
Where were you running the Speedtest from? Router or client? What did the tracked connections show for that device during the test?
 
I think it's this. Then its correct.
View attachment 35872

When i ran speedtest with "Internet Speed" tab, it is showing in Upload section only no matter download or upload testing is carried out. Not sure is my download is bugged or too many tracked connections.
View attachment 35873
Router speedtest will only show in Uploads. But client speedtest should appear in both if it’s working correctly.
 
Today, my family and I were streaming a program and I was disappointed to see it was being classified as Web Surfing, despite my custom rule for all traffic from the streaming device to be classified as Streaming.

After some analysis of the Tracked Connections from the device, I determined that the stream was happening over IPv6, so it eluded my IPv4-based iptables rule for the device. Sad.

After reviewing my old notes and posts from the FreshJR thread I was reminded of the difficulty creating iptables rules for local IPv6 addresses because in most cases, the addresses are random and change frequently for privacy. Hence, any iptables rule in FlexQoS that includes a local or remote IPv4 address isn’t applied to IPv6 traffic.

So I’m on a bit of a quest to solve this puzzle. Since we cannot rely on a stable, predictable IPv6 address, we need to figure out what we have to work with. MAC address is the obvious missing link, but not available in the POSTROUTING table.

I found a clever post at OpenWRT that has put me on an interesting track using ipsets. I’m only experimenting with manual commands at this point, but this is the approach I’m pursuing (it’s a work-in-progress so not necessarily efficient or fully thought through yet):
  • We know the local IPv4 address for a device. Derive the MAC address of the IPv4 address.
  • Create a hash:mac ipset to hold the MAC address for up to 1 day (my lease duration). ipset create firestick-mac hash:mac timeout 86400
  • Create an iptables rule to capture the MAC address when the known IPv4 address initiates a new connection anywhere. iptables -t mangle -I PREROUTING -m conntrack --ctstate NEW -s 192.168.50.7 -j SET --add-set firestick-mac src --exist
  • Create a hash:ip ipset for IPv6 address for the device to hold the temporary IPv6 addresses as they change, for up to 1 hour. ipset create firestick hash:ip family inet6 timeout 3600
  • Create an ip6tables rule to capture the local IPv6 address when the MAC address initiates a connection. ip6tables -t mangle -I PREROUTING -m conntrack --ctstate NEW -m set --match-set firestick-mac src -j SET --add-set firestick src --exist
  • As the device initiates connections, the firestick ipset should always contain the most recent IPv6 addresses it has been assigned. Now we can use that firestick ipset in an ip6tables rule to capture my streaming traffic.
  • Create ip6tables rules to mimic the IPv4 rule I setup in the FlexQoS GUI. ip6tables -t mangle -A FlexQoS -o br0 -m set --match-set firestick dst -p tcp -j MARK --set-xmark 0x8004ffff/0xc03fffff ip6tables -t mangle -A FlexQoS -o eth0 -m set --match-set firestick src -p tcp -j MARK --set-xmark 0x4004ffff/0xc03fffff
It remains to be seen if this is workable for every situation involving local IPs. But so far it seems to be capturing the idle phone home traffic that the Amazon Firestick is doing while I type this.
Code:
# ip6tables -t mangle -nvL FlexQoS
Chain FlexQoS (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 MARK       udp      *      br0     ::/0                 ::/0                 multiport dports 500,4500 multiport sports 500,4500 MARK xset 0x8006ffff/0xc03fffff
    0     0 MARK       udp      *      eth0    ::/0                 ::/0                 multiport sports 500,4500 multiport dports 500,4500 MARK xset 0x4006ffff/0xc03fffff
    0     0 MARK       udp      *      br0     ::/0                 ::/0                 multiport sports 3478:3481 mark match 0x80000000/0xc03fffff MARK xset 0x8006ffff/0xc03fffff
    0     0 MARK       udp      *      eth0    ::/0                 ::/0                 multiport dports 3478:3481 mark match 0x40000000/0xc03fffff MARK xset 0x4006ffff/0xc03fffff
   40  4060 MARK       tcp      *      br0     ::/0                 ::/0                 match-set firestick dst MARK xset 0x8004ffff/0xc03fffff
  149 12608 MARK       tcp      *      eth0    ::/0                 ::/0                 match-set firestick src MARK xset 0x4004ffff/0xc03fffff
There’s no reward for keeping this half-baked idea to myself, so I post it for anyone to comment on or test themselves if they follow the logic. FreshJR always said he had some ideas how to solve this, but never elaborated.
 
Hello guys, after a long time i decided to upgrade my Ac86u from 384.17 to the newest 386.3.2, i reset every thing , formatted the JFFS partition and then enabled it but my question is, where is the amtm menù ? i wanted install the new FlexQos script :rolleyes: , maybe i need of a usb stick ?
 
Yes you want a drive for a swap file.
Once you set the router to mount the usb drive in the gui, reboot so it takes effect.
Then from the command line you type "amtm" without the brackets.
The menu should be pretty self explanatory.
I would create the swap drive first in the amtm window.
 
Last edited:
oh ok, because with the old FreshJr script there was not need of the usb stick/swap file , when i read that amtm was included in the firmware i thought it was ready to use.
Maybe i go for manual install, would be ok

edit: ok manual install is ok, i have configured all options, add gaming rule and all run perfect, great work Dave !! donation incoming soon;)
 
Last edited:
Glad you got the outcome you were looking for.

For clarity, amtm is a shell or menu that allows you to just click a few buttons to seamlessly download/install any of the various scripts supported.
amtm is in the firmware now but that does not mean the applications come installed and ready to run.
You still have to hit the command line and from amtm, install and configure the applications you like.
Your not having to download amtm now is all.

Some (not all) of the apps require a swap file. An external usb drive is the preferred method.
 
oh ok, because with the old FreshJr script there was not need of the usb stick/swap file , when i read that amtm was included in the firmware i thought it was ready to use.
Maybe i go for manual install, would be ok

edit: ok manual install is ok, i have configured all options, add gaming rule and all run perfect, great work Dave !! donation incoming soon;)
Grazie mille! For the record, you do not need a USB stick or a swap file for FlexQoS.
 

Latest threads

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