Nighthawk R7000 QoS Ineffective

Jasiek95

Prominent
Apr 12, 2017
36
0
540
Hey guys so this is the sitch:

My street in Australia just recently got VDSL fibre and our Telco sent us one of their bog standard modem+routers with no QoS... If it were up to me I'd have thrown it out straight away and seeing as our old Netgear D6300 no longer worked with VDSL I was forced to use it for 6-or-so months. Having seen an ad on eBay for a Nighthawk R7000 for $50 AU (~$37 US) I decided to procure it for myself. Overall the Router is far superior to the Technicolor DJN2130 my ISP provided and handles multiple devices very efficiently for general tasks. Gaming when at-most 3 people are browsing or 1 person viewing a video is fine and it has no hiccups. Once all the family is home and connected (9 Users with at least 1 device connected each) it becomes troublesome. Especially when multiple users are saturating the bandwidth at one time. I began setting up QoS to try and ameliorate the lag so I could play my favorite multiplayer game but began noticing some problems.

Here's some info on the network:

FTTN (Fibre to the Node) -> For those unfamiliar with the Fibre rollout in Australia, essentially FTTN is a cheaper alternative to pure fibre as it only replaces copper about half way. From the exchange to the telecom pillar it's all fibre and from the pillar to the house it uses copper. Our street is an isolated one and as such we do not have our own pillar. We used to connect straight to the exchange located 3.2 KM (~ 2 Miles) away but now they connected us to an adjacent street which only minimizes the distance by 1.2KM (~0.75 miles). Our download speeds compared to old ADSL2+ are about double at 15mbps vs 6. and upload is about the same at 2mbps.

Having to deal with 15/2 mbps line speed and knowing there will be nothing I can change unless I pay about $25000 AU ($18250 US) for the government to pull fibre straight to our house I have to try ensure each person gets a portion of that 15 Down.

Our connection is as per the following:

VDSL --> Bridged Technicolor DJN2130 (acting as modem) --> Netgear Nighthawk R7000 --> Wifi to 8 users --> Powerline ethernet to my Gaming PC

Here's what I did:

1st: I tried dynamic QoS - Much better than without QoS for streaming and browsing but Gaming is otherwise not affected in any possible way. I noticed that QoS assigned priority to users that performed tasks requiring lots of bandwidth (downloading and Streaming) which is counter to what I was trying to achieve (wanted more bandwidth available for gaming not streaming)

2nd. Attempted Advanced QoS (whereby I set custom rules). Here the Nighthawk has three options:

1. QoS by Service
: Final option I attempted and the one I stuck with so far. Enabling this allowed
me to set custom QoS rules for ports. I downloaded process explorer and started up Planetside
2. I noticed what TCP and UDP ports were being used and set-up QoS rules for all those ports.
At first I only set-up rules for TCP connections and noticed no difference when compared to
Dynamic QoS. Adding rules for the UDP ports though blocked all connections in the game and
forced a timeout. I left the QoS priorities included with the Nighthawk as default: Those being:

Highest: My custom Games (Rocket League, BF1, ESO, TF2, etc), VoIP, Skype
High: Messenger and other games that were already included with the firmware (Quake, Counter Strike, WoW, etc)
Medium: FTP, SMTP, WWW, DNS and ICMP
Low: eMule/eDonkey, BT/Azureus and other peer-to-peer connections


2. QoS by Device: This is the first one I attempted. I set my Desktop to highest priority but that just
resulted in the whole network slowing down. Irrespective of who was using the network it only
allowed at most 2mbps down regardless of task being performed. Games were unplayable as it
would disconnect shortly after login due to timeout. I disabled it shortly after.

3. QoS by LAN Port: This is the second option I attempted. Seeing as only my device was
connected to the router via ethernet I set mine to highest. What happened next was a repeat for
option 2. It slowed down the whole network and games were unplayable.

I also did a little troubleshooting. I tried a different Powerline Ethernet adaptor to no avail. WiFi and direct ethernet also had trouble handling a solid connection when the bandwidth was saturated. I tried lowering the Download and Upload speeds to 13/1.5, then 12/1 and 10/.8 in the QoS menu hoping that would help soften the blow caused by buffer-bloat but alas no luck with any of them. My brother who was on wifi when I was on ethernet playing along-side me had lag at the exact moments I did and this happened even when both of us were directly connected via ethernet so I'm certain it's not a hardware issue on my PC's end.

Am I doing something wrong when setting up QoS? Or is the QoS working as expected for the router? Should I try flashing DD-WRT on it or should I just opt to purchase a more powerful router? I'd have thought the R7000 would be able to handle QoS for my household but i'm starting to have doubts now.

Many thanks and if in need of clarification let me know!
 
Solution
edge router X, ddwrt, openwrt, and ipfire have great qos for bufferbloat.
It doesn't need any advanced configuration to get gaming traffic low ping.
Shaping your upload is optional.
You can toggle it on/off when someone is gaming if you want. all QoS requires a limiter which reduces your bandwidth.
If your line is provisioned well you won't lose much bandwidth and leaving it on all the time will be fine.
ERX is $50, but it has no wifi. you will need to add a wireless AP. you can't plug anything into the router upstream or use it's wifi.
I think the r7000 can be flashed to ddwrt/openwrt. If you do this I don't think you can go back. read carefully on how to get the right firmware to flash. if you do the wrong one it can brick it...
High/medium/low are stupid because they have no real meaning.

So the first question will be are you overloading your upload or your download bandwidth.

Many routers only have the ability to limit upload bandwidth. Technically no router can limit download bandwidth because if your connection is overloaded and the ISP has discard all your game traffic and sent all netflix traffic instead your router can do nothing to recreate the lost game traffic.

The key to a proper QoS setup is having the ability to reserve fixed amounts of bandwidth for your applications. If a game need 500kbps it HAS to have 500kbps all the time it can not be some average rate or will tolerate 495kps some times. This is why many of the simple to configure QoS things do not work well.

For upload it tends to be much simpler if the router has the feature. You reserve the amount of bandwidth you want to some fixed rate and that traffic is always given that.

On download you technically can't do it. All methods are trying to trick end application into requesting data at a slower rate. This works fine with something like a file download but does not work at all for a application that sends data a fairly fixed rate. Say you want to watch a video stream at 4k. This type of application will generally not slow down it must transfer data at some minimum rate. If you were to limit its traffic to a lower rate it would just not work well. In this case you are hoping the person watching just get mad and reduced the setting to say 2k.

There are a couple ways to try to limit download traffic but all in some way limit the unwanted traffic to a lower rate leaving bandwidth available for the "good" traffic. It all depends on your router.

Be careful way too many people think all QoS problems are bufferbloat. That generally is only true when the application overloading the connection is some form of download that tries to transfer at maximum rates like a file download. Things like web simple web browsing and viewing videos are not the primary cause.

Your problem may not be "fixable" with QoS. It really sounds like you just do not have enough bandwidth. All QoS does is enforce some form of agreement. If someone is downloading files that is pretty easy to limit. If 5 people want to watch netflix and there is only enough bandwidth for 4 people someone must agree to be blocked.

So step 1 is to look at the traffic and see if someone is "abusing" the connection and see if you can get a agreement they do not do that during certain times. If nobody is abusing the connection then you have a much bigger issue.

DD-WRT has very advanced QoS settings BUT from your description of your internet I suspect you have a DSL modem in your router. Because of issues of public domain licensing of the DSL device drivers there is no support of DD-WRT. People have compiled their own images and inserted the drivers themselves but this is far from a beginner project.
 
edge router X, ddwrt, openwrt, and ipfire have great qos for bufferbloat.
It doesn't need any advanced configuration to get gaming traffic low ping.
Shaping your upload is optional.
You can toggle it on/off when someone is gaming if you want. all QoS requires a limiter which reduces your bandwidth.
If your line is provisioned well you won't lose much bandwidth and leaving it on all the time will be fine.
ERX is $50, but it has no wifi. you will need to add a wireless AP. you can't plug anything into the router upstream or use it's wifi.
I think the r7000 can be flashed to ddwrt/openwrt. If you do this I don't think you can go back. read carefully on how to get the right firmware to flash. if you do the wrong one it can brick it.

There are many qdisc and companies may only try and support one so they can market "QoS". only fq_codel does a decent job for bufferbloat, because it was purpose built for it. fq_codel includes htb for advanced class based priorities. it's optional and not needed if your main goal is gaming latency.
Most of the other ones were built for moving large chunks of bandwidth around. A few of them are just really bad like PRIQ. any class based priority system is very difficult to setup. fq_codel+htb handles class base rules better than the older purpose built ones. all around it's the best QoS qdisc.

https://www.youtube.com/watch?v=o-g2P3R84dw

nearly 100% of all shaping is done via limiters or dynamic limiters. pretty much all implementations are stable/effective and use minimal cpu.
They are not traffic conserving, which is why i think qdisc based shaping is better for a home connection with smaller resources to split apart.
 
Solution