1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
Dismiss Notice

Welcome To SNBForums

SNBForums is a community for anyone who wants to learn about or discuss the latest in wireless routers, network storage and the ins and outs of building and maintaining a small network.

If you'd like to post a question, simply register and have at it!

While you're at it, please check out SmallNetBuilder for product reviews and our famous Router Charts, Ranker and plenty more!

[Release] FreshJR Adaptive QOS (Improvements / Custom Rules / and Inner workings)

Discussion in 'Asuswrt-Merlin' started by FreshJR, Jan 12, 2017.

  1. FreshJR

    FreshJR Very Senior Member

    Joined:
    Oct 8, 2016
    Messages:
    926
    Welcome to FreshJR's Adaptive QOS modification script!

    OVERVIEW

    Adaptive QOS works amazing, but I have decided to tweak it as I have a few issues with it out of the box. Each of these is addressed by my script.

    Issue 1:

    The first issue is caused by the traffic groups. More specifically, the issue is caused by the existence of the default category. Unidentified traffic goes to the Default category. I would like it to go to Others instead.

    If you go to the QOS statistics, it shows you your traffic priorities and the last 3 seconds of each categories utilization. My setup is as follows.

    Class Total Rate Packet rate
    • Net Control Packets
    • VoIP and Instant Messaging
    • Gaming
    • Others
    • Web Surfing
    • Video and Audio Streaming
    • File Transferring
    • Default
    The issue is that VOIP, like wifi calling and facetime is currently unidentified. This will make it fall to the last category.

    This will cause correctly identified traffic like neflix, youtube, filedownloads, torrents, and web surfing to ALL have greater priority than my poor old VOIP traffic. I wanted to have VOIP get first priority, but it seems to be getting the wrong end of the stick.

    This negative effect extends to poor gaming performance as well. Many games are undetected and will also get the same wrong end of the stick.

    It's a shame that the default category does not have adjustable priority. My scripts fixes that! A workaround I have performed is to route unidentified traffic into the rarely used, but webUI adjustable, Others category. With this you can punish known bandwidth hogs to give them worse priority than unknown traffic. Use as desired!

    Issue 2:
    The largest issue with Asus's implementation of QOS is with their rate/ceil class values.

    UPDATE: I am happy to say Asus partially addressed the poorly configured rates in v382 and up! This is a step in the right direction, but I still do not find their new configuration optimal.

    The QOS categories each have an individual rate/ceil defined.

    So what is this rate or ceil you may ask?

    Rate = Minimum reserved bandwidth for a QOS container
    Ceiling = Maximum bandwidth allowed for a QOS container

    Note in this post: QOS container = QOS category = QOS Class. I will be using all terms interchangeably
    To understand how this could be a problem you have to know how rate/ciel work in practice. Here's a summary.

    Available bandwidth goes to container 1 until it hits rate. Then it will go to container 2 until rate, and so on up to container 7. At this point there will be a lot of unused bandwidth available. This bandwidth will go back to container 1 until it hits its ceil, then container 2 until ceil, and so on up to container 7. No bandwidth is wasted!

    Lets look at some examples, with a 100 mbps connection for easy numbers.

    Example Setup 1 (Okay):
    Code:
    Downloads       container 1     40 mbps rate / 100 mbps ciel      1000 mbps supplied by server.
    Web Surfing     container 2     10 mbps rate / 100 mbps ciel      5 mbps needed
    Streaming       container 3     20 mbps rate / 100 mbps ciel      30 mbps video stream
    
    What would happen is as follows:
    
    Downloads     75 mbps
    Web Surfing   5   mbp
    Streaming     20  mbps   <--- Suffering because of download priority
    
    Bad setup in my opinion because I do not agree in reducing streaming quality to speed up a file transfer.
    This is a non issue since it is a preference setup by the user.  They deem whats appropriate.
    

    Example Setup 2 (GOOD):

    Code:
    Same as above but with better container priorities
    
    Web Surfing     container 1      10 mbps rate / 100 mbps ciel    5mbps needed
    Streaming       container 2      20 mbps rate / 100 mbps ciel    30mbps video stream
    Downloads       container 3      40 mbps rate / 100 mbps ciel    1000 mbps supplied by server.
    
    What would happen is as follows:
    
    Web Surfing    5mbps used
    Streaming      30mbps used
    Downloads      65mbps used <-- Bandwidth taken from here if needed
    
    Optimal setup in my opinion since every category has reasonable guaranteed bandwidth, same as the last setup.
    The difference is that excess bandwidth is offered to categories in a logical order for my usage.
    
    Example Setup 3 (TERRIBLE):
    Code:
    Same as above but different is container rates (128 kbps each =  0.128 mbps)
    
    Web Surfing     container 1      0.128 mbps rate / 100 mbps ciel     5 mbps needed
    Downloads       container 2      0.128 mbps rate / 100 mbps ciel     1000 mbps supplied by server.
    Streaming       container 3      0.128 mbps rate / 100 mbps ciel     30 mbps video stream
    VOIP            container 4      0.128 mbps rate / 100 mbps ciel     2 mbps voice
    Gaming          container 5      0.128 mbps rate / 100 mbps ciel     1 mbps gaming
    
    What would happen is as follows:
    
    Web Surfing   5 mbps used
    Downloads     94.6 mbps used
    Streaming     0.128 mbps used <- DEAD
    VOIP          0.128 mbps used <- DEAD
    Gaming        0.128 mbps used <- DEAD
    
    Terrible setup in my opinion.
    I would never want traffic in any category to completely stall.
    There are no user options to correct this.
    
    I will leave it up to your imagination as to who implemented a 0.128 mbps guaranteed rate per QOS container. They have the knobs to adjust these numbers but instead decided not to allow users to adjust them while themselves messing up the initial positions.

    In my script these rates are defined as percentages of total download bandwidth and are adjustable to your liking. This means no matter how much the network is constrained, various types of traffic should still flow.

    There is one issue still outstanding that bugs me. Inside each container, that traffic has to go through the rate/ciel process again to divide up the available traffic per device requesting it. Once again, a certain manufacturer has setup guaranteed rates of 0.128 mbps per LAN client. This can lead to a situation where one user eats all the bandwidth within a container and starves everyone else if viewing a fast enough data source.

    As a result, I only recommend "default" device priority so everyone get's a sane allotment of bandwidth.

    Issue 3:

    No lengthy write up here. The issue is that we cannot create custom rules to fit any additional needs or deficiencies with the traffic definitions database!
    My script allows for custom rules. I will be explaining these in another post as this one is already too long.​
     
    Last edited: Aug 14, 2018
    Wolf, lev, kcwong and 44 others like this.
  2. FreshJR

    FreshJR Very Senior Member

    Joined:
    Oct 8, 2016
    Messages:
    926
    Description

    The script runs 5 minutes after any QOS settings have been initiated in the webUI.
    All custom settings in the script are applied after this wait period, with script status shown in the system log.

    It is possible to trigger a QOS environment reset without triggering the script’s subsequent modifications.
    Some examples of this are checking for QOS definition updates or changing AiProtect settings in the webUI.

    To overcome this, the script runs a persistence check everyday at 3:30 am to see if it has to be reapplied.

    Install

    The install method, outlined below, is intended for users who want a default configuration and are not wishing to make modifications to the script.
    The default configuration works well for most users without additional configuration.

    An alternative install method, for users who wish to perform additional modifications, is available at the end of the 2nd post
    Popular modifications include custom rules, configuration of a gaming oriented rule, and a VPN traffic identification fix.​

    Prerequisites:

    In your router you need Custom Scripts & SSH enabled.

    Code:
    (1) Administration -> System -> Enable SSH -> LAN Only -> Apply
        You can disable SSH after installation if you do not want to leave it available for security reasons.
    
    (2) Administration -> System -> Enable JFFS custom scripts and configs -> YES -> Apply
        ** This step is only for RMerlin Users **
    
    If using Windows, you also need to download Putty, which is an SSH client, found at the following link.

    If using Stock / Default / Unmodified AsusWRT, you will have to leave a flash drive attached to the router 24/7.
    If you get a curl error then you will need to follow an alternative install method (Install / Update Guide for Power Users) at the bottom of this post.
    Stock firmware cannot trigger the script upon WebUI changes. After making most WebUI changes, the script will remain off until it’s daily check at 3:30AM or until system reboot.​

    Windows - Easy (1-line) Install :

    1) Open Putty and connect to your router by IP
    2) Paste the command below and press enter
    Code:
    curl "https://raw.githubusercontent.com/FreshPr/FreshJR_QOS/master/FreshJR_QOS.sh" -o /jffs/scripts/FreshJR_QOS --create-dirs && sh /jffs/scripts/FreshJR_QOS -install
    
    3) Enable or Restart QOS for changes to take effect​

    Mac/Linux - Easy (1-line) Install :

    1. Open Terminal
    2. Type in
    Code:
    ssh [email protected]
    
    changing both the username and IP to match your router​
    3. Paste the command below and then press enter
    Code:
    curl "https://raw.githubusercontent.com/FreshPr/FreshJR_QOS/master/FreshJR_QOS.sh" -o /jffs/scripts/FreshJR_QOS --create-dirs && sh /jffs/scripts/FreshJR_QOS -install
    
    4. Enable or Restart QOS for changes to take effect​

    QOS Setup:


    1) Use manual bandwidth with limits set to 85-95% of your non-throttled speedtest results

    To zone in on the ideal bandwidth setting within this range you need to be aware of these relations while testing with DSLreports Speedtest:

    If you are getting poor bufferbloat grade, reduce WebUI speeds
    If you are getting poor quality, increase WebUI speeds.
    With these effects in mind, zero in on the ideal speed to get highest overall grade as quality/bufferbloat have an inverse relationship.
    Always perform testing without other network activity so the results are consistent and not skewed.​
    Note: Do not use the Automatic bandwidth setting. It does not work well!

    Automatic bandwidth prioritizes traffic but will NOT reduce bufferbloat.
    Bufferbloat is what makes your internet unresponsive when it is under load.
    Bufferbloat is the main reason of implementing QOS.

    If I was in this non-ideal circumstance of having wildly varying bandwidth, I would NOT use automatic and instead would input 85-95% of my peak speeds as a manual setting.

    Peak speeds will achieve the same type of effect as the automatic setting but the end result will be slightly better. This doesn't change the fact that bufferbloat will still be present with this unfortunate configuration.
    2) I recommend keeping all devices at default priority.

    Currently traffic allotted between devices of different categories does not produce sane results.
    Dedicated VOIP lines are an exception (By this I mean real VOIP lines not your cellphone)
    3) I recommend the following QOS traffic priority list.

    VoIP
    Gaming
    Others
    Web Surfing
    Video and Audio Streaming
    File Transfers

    Keep in mind that "Unidentified traffic" will flow into "Others" with this script.

    I routed "Snapchat" away from VoIP since I didn't want to to get VoIP priority.
    It is in "Others" since I still wanted Snapchat to get higher priority than Web Surfing.

    For users who are NOT using the optional gaming rule, keep in mind that "Others" can potentially have a lot of gaming traffic. "Gaming" users may want to consider moving "Snapchat" into "Web Surfing" so gaming traffic does not have to fight with Snapchat over bandwidth.
    4) sfq vs fq-codel ?

    I perfer the performance of fq-codel, but feel free to experiment in this area.

    Here are some results of my testing.

    - I get a significantly faster RAMP to max defined speed (a signature trait of CoDel) compared to sfq.
    - The initial bufferbloat spikes are reduced significantly faster with Fq-CoDel.
    - My bufferbloat is +10-20ms above average with Fq-Codel, vs +20-40ms with sfq.

    Results:

    [​IMG]

    [​IMG]

    Uninstall


    An uninstall is NOT needed between updates.

    Code:
    /jffs/scripts/FreshJR_QOS -uninstall
    

    Advanced Install for Power Users:
    I recommend using Notepad++ for modifications to the script as it will offer most clarity to what is going on.

    This section is intended for users wanting to make changes to the default configuration.
    Script Download Link

    Windows Install:
    You will need putty and pscp, as well as the script.

    http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

    You do not have to install these executables, they are portable. Move them, and the script, into a new folder called Putty on your C:\ drive.

    It should look like this:
    C:\Putty\putty.exe
    C:\Putty\pscp.exe
    C:\Putty\FreshJR_QOS.sh​

    1) In putty (Skip this step if runing RMerlin firmware)
    Code:
    mkdir /jffs/scripts/
    
    2) In command prompt
    Code:
    cd C:\putty\
    pscp -scp C:\Putty\FreshJR_QOS.sh [email protected]:/jffs/scripts/FreshJR_QOS
    
    3) In putty
    Code:
    dos2unix /jffs/scripts/FreshJR_QOS
    sh /jffs/scripts/FreshJR_QOS -install
    
    4) turn ON qos or restart router as instructed

    Mac/Linux Install:

    You will need to download the script.

    1. In TERMINAL
    Code:
    ssh [email protected]
    mkdir /jffs/scripts/
    exit
    
    scp /users/YOUR_MAC_USERNAME/Downloads/FreshJR_QOS.sh [email protected]:/jffs/scripts/FreshJR_QOS
    
    ssh [email protected]
    dos2unix /jffs/scripts/FreshJR_QOS
    sh /jffs/scripts/FreshJR_QOS -install
    exit
    
    2. turn ON qos or restart router as instructed

    Temporarily Disable & Re-enable:

    Code:
    /jffs/scripts/FreshJR_QOS -disable
    
    or
    
    /jffs/scripts/FreshJR_QOS -enable
    
     
    Last edited: Oct 6, 2018
    SkOrPn, Wolf, lev and 21 others like this.
  3. FreshJR

    FreshJR Very Senior Member

    Joined:
    Oct 8, 2016
    Messages:
    926
    ----------------ADDITIONAL CONFIGURATION----------------

    -If you use your router as a VPN client you should apply extra rules since out of the box
    -VPN download traffic may erroneously show up in uploads
    -VPN upload traffic is whitelisted

    -If you are using the script on Stock / Default / Unmodified Asus Firmware and have a DSL / Fiber / Anything Not Automatically Assigned an IP Internet Connection, your WAN interface needs to be manually defined. This happens automatically for RMerlin firmware users.
    Stock users need to manually consult iptables to find their WAN interface if they have a non-typical connection. The script assumes "eth0" if one is not defined. "eth0" is correct for most users.

    To do so, turn on QOS and give it a few minutes to finish setting up.
    Once it has finished setting up, you can consult your WAN interface by executing the following line within your favorite SSH client.

    Code:
    iptables -vL -t mangle | grep "BWDPI_FILTER  " |  awk '{print $6}'
    If the interface is found NOT to be eth0, then #wan="ppp0" variable needs to be uncommented and changed to the interface returned by the above command.

    -Enabling the Optional Gaming Oriented Rule
    The optional gaming rule requires your console devices:

    1) to have a static IP assignment in Asus WebUI.
    1. Go to Router home page
    2. Click "LAN" on the left hand side
    3. Scroll down to "Manually Assigned IP around the DHCP list (Max Limit : 128)"
    4. Find your gaming devices in the drop down list and manually assign IP's
    2) this static IP range of your gaming consoles has specified, once again, in the gaming rule itself via CIDR notation AND the gaming rule also has to be un-commented.
    [​IMG]
    [​IMG]
    The modified script then has to be saved and re-uploaded to the router.


    --------------COMMONLY ASKED QUESTIONS---------------

    1) How do I know the script/QOS is working?


    Execute

    Code:
    /jffs/scripts/FreshJR_QOS -debug
    
    and make sure

    Undf Prio is NOT 1:17

    2) How to identify ports used?
    (Includes explanation between Local(LAN) and Remote(WAN) IPs & Ports used when configuring custom rules)

    3) Is this an issue?

    Code:
    HTB: quantum of class 10016 is big. Consider r2q change.
    
    NO​

    4) Is this an issue?

    Code:
    ERR[parse_qos_conf:932] Can't set new QoS conf while QoS is started!
    ERR[ioctl_iqos_op_config:3592] parse qos_conf error!!
    ioctl_iqos_op_config() fail!
    ERR[qos_start:3344] QoS is already started!
    ioctl_iqos_op_switch(1) fail!
    
    Not unless the errors are continuously looping without stopping​


    ---------------------ADVANCED CONFIGURATION---------------------

    Custom filtering rules:

    Open the script Notepad++ and read the green header comments!​

    It is possible to:​

    --Categorize traffic into QOS container to/from LAN PC by its PORT.
    --Categorize traffic into QOS container to/from LAN PC by its IP
    --Categorize traffic into QOS container to/from WAN SERVER by its PORT.
    --Categorize traffic into QOS container to/from WAN SERVER by its IP
    Rule Templates to achieve the above are in the header of the script.

    IP Ranges Syntax:
    IP ranges are defined by a IP and a MASK, same as above but in CIDR notation instead of a hex mask.
    You can google CIDR calculators and see what ranges open. I did not create a table.

    Example:

    Code:
    192.168.1.100/32 = 192.168.6.100 - 192.168.6.100
    192.168.1.100/30 = 192.168.6.100 - 192.168.6.103
    192.168.1.100/28 = 192.168.1.96 - 192.168.1.111
    
    
    App Analysis Redirection:
    It is possible to redirect currently identified traffic by the QOS definitions database into another traffic container.
    This is typically done if you do not agree with the originally chosen traffic destination.
    (Eg. Remove "Snapchat" from VoIP )


    It is possible to see what traffic is being identified as via WebUI -> Adaptive QOS -> Bandwidth Monitor -> Make sure "AppAnalysis" is ON -> click on any device using traffic -> Write down or remember the name of the traffic you want to lookup or redirect.
    **Note: General means "Unidentified" **

    With the name known, you can look up the traffic's mark and recommended prio for use with a custom script rule.

    Aka: /jffs/scripts/FreshJR_QOS -appdb "Snapchat"
    App Database

    The qos app database can be viewed via

    Code:
    cat /tmp/bwdpi/bwdpi.app.db
    
    The app.db has marks identified via decimal numbers, while TC uses hex.
    Some conversion is necessary to crossreference, but a quick reference table has been attached.

    Code:
    pref 1         LAN               mark 0x0000
    pref 2         DEFAULT           mark 0x8000
    pref 3         VOIP              mark 0x8000       (0)
    pref 4         DOWNLOADS         mark 0x8001       (1)
    pref 6         DOWNLOADS         mark 0x8003       (3)
    pref 7         STREAMING         mark 0x8004       (4)
    pref 8         VOIP              mark 0x8005       (5)
    pref 9         VOIP              mark 0x8006       (6)
    pref 10        OTHERS            mark 0x8007       (7)
    pref 11        GAMING            mark 0x8008       (8)
    pref 12        NET               mark 0x8009       (9)
    pref 13        OTHERS            mark 0x800a       (10)
    pref 14        OTHERS            mark 0x800b       (11)
    pref 15        STREAMING         mark 0x800c       (12)
    pref 16        WEB               mark 0x800d       (13)
    pref 17        DOWNLOADS         mark 0x800e       (14)
    pref 18        VOIP              mark 0x800f       (15)
    pref 20        VOIP              mark 0x8011       (17)
    pref 21        NET               mark 0x8012       (18)
    pref 22        NET               mark 0x8013       (19)
    pref 23        NET               mark 0x8014       (20)
    pref 24        OTHERS            mark 0x8015       (21)
    pref 26        OTHERS            mark 0x8017       (23)
    pref 27        WEB               mark 0x8018       (24)
    
     
    Last edited: Nov 1, 2018
    Wolf, lev, JohnSmith and 15 others like this.
  4. RMerlin

    RMerlin Super Moderator

    Joined:
    Apr 14, 2012
    Messages:
    28,556
    Location:
    Canada
    Pinging @vanic in case he might have a suggestion for you.
     
  5. nezolder

    nezolder New Around Here

    Joined:
    Jan 6, 2017
    Messages:
    4
  6. el pescador

    el pescador Regular Contributor

    Joined:
    Jan 15, 2016
    Messages:
    192
    Does this explain why im getting more consistent online gaming on tomato?
     
  7. FreshJR

    FreshJR Very Senior Member

    Joined:
    Oct 8, 2016
    Messages:
    926
    If your game is not identified and your internet is maxing out, then adaptive QOS does more harm then good. Your game is getting last priority.

    If your game is identified, adaptive QOS is amazing. If you properly set up your limits your ping will not spike and you will not get buffer bloat with the game getting first priority.

    I do not know what QOS tomato has. Asus has traditional QOS as well if you want to set up your games manually. Then it should be equivalent to tomato.
     
    Vexira and beboptrumpet like this.
  8. vanic

    vanic Regular Contributor

    Joined:
    Mar 3, 2015
    Messages:
    146
    Location:
    Taiwan
    @Merlin and @FreshJR,

    What could I do for you?
    For this?
    No catagories can exist beyond level7(defaults). If that was possible, I was planning to move video streaming and file transfers to levels 8 and 9.
    => only prio 0 ~ prio 7, max numbers of catagories are 8.

    So my two plans were to find out what integer stood for unclassified traffic and move it up, or create two priority sets after the default priority didn't work.
    => As Merlin said, if you don't match any number as list, it will be unclassified traffic.
    => create two priority sets after the default priority didn't work : I don't know what you mean here, could you explain?
    => default rule / qdisc : always exists, you can see by command line "tc qdisc show"
    => even if no qos, qdisc still exists (actually, it means for default rule or default qdisc).

    Still can't believe that the function that identifies traffic does not return some integer to define unknown traffic.
    => So leave class 8 (prio7 is empty) for this purpose, is it what you want?

    Thanks,
    Vanic
     
  9. el pescador

    el pescador Regular Contributor

    Joined:
    Jan 15, 2016
    Messages:
    192
    Maybe a silly question but why would it not recognise gaming traffic?
     
  10. el pescador

    el pescador Regular Contributor

    Joined:
    Jan 15, 2016
    Messages:
    192
    Another question.
    I have triple vlans.

    One runs through the ONT....the telephone.
    2 run through the ASUS...internet and tv.

    Does changing the vlan priority make a difference?
    ie...voip vlan is recomended to be 5 (i think ) which when you compare the priortities it says that priority is for low ping.

    I have internet at default prority...but my gaming should be equal to voip or better imo....not at default.
     
  11. RMerlin

    RMerlin Super Moderator

    Joined:
    Apr 14, 2012
    Messages:
    28,556
    Location:
    Canada
    Because it simply doesn't know how to recognize it. All a router can do to identify a type of traffic is look at the connection ports, remote address, and maybe the content at the beginning of the connection. It has no idea what program is running on the PC itself. So if the signatures provided by Trend Micro doesn't have any definition for your specific game (or if your game recently changed something that Trend Micro were using to recognize it), it will be unrecognized traffic, and will fall in the default category.
     
  12. vanic

    vanic Regular Contributor

    Joined:
    Mar 3, 2015
    Messages:
    146
    Location:
    Taiwan
    vlan : using switch tag to bypass packet in switch port, not to go through CPU and qos / dpi engine can't see this packet.
     
  13. FreshJR

    FreshJR Very Senior Member

    Joined:
    Oct 8, 2016
    Messages:
    926
    Vanic, I would like to give unclassified traffic higher priority. I was reading up on the tc command.

    This is the filter for unclassified traffic:
    Code:
    filter parent 1: protocol all pref 1 u32 fh 813::800 order 2048 key ht 813 bkt 0 flowid 1:17
      mark 0x40000000 0x4000ffff
    Can I change flowid so I can route it into a different priority class? 1:13 for example.
    After it gets into class 1:13, should i about how it is marked? Should I try to mark it as something else, example 0x400d0000 0x403f0000 would mark it as web browsing instead.

    If I can't edit the filter, can I change the priority of class 1:17? Prio = 3 for example.
    Code:
    class htb 1:17 parent 1:1 leaf 17: prio 7 rate 128Kbit ceil 8192Kbit burst 3200b cburst 9598b
    I still have to find the commands on how to modify filters or change class priority. I am very new to this.

    Thank you so much for checking in. I know it was a lot of text.
     
    Last edited: Jan 18, 2017
  14. vanic

    vanic Regular Contributor

    Joined:
    Mar 3, 2015
    Messages:
    146
    Location:
    Taiwan
    Hi @FreshJR,

    Actually, even if you know how to setup tc or iptables by yourself, you still can't break our rule in dpi engine, TrendMicro reserves the last priority for default rule / unclassified class, and their tc (traffic control) rule is created by kernel module, so ASUS can't modify anything on this, and you can't, too. Adaptive qos has its rule (powered by TrendMicro), I think we are hard to change anything if you want to use it. Sorry for that I can't disclose more detail technique on this.

    Thanks,
    Vanic
     
  15. FreshJR

    FreshJR Very Senior Member

    Joined:
    Oct 8, 2016
    Messages:
    926
    Thanks for looking into it.

    If you are in a position to do so, maybe suggest to make unclassifed traffic available able to have configurable priority in future updates.

    In my case, most of traffic is marked correctly but T-Mobile wifi VIOP calling is uncatagorized and gets last priority. I would prefer for any undentified traffic to be above video streaming and downloads.

    Some other users on here wish the same.

    I don't know your involvement, but congratulations on the router design and QOS if you were apart of it. best I have ever used.
     
  16. Sar Mange

    Sar Mange New Around Here

    Joined:
    Jan 25, 2017
    Messages:
    1
    I am having similar issues with my Ooma VoIP. None of the packets are being sorted in the correct classification and all traffic is being set to default. I did see that perhaps AIProtection has to be enabled in order for the packets to be sorted. If this is true which parts have to be enabled? Thanks!
     
  17. FreshJR

    FreshJR Very Senior Member

    Joined:
    Oct 8, 2016
    Messages:
    926
    Incorrect. If adaptive qos is enabled, packets are being sorted. There are no dependencies that also have to be toggled on.

    If they are being sorted into incorrect categories nothing really you can do except hope a definitions update will fix it in the future, or use traditional qos instead.

    Go to administration, firmware update, click check next to signature version. That's what updates the sorting filter if you are on an old one. I am on 1.142

    Also under bandwidth monitor, set the ooma box to highest priority, dragging the red label onto the ooma box. That should further increase its priority, but im guessing default traffic will still get the crap end of the stick.

    For me, I'm switching to traditional qos and explicitly defining T-Mobile wifi calls since that's the major thing I don't want to lag. But adaptive would be best since I could depriotize Netflix and downloads.
     
    Last edited: Jan 25, 2017
  18. el pescador

    el pescador Regular Contributor

    Joined:
    Jan 15, 2016
    Messages:
    192
    So how do we get FIFA 17 gaming packets in the correct category?
     
  19. FreshJR

    FreshJR Very Senior Member

    Joined:
    Oct 8, 2016
    Messages:
    926
    Short answer. You don't and we can't.

    The adaptive qos/packet sorting is done by trend micro for asus.

    Trend micros implementation is proprietary and closed off. In other words, it's a black box with zero modification allowed. It's supplied to asus and they just "plug" it in and turn it on. Not even they control it.

    Reverse engineering and hacking together a work around is outside my skill level.

    Your best bet is using traditional qos and manually defining the game.

    Otherside that, hope that in the future the sorting signatures will get corrected, or that uncatagorized packets get adjustable priority, or that hacks are done to adjust definitions/priority.
     
    zerodegrekelvin likes this.
  20. el pescador

    el pescador Regular Contributor

    Joined:
    Jan 15, 2016
    Messages:
    192
    Bad news.
    :(