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!

Adaptive QOS and voip not working so well together (and high ping)

Discussion in 'Asuswrt-Merlin' started by psyc0ld, Apr 24, 2016.

  1. psyc0ld

    psyc0ld Occasional Visitor

    Joined:
    Mar 22, 2016
    Messages:
    14
    Hi everyone,

    I just bought a RT-AC87u and trying to configure the adaptive QOS to make sure my voip is always prioritized but I can't make it right.
    I've set voip on top of the list, then gaming, streaming, web surfing, File transferring and others. I even configure my Obi to highest in the bandwidth monitor with apps analysis on.

    I'm currently doing an online backup that max out my upload speed and my ping goes up to 400ms. So that makes calls impossible and even my browsing is slower.

    For now, I've set up traditional QOS (highest priority for my obi) and everything works fine. My ping is low and calls are clear, but I was wondering if this is normal behaviour for adaptive QOS or if I've done something wrong.

    Also, when I was configuring QOS with Safari, once I set up my customizable list, it's then going to the limiter bandwidth. And in the traditional QOS, once activated the option menu up right doesn't appear. I had to configure this with chrome.

    Thanks.
    Edit: I'm using 380.59 alpha2, but having these issues with 380.58.
     
    Last edited: Apr 24, 2016
  2. L&LD

    L&LD Part of the Furniture

    Joined:
    Dec 9, 2013
    Messages:
    6,866
  3. psyc0ld

    psyc0ld Occasional Visitor

    Joined:
    Mar 22, 2016
    Messages:
    14
    I don't know if this is a good idea, but I'll try.
    Merlin said in the 380.59 beta thread:
    These are the currently known issues.

    • Traditionnal QoS is broken on most of the ARM models (Asus issue)
    • No firmware available for the RT-N66U and RT-AC56U (missing GPL components for these two)
     
  4. sfx2000

    sfx2000 Part of the Furniture

    Joined:
    Aug 11, 2011
    Messages:
    11,400
    Location:
    San Diego, CA
    Most folks get QoS backwards - it's not about rate limiting, it's about committing resources towards a service...

    When running Adaptive QoS/Traffic Shaping - what's the more important service - for you it seems like VOIP...

    Ok, set Voice as the primary QoS target - that writes a $20 check against a $100 bandwidth budget - the rest is still in the bank - so no matter - if you're using 100 percent of BW for gaming, the Router side will check to see if a Voice application flow is requesting traffic - and if so, it'll debit the bandwidth the 20 buck, and leave the rest for the other traffic...

    Throw too many parameters at QoS, and all of a sudden, their too many checks, and not enough balance - and one finds themselves over committed, and nothing works...
     
  5. sfx2000

    sfx2000 Part of the Furniture

    Joined:
    Aug 11, 2011
    Messages:
    11,400
    Location:
    San Diego, CA
    While the voice app is in use, when the app finishes the session, it returns the 20 bucks back to the account until it's needed again.

    Most folks try to get overly granular with QoS, and esp. Adaptive QoS and they get themselves into trouble like you describe above...

    Adaptive tries to solve those problems to some extent, but one can still find themselves overcommitted...
     
  6. psyc0ld

    psyc0ld Occasional Visitor

    Joined:
    Mar 22, 2016
    Messages:
    14
    I know how QOS works. I've set up voice on top of the list but I can't have proper quality while calling when I uploading a backup. Which should be at low priority as is the before last in the list.
    That's why I'm asking if adaptive can handle it right or not or if I'm better with traditional QOS. But what's the point of adaptive then.
     
  7. sfx2000

    sfx2000 Part of the Furniture

    Joined:
    Aug 11, 2011
    Messages:
    11,400
    Location:
    San Diego, CA
    Ok, so I guess you already know the answer to the question you are asking then.

    Have a good one!
     
  8. Nullity

    Nullity Very Senior Member

    Joined:
    Jul 17, 2014
    Messages:
    1,618
    Location:
    Appalachia
    Ping (in this case) will not give you useful information, unless you prioritize pings. A 400ms ping is completely normal because it is just another unclassified, unprioritized packet that is queued into the ~400ms deep network queue. The only traffic that will not see a 400ms latency will be the prioritized VOIP traffic.

    QoS does not globally improve network latency during congestion, that is what an AQM does. I think fq_CoDel (an AQM) was recently added to AsusWRT-merlin, but I dunno if it works with Adaptive QoS.



    Either prioritize pings or if your VOIP devices have some sort of diagnostic check, use that to see if QoS is functioning properly.
     
  9. lilstone87

    lilstone87 Senior Member

    Joined:
    Dec 13, 2012
    Messages:
    248
    Well i don't know if this would be possible with Adaptive QoS, but if it's. I hope Merlin could add this, as currently Adaptive QoS is useless. If you think it will help limit things, while prioritizing keeping latency low. This is one reason i have always liked firmware's like tomato with there style of QoS setup.

    So with my AC3100, currently there's no real way to use something to prioritize keeping latency low, for certain devices/services, when using higher rates of data. With Bandwidth Limiter, you might be able to greatly reduce your overall data rate limit's, and maybe keep latency from spiking to much. With all this said, i would love for Asus to have a QoS system with a AQM option in place, in the future.

    Because Adaptive QoS usefulness is taking a set of download/upload limits set by you. Then making sure higher priority devices/services you set, get bandwidth they require. However in no way does prioritizing something within Adaptive QoS, keep latency low to it. Btw this reply is for the OP of this thread, not who I'm commenting on. Reason i replied to who i did, was because i would love a QoS on these Asus router's, with a AQM option. As to some of us, keeping latency as low as possible, for certain services. While still being able to use high data rates, would be great. Very good chance i would try tomato firmware on my AC3100, if it ever becomes available.
     
  10. RMerlin

    RMerlin Part of the Furniture

    Joined:
    Apr 14, 2012
    Messages:
    23,521
    Location:
    Canada
    It's just as broken in 380.58, and in all the latest official firmwares from Asus. The issue isn't new in 380.59.
     
  11. RMerlin

    RMerlin Part of the Furniture

    Joined:
    Apr 14, 2012
    Messages:
    23,521
    Location:
    Canada
    Make sure you set upload/download speed to about 90% of your maximum rates, otherwise the upload will starve your download by not being able to send ACK packets back.
     
  12. RMerlin

    RMerlin Part of the Furniture

    Joined:
    Apr 14, 2012
    Messages:
    23,521
    Location:
    Canada
    It's not part of any released build, it's just experimental code in a separate code branch.
     
    Nullity likes this.
  13. lighting

    lighting Occasional Visitor

    Joined:
    Mar 21, 2014
    Messages:
    18
    I've been using an Obi for VOIP, too. I found that traditional QOS sort of works, adaptive less so. But I've never really had adequate out-going audio. Issue may be the inherent issues with Comcast. But can anyone advise how the signaling packets should be prioritized for VOIP? Thanks.

    RT-AC68u and RMerlin 380.58
     
  14. Nullity

    Nullity Very Senior Member

    Joined:
    Jul 17, 2014
    Messages:
    1,618
    Location:
    Appalachia
    Merlin mentions (at post #10) that *.58 & *.59 have a broken implementation of Traditional QoS.


    Assuming that your QoS implementation is functioning properly, the best fundamental QoS tutorial I know of is http://www.linksysinfo.org/index.php?threads/qos-tutorial.68795 (a tutorial by toastman, a respected "real world" QoS guru). Sadly, this is literally the minimum amount of knowledge needed to understand how both uplooad & download QoS works, at the simplest level.
     
  15. kvic

    kvic Very Senior Member

    Joined:
    Aug 11, 2014
    Messages:
    1,384
    Location:
    Hong Kong
    Being both a Adaptive QoS (i.e. BWDPI by Trend Micro) and HW NAT (i.e. CTF by Broadcom) user for sometime, I would assert Adaptive QoS (and the bigger feature set BWDPI) is far above being useless..

    I've been consistently delighted by BWDPI. From time to time upset by Broadcom's CTF due to its lack of solid stability. To me, Trend Micro produces much higher quality software than Broadcom.

    Adaptive QoS by TrendMicro

    Back to Adaptive QoS, sadly it's not well documented anywhere. Nor Asus has fully implemented its configurability IMHO! Look at this NVRAM variable:

    bwdpi_app_rulelist=9,20<0,5,6,15,17<4<13,24<1,3,14<7,10,11,21,23<8<<

    This rulelist defines the packet/app priority for Adaptive QoS. Roughly you can work out a mapping between the numbers and app/packet categories. Some of them are configurable through WebUI. So you can play thru WebUI and see how this rule list changes.

    Note that some categories are consistently on top priority which aren't even changeable from WebUI. Also note what numbers (i.e rules) are skipped/missing from the rulelist. I'm sure someone with curiosity, time and need can reverse engineer something useful for the community.
     
  16. charlie2alpha

    charlie2alpha Senior Member

    Joined:
    Nov 15, 2014
    Messages:
    349
    Location:
    Greece
    My own experience with Adaptive QoS were less than stellar. It is a fact that the BWDPI (short for the adaptive QoS) is the only one that works with CTF enabled (NAT hardware acceleration) so if your line is fast enough to need it you do not have a choice in the matter.

    But when you do have a choice plus some skills BWDPI loses badly to a more classic linux QoS. I have switched to the Traditional QoS for a while now but I am not using it as it is, rather I have heavily modified via the provided user scripts in Merlin's fork to use HFSC instead of the HTB packet scheduler. Also, I've been testing the experimental FQ_CODEL support @RMerlin has added in his git repository and it improves things even further.

    The caveat is, you need to know how QoS works in Linux to make your own script. I've been perfecting mine for months now, to the point that now I always get an A or A+ on the DSL Reports buffer bloat tests! Having said that, this is not a generic solution that can work for everyone out of the box, I am not sure if there's a generic script somewhere that uses HFSC + FQ_CODEL that fits all cases.
     
  17. RMerlin

    RMerlin Part of the Furniture

    Joined:
    Apr 14, 2012
    Messages:
    23,521
    Location:
    Canada
    One limitation of Traditional QoS is that it only lets you configure rules based on tcp/ip parameters (port, protocol and IP). BWDPI's big advantage is its engine can classify traffic at an L7 level.

    In an ideal world, we'd be able to tap into BWDPI's classification engine, and tie it to our own tc qdisc configuration.

    Someone who truly wanted to do it could do so using a wrapper script around tc, or by plugging itself in the firmware after each call that stops/starts bwdpi's qos. It's technically doable.
     
    sfx2000 and Nullity like this.
  18. charlie2alpha

    charlie2alpha Senior Member

    Joined:
    Nov 15, 2014
    Messages:
    349
    Location:
    Greece
    I suppose it could be done but it takes a lot of work, and it's not simple either, all the firmware calls to tc must be modified, I am not use that BWDPI uses a fixed amount of classes/qdiscs, I think those could be dynamic. But for me the biggest issue with BWDPI is that its layer7 detection is far from adequate. Users with fat pipes won't notice it as much, but users with low bandwidth are much more affected. Until recently (like few months ago) I only had an ADSL2+ link limited to 1020Kbps upload so I have noticed it myself. I can for sure tell you that it failed to detect my torrent client traffic classifying it as generic traffic, because all torrents use encryption these days. It also fails to detect Skype, Google Hangouts and Viber, popular messaging apps here with VoIP abilities. Not very useful like this.

    But to play the devil's advocate, traditional QoS can't detect those either but if you fully control your network you can configure everything else like the torrent client for example to use specific ports and/or ToS bits to create mangle rules to detect all that bulk traffic and put it in lower priority, which is in the end what I do.

    Yes I know, it's too damn technical for the average Jo which is why BWDPI is the holy grail after all, but it's far from perfect. Well, nothing is after all but there are better QoS solutions in the works from other manufacturers that rely in FQ_Codel in order to be generic enough and not to rely so much on L7 detection.

    EDIT: found this thread in our forums here http://www.snbforums.com/threads/does-qualcomms-streamboost-really-work-article.14732/ Qualcomm is using similar tech plus others.
     
    Last edited: Apr 30, 2016
  19. kvic

    kvic Very Senior Member

    Joined:
    Aug 11, 2014
    Messages:
    1,384
    Location:
    Hong Kong
    More on Adaptive QoS

    BWDPI as a DPI (deep packet inspection) engine is fairly capable, especially for a consumer router. More than 700 types of common applications are identified based on counting the number app icons TrendMicro/Asus have prepared for their routers.

    It includes both WhatsApp and Skype. So kinda surprise if BWDPI can't properly prioritise voice calls from such apps. Sometimes I wonder if turning on "App Analysis" is required for Adaptive QoS to work better. People would normally assume DPI is performed always regardless of this knob...

    Also worth checking during a VoIP call to see what type of app is the traffic identified. I've been using "WiFi Call" on iPhone at home where cellular signal is usually one bar or two. BWDPI identifies WiFi Call as "General" which I take it as unable to identify...as WiFI Calls are all encrypted through a dedicated IPsec tunnel.
    • If people could figure out the rule number corresponding to "General". Then simply put that number in highest priority category through bwdpi_app_rulelist. That could be one preferred workaround.
    • Assigning the iPhone/Android device doing VoIP the highest priority (the red color button on Bandwidth Monitor page) may also improve the latency situation..
    • I would bet "General" is part of "Others" on Adaptive QoS customisation page. Giving "Others" a higher priority maybe below VoIP will help too...but risk propping up other unrelated "Others" traffic..
    Quite a few workarounds are there worth trying before getting hands wet into nitty gritty of traditional QoS IMO. But really DPI based QoS shall be made more configurable (for people who prefer to)...

    I've never noticed a dropped WiFi call as-is. Thus I never experimented with the above suggestions. Would like to hear feedback from people who tried and see improvements.
     
  20. lilstone87

    lilstone87 Senior Member

    Joined:
    Dec 13, 2012
    Messages:
    248
    Well not to jump to much off topic.. I have tried out Bandwidth Limiter a bit on my AC3100 this week. I have noticed a couple things, and I wonder with bandwidth Limiter enabled, and CTF disabled what kind of max speed this router can handle. On to what I have noticed. I currently get 330/33 from my isp. Well I took every device connected to my network currently, and gave them speed's of 264/26.5. Which is about 80% of what my max is.

    Well I noticed when I was doing some P2P downloading, and things were maxing out around 15/16MB's. But oddly while the P2P download was going on, ping level's starting at the router level went up a good amount which I found odd. But I need to do a bit more digging to see if that was bandwidth limiter doing its job, and only pings were affected on that device. Or is it somehow the bandwidth limiter causing an issue. As I do think I looked at the router's gui while the P2P download was going, and it showed CPU core 1 maxing out at 100%. What's odd about that.. is the P2P download was only thing using bandwidth, and only at 15-16MB's. Which is only 152-160mbps, and should be no where near maxing the cpu even with CTF disabled.

    I also tested doing a couple speedtest, and download result's would hit the low 200mbps range. Ping level's would stay rather normal, and cpu core 1 load would stay much lower then 100% maxed out. So even with the P2P traffic, it shouldn't be in my honest opinion no where near maxing the cpu out at about 1/3 of the max speed I have seen this router handle without CTF. I have seen it easily hit around 450mbps, or so without CTF, and cpu maxing out at 100%. Also I noticed running a couple IPv6 speedtest with bandwidth limiter enabled, it doesn't limit ipv6 traffic currently. So someone could still rekt your connection with ipv6 traffic, even with bandwidth limiter enabled.

    Anyways enough of my yapping.. I know QoS is a closed source feature from Asus. But if Merlin happens to read this post, I would love for him to comment on what he thinks about this, and if this kind of stuff is normal, and I'm just expecting the wrong kind of results. As to me.. things seem a bit off, and maybe a little bugged out currently. Which I don't mind bringing to Asus attention, if it isn't working properly. By the way I'm currently using Merlin's .59 beta 1 on my AC3100, if that matters.
     

Share This Page