Question Buying a new router

magzzy124

Prominent
Aug 11, 2019
134
4
585
0
Hello guys, bufferbloat on my network is truly unreal...
I have a stock router from internet provider that does not do that great of a job.
My internet speed is 4/0.5
I am looking to buy a router with sqm capability or sufficient qos that would hopefully fix my problem.
Any advice?
 
Why do you think you have bufferbloat.

Did you run some test on some site or do you have some way to know that really have buffer bloat.

Those sites that test will actually cause bufferbloat even on the very fastest internet connection.

So question 1,
Do you overload your internet connection. If the answer is no then you can not have bufferbloat. You do not have any issue that needs fixing and can ignore the rest.

If you are still here it means you are over utilizing your internet connection. Best solution is to buy more bandwidth.

Next what application is overloading the internet connection. Can you find a way to reduce the usage. Place limits say on the download rates.

SQM or any other form of QoS is a bandaid. It does not solve the problem it just hides it. It does not magically create more bandwidth it just make some applications slower which might break them. In most installs of things like SQM you actually have to limit you bandwidth artifcially even more to make it function correctly. This is related to how the software calculates the data rates and the problems with burst of data. The recommend value is 80% so you have a overloaded connection and you throw away another 20% to make this work. So some applications may work better but because of the limit others will work much worse.
 
Reactions: Krotow

magzzy124

Prominent
Aug 11, 2019
134
4
585
0
Why do you think you have bufferbloat.

Did you run some test on some site or do you have some way to know that really have buffer bloat.

Those sites that test will actually cause bufferbloat even on the very fastest internet connection.

So question 1,
Do you overload your internet connection. If the answer is no then you can not have bufferbloat. You do not have any issue that needs fixing and can ignore the rest.

If you are still here it means you are over utilizing your internet connection. Best solution is to buy more bandwidth.

Next what application is overloading the internet connection. Can you find a way to reduce the usage. Place limits say on the download rates.

SQM or any other form of QoS is a bandaid. It does not solve the problem it just hides it. It does not magically create more bandwidth it just make some applications slower which might break them. In most installs of things like SQM you actually have to limit you bandwidth artifcially even more to make it function correctly. This is related to how the software calculates the data rates and the problems with burst of data. The recommend value is 80% so you have a overloaded connection and you throw away another 20% to make this work. So some applications may work better but because of the limit others will work much worse.
Because of my low bandwith I always overload my connection... And even when my connection is not overloaded I experience ping spikes in the games I play...
My brother watches youtube videos mostly, and I found a way to limit the bandwith he uses, so I have enough bandwith for my games. But I still experience ping spikes.
And I heard that sqm or qos can solve this issue.
 
It is not magic. All QoS does is enforce limits. If you think you have already limited the youtube traffic it should be fine. QoS really isn't going to do anything different than enforce these limits.

So before you go any farther you need to see if it is not something else causing the ping spikes and not your network. Way to may people run some silly test see RED BAD and run around trying to fix something that is not the problem. If you have a method to prevent youtube overloading your internet your problem is not bufferbloat.

So here is the major problem with using SQM or mostly any form of QoS.

The first thing is you can't actually use QoS on your internet connection. The ISP has already sent the data and used up the bandwidth before your router gets control. There is nothing you can do to somehow get data that was discard or delayed and discard or delay something else. Everything you see trying to limit download rates is actually discarding data that was received and used up bandwidth and it hopes to trick the end machine into requesting less data. This does not work for all applications.

Next to use things like SQM you have to place a artificial limit on the link.

So lets say you have a 10mbps internet connection are maxing it out. You would place a limit of 8mbps on the link. So you actually make the problem even worse because you have 2 less mbps. So now maybe your game traffic runs ok but because you have drop the total bandwidth you have made the problem much worse for other users. Pretty much only a gamer thinks this is a fair solution. Someone who wants to watch HD netflix will disagree.

It all depends on who pays the bill for the internet. Someone is not going to get what they want/need when there is not enough internet bandwidth.

BUT be extremely careful, way to many gamers chanting SQM SQM SQM when their problem is not actually bufferbloat to begin with.
 

magzzy124

Prominent
Aug 11, 2019
134
4
585
0
It is not magic. All QoS does is enforce limits. If you think you have already limited the youtube traffic it should be fine. QoS really isn't going to do anything different than enforce these limits.

So before you go any farther you need to see if it is not something else causing the ping spikes and not your network. Way to may people run some silly test see RED BAD and run around trying to fix something that is not the problem. If you have a method to prevent youtube overloading your internet your problem is not bufferbloat.

So here is the major problem with using SQM or mostly any form of QoS.

The first thing is you can't actually use QoS on your internet connection. The ISP has already sent the data and used up the bandwidth before your router gets control. There is nothing you can do to somehow get data that was discard or delayed and discard or delay something else. Everything you see trying to limit download rates is actually discarding data that was received and used up bandwidth and it hopes to trick the end machine into requesting less data. This does not work for all applications.

Next to use things like SQM you have to place a artificial limit on the link.

So lets say you have a 10mbps internet connection are maxing it out. You would place a limit of 8mbps on the link. So you actually make the problem even worse because you have 2 less mbps. So now maybe your game traffic runs ok but because you have drop the total bandwidth you have made the problem much worse for other users. Pretty much only a gamer thinks this is a fair solution. Someone who wants to watch HD netflix will disagree.

It all depends on who pays the bill for the internet. Someone is not going to get what they want/need when there is not enough internet bandwidth.

BUT be extremely careful, way to many gamers chanting SQM SQM SQM when their problem is not actually bufferbloat to begin with.
So what can i do? I cannot buy more bandwith for certain reasons, and I am experiencing ping spikes in game... What is the solution here?
 
Ping spikes can be caused by a huge number of things. Your first step is to run actual ping commands to try to find them.

I hope you are not running on wifi because that will always cause them even on the best network.

Leave a ping command run your router IP, the first ISP router and to some common ip like 8.8.8.8

If you see spikes to your router it likely means it is some issue with your PC. Spikes to the first ISP router can be overload but you need to check your router to see how close to 100% utilization you really are during those times. If do not see ping spikes to 8.8.8.8 also this could be some issue with the game company network.

It is also not uncommon for a game to claim there is a network error and real ping commands to find nothing. This generally is some issue in the game code, many times it is video drivers or settings but it can be caused by lots of problems.
 

magzzy124

Prominent
Aug 11, 2019
134
4
585
0
Ping spikes can be caused by a huge number of things. Your first step is to run actual ping commands to try to find them.

I hope you are not running on wifi because that will always cause them even on the best network.

Leave a ping command run your router IP, the first ISP router and to some common ip like 8.8.8.8

If you see spikes to your router it likely means it is some issue with your PC. Spikes to the first ISP router can be overload but you need to check your router to see how close to 100% utilization you really are during those times. If do not see ping spikes to 8.8.8.8 also this could be some issue with the game company network.

It is also not uncommon for a game to claim there is a network error and real ping commands to find nothing. This generally is some issue in the game code, many times it is video drivers or settings but it can be caused by lots of problems.
I tried to ping 1.1.1.1 and 8.8.8.8 and there were spikes from about 50 ping to 100+, just like the experience in the game. Btw, that does not happen when nobody is using internet in my house. The real problem here is that I can not tell my family to not use internet while I play games. What should I do?
 
How much internet bandwidth do you currently have. Is there anyway to increase this or maybe get a second connection installed.

When you don't have a agreement on whose traffic is more important you can't really solve this problem. Using any form of QoS is just a technical implementation of some agreement. Doing it without full agreement is just going to cause bad feelings. What if someone else made your game even worse to make their traffic better without talking to you.

This is why having your own internet connection you pay for yourself is very nice. Since it is your money it is up to you who you share it with.
 

magzzy124

Prominent
Aug 11, 2019
134
4
585
0
How much internet bandwidth do you currently have. Is there anyway to increase this or maybe get a second connection installed.

When you don't have a agreement on whose traffic is more important you can't really solve this problem. Using any form of QoS is just a technical implementation of some agreement. Doing it without full agreement is just going to cause bad feelings. What if someone else made your game even worse to make their traffic better without talking to you.

This is why having your own internet connection you pay for yourself is very nice. Since it is your money it is up to you who you share it with.
Currently I have no way of increasing my internet bandwith or getting a second connection, and my internet speed is 3.4/0.5. I am not sure how much would qos or sqm affect youtube buffering, because thats basically the only thing my family does...(loading pictures or watching videos). Of course I would not want to make their experience trash... How much would I limit my bandwith if I use qos or sqm?
 
Pretty much impossible on that small a connection.

Your game will use 100% of the upload bandwidth for many games. Although other applications use very little upload they still need some to function. To guarantee your game works with no issue you would have to in effect completely block all other users from using any upload.

Even if you have more upload the way you must configure things like SQM you would have to limit your download rate so say 2mbps and then reserve bandwidth for your game so it would in effect leave maybe 1mbps for everyone else. You have to waste a lot of your bandwidth because of how the data rates are calculated and because things like SQM and any QoS are not really able to directly limit the rates they depend on the applications in the end devices to detect the data loss and adjust.

Things like SQM work best on a connection say 25-50mbps.

Your connection is so small that even if you were the only user you would have to be very careful about any other application you had running when you play games. Just simple web browsing will hurt it and if you run things like discord you use even more upload bandwidth.
 

gggplaya

Distinguished
I think QOS will help ALOT with lower speed connections. At the very least, it will throttle bandwidth to all users in a fair manner so every application gets some bandwidth, which will cause many applications like youtube or netflix to lower resolution. I've tested this, and FQ_CODEL and CAKE both work very well to applying bandwidth throttling. It especially helps with other users on the network that are streaming video because you set the limits to about 85-90% of your bandwidth. It throttles them down to lets say 90% of your bandwidth that you set, giving 10% of headroom for new traffic spikes in your game packets. Or if another user jumps on the network, that 10% headroom allows the algorithm time to throttle the other users on the network down without crippling the network.

The FQ_Codel and CAKE algorithms help a ton. I use cake at my house, and my network has been rock solid. For the friends with routers that support DDWRT or AsusMerlinOPENWRT, I've upgraded their routers and turn on FQ_CODEL for them. Their networks are excellent. I've done testing at their homes and the algorithms do live up to the hype. The worst internet connection in my area is 25mbps DSL, which a single coworker has. I put Merlin on their ASUS router and turned on FQ_CODEL. Doing a full bandwidth test with 2 HD streams and 2 gaming devices(laptop and console). I set his bandwidth for 20mbps because his network can sometimes dip to 21mbps during speed tests. We made sure the console was running a gaming library update while we gamed on the laptop. Everything ran smoothly no lag, except for when a new app is launched and streaming starts, but it quickly goes away. The network was fully saturated and the FQ_CODEL brought all usage down to 20mbps. When a new client jumps on the network, the algorithm works to throttle the other clients to make room for the new client, it's not instant but fairly quick. Once the video streams settle down, the network is lag free.

We turned QOS off and tried the factory QOS options. In either case, the video streams would buffer and the game console update speed would fluctuate alot. The gaming on the laptop was lag city. The bandwidth was a free for all with seemingly no rhyme or reason to who got however much bandwidth. It relied on youtube and netflix to lower resolution themselves before the network was usable but the video would still occasionally buffer. Gaming was still laggy.

I haven't used this algorithm at the super low speeds likes yours. But it seems that the minimum speed for FQ_CODEL to work is 2.4mbps due to the 5ms target duration. https://bloat.bufferbloat.narkive.com/xRDF2UQW/tuning-fq-codel-are-there-more-best-practices-for-slow-connections-1mbit With such a low connection, you'll still probably have lag, but at least with advanced QOS algorithms, you'll get the most out of what you do have, and lag will be reduced.

The problem is, these algorithms use alot of cpu power. Even the best ARM routers max out at about 300-400mbps running these algorithms. You have to switch to an x86 router if you have higher internet speeds. For the OP, I would get a router with a half decent CPU. If you can load DDWRT or OPENWRT on it, you can get all the latest algorithms such as CAKE. Asus Merlin has FQ_CODEL on it, which in itself works well too.
 
Last edited:

magzzy124

Prominent
Aug 11, 2019
134
4
585
0
I think QOS will help ALOT with lower speed connections. At the very least, it will throttle bandwidth to all users in a fair manner so every application gets some bandwidth, which will cause many applications like youtube or netflix to lower resolution. I've tested this, and FQ_CODEL and CAKE both work very well to applying bandwidth throttling. It especially helps with other users on the network that are streaming video because you set the limits to about 85-90% of your bandwidth. It throttles them down to lets say 90% of your bandwidth that you set, giving 10% of headroom for new traffic spikes in your game packets. Or if another user jumps on the network, that 10% headroom allows the algorithm time to throttle the other users on the network down without crippling the network.

The FQ_Codel and CAKE algorithms help a ton. I use cake at my house, and my network has been rock solid. For the friends with routers that support DDWRT or AsusMerlinOPENWRT, I've upgraded their routers and turn on FQ_CODEL for them. Their networks are excellent. I've done testing at their homes and the algorithms do live up to the hype. The worst internet connection in my area is 25mbps DSL, which a single coworker has. I put Merlin on their ASUS router and turned on FQ_CODEL. Doing a full bandwidth test with 2 HD streams and 2 gaming devices(laptop and console). I set his bandwidth for 20mbps because his network can sometimes dip to 21mbps during speed tests. We made sure the console was running a gaming library update while we gamed on the laptop. Everything ran smoothly no lag, except for when a new app is launched and streaming starts, but it quickly goes away. The network was fully saturated and the FQ_CODEL brought all usage down to 20mbps. When a new client jumps on the network, the algorithm works to throttle the other clients to make room for the new client, it's not instant but fairly quick. Once the video streams settle down, the network is lag free.

We turned QOS off and tried the factory QOS options. In either case, the video streams would buffer and the game console update speed would fluctuate alot. The gaming on the laptop was lag city. The bandwidth was a free for all with seemingly no rhyme or reason to who got however much bandwidth. It relied on youtube and netflix to lower resolution themselves before the network was usable but the video would still occasionally buffer. Gaming was still laggy.

I haven't used this algorithm at the super low speeds likes yours. But it seems that the minimum speed for FQ_CODEL to work is 2.4mbps due to the 5ms target duration. https://bloat.bufferbloat.narkive.com/xRDF2UQW/tuning-fq-codel-are-there-more-best-practices-for-slow-connections-1mbit With such a low connection, you'll still probably have lag, but at least with advanced QOS algorithms, you'll get the most out of what you do have, and lag will be reduced.

The problem is, these algorithms use alot of cpu power. Even the best ARM routers max out at about 300-400mbps running these algorithms. You have to switch to an x86 router if you have higher internet speeds. For the OP, I would get a router with a half decent CPU. If you can load DDWRT or OPENWRT on it, you can get all the latest algorithms such as CAKE. Asus Merlin has FQ_CODEL on it, which in itself works well too.
Thank you for this answer, I have actually learned a lot. Are there any budget oriented routers that I can use that support FQ_CODEL and CAKE, and what would you suggest?
 

gggplaya

Distinguished
Thank you for this answer, I have actually learned a lot. Are there any budget oriented routers that I can use that support FQ_CODEL and CAKE, and what would you suggest?
You'll have to buy used to stay under $50.

The Linksys WRT1200AC, Dlink DIR-859 and Tplink Archer C7 can both run the latest DDWRT. If you can score one on facebook marketplace or craigslist, you can get a netgear R6400, R6700 or R7000 for a decent price.

In all cases, you'll need to install DDRT or similar firmware to run these algorithms. Also, for your upload speed, you'll need to tune that to run the algorithm since the speed is so low. You may need to reduce the mtu or other settings.
 
You are going to still have massive issues no matter what router you try. You just do not have enough bandwidth. Your game wants to use 100% of the upload bandwidth. If you find a way to accomplish this you have in effect prevented anyone else from using the internet connection. Would be much simpler to just disconnect all the other devices than to try to mess with any software.

You have a huge problem I suspect when it comes to routers. With a connection that small I suspect you have a DSL connection. Problem is almost no router that has a DSL modem can run third party firmware. Merlin used to run on 1 asus dsl router but something has changed and I do not know the status. You could try to use the current router as a modem but that will add overhead and slightly reduce your already slow connection.
 

gggplaya

Distinguished
You are going to still have massive issues no matter what router you try. You just do not have enough bandwidth. Your game wants to use 100% of the upload bandwidth. If you find a way to accomplish this you have in effect prevented anyone else from using the internet connection. Would be much simpler to just disconnect all the other devices than to try to mess with any software.

You have a huge problem I suspect when it comes to routers. With a connection that small I suspect you have a DSL connection. Problem is almost no router that has a DSL modem can run third party firmware. Merlin used to run on 1 asus dsl router but something has changed and I do not know the status. You could try to use the current router as a modem but that will add overhead and slightly reduce your already slow connection.
Most games only use about 10-20 KB/s while gaming, which is about 80-160mbps. That's not much bandwidth to allocate to just his game. A single 1080p youtube video will saturate his download speed. So he need a QOS algorithm that's smart enough to properly throttle the youtube video and carve out enough bandwidth for the gaming client. That's what these modern QOS algorithms do. It'll keep each client consistently throttled to a certain bandwidth in a fair and even manner. I've tested that out and it works really well. Normal QOS systems don't do that, they generally look at packet types and try to prioritize packets. The bandwidth is still a free for all with this style of QOS and when bandwidth is saturated, it'll still be super laggy.

The OP likely doesn't have the funds or option to install higher than DSL connection, especially if the OP lives in a rural area. He'll need to sign up for Starlink and wait for email to come. Which is coming very shortly to much of the united states: https://www.starlink.com/ That also assume he has a household has the funds to pay $99/mo for internet. Many households don't. I grew up in a lower income single parent household myself, I fully understand not having that kind of money growing up.

They make plenty of DSL modems, that are just modems. Then you can attach your router to that. For now, many modem/router combos you get from your ISP will allow a "bridge mode" which allows it to act as just a modem.
 

magzzy124

Prominent
Aug 11, 2019
134
4
585
0
Most games only use about 10-20 KB/s while gaming, which is about 80-160mbps. That's not much bandwidth to allocate to just his game. A single 1080p youtube video will saturate his download speed. So he need a QOS algorithm that's smart enough to properly throttle the youtube video and carve out enough bandwidth for the gaming client. That's what these modern QOS algorithms do. It'll keep each client consistently throttled to a certain bandwidth in a fair and even manner. I've tested that out and it works really well. Normal QOS systems don't do that, they generally look at packet types and try to prioritize packets. The bandwidth is still a free for all with this style of QOS and when bandwidth is saturated, it'll still be super laggy.

The OP likely doesn't have the funds or option to install higher than DSL connection, especially if the OP lives in a rural area. He'll need to sign up for Starlink and wait for email to come. Which is coming very shortly to much of the united states: https://www.starlink.com/ That also assume he has a household has the funds to pay $99/mo for internet. Many households don't. I grew up in a lower income single parent household myself, I fully understand not having that kind of money growing up.

They make plenty of DSL modems, that are just modems. Then you can attach your router to that. For now, many modem/router combos you get from your ISP will allow a "bridge mode" which allows it to act as just a modem.
Would the newest version of openwrt work fine? I seem to find cheaper router options for it...
And once again thank you for your help!
 
You seem to want to rush into this. Third party firmware puts a lot of burden on the user.

First there are many images and you must get the correct one. The most obvious is you must get one for the router you are using but even then it is not that simple. Many routers have different hardware revisions. The tplink you mentioned has 7 or 8 different hardware revisions. Some times it is different cpu or ram or flash levels. You have to investigate which image files run on which of these hardware revisions. It is extremely important that you get it correct. If you attempt to load the wrong file you will brick your router. Most routers if you try hard enough you can get functional again but there are some that are destroyed which is why they call it bricking. Even on routers you can recover it is a painful thing.

Spend time on the forum for the third party firmware and try to find the guides. Finding a good guide you understand may actually help you choose which router over a router that has a poor guide.

In addition you are going to have to become a expert at things like fq-codel. Your uplink is so tiny it must be perfectly tuned. It will likely be a lot of trial and error.

Running a DSL modem seperate from your router will force you to run in PPPoE mode on the wan for most ISP. For most people this is a minor issue but you are losing 8 bytes out of every packet which actually is fairly significant. You also have to be very careful that you are not getting packet fragmentation.
 

magzzy124

Prominent
Aug 11, 2019
134
4
585
0
You seem to want to rush into this. Third party firmware puts a lot of burden on the user.

First there are many images and you must get the correct one. The most obvious is you must get one for the router you are using but even then it is not that simple. Many routers have different hardware revisions. The tplink you mentioned has 7 or 8 different hardware revisions. Some times it is different cpu or ram or flash levels. You have to investigate which image files run on which of these hardware revisions. It is extremely important that you get it correct. If you attempt to load the wrong file you will brick your router. Most routers if you try hard enough you can get functional again but there are some that are destroyed which is why they call it bricking. Even on routers you can recover it is a painful thing.

Spend time on the forum for the third party firmware and try to find the guides. Finding a good guide you understand may actually help you choose which router over a router that has a poor guide.

In addition you are going to have to become a expert at things like fq-codel. Your uplink is so tiny it must be perfectly tuned. It will likely be a lot of trial and error.

Running a DSL modem seperate from your router will force you to run in PPPoE mode on the wan for most ISP. For most people this is a minor issue but you are losing 8 bytes out of every packet which actually is fairly significant. You also have to be very careful that you are not getting packet fragmentation.
I am buying a used router that already has openwrt and the latest version of it... But I have to try something. These ping spikes are just unbearable. Even though this might not work, I have to give it a shot.
 

magzzy124

Prominent
Aug 11, 2019
134
4
585
0

gggplaya

Distinguished
Openwrt is fine, the problem is not all the repositories for SQM/QOS are installed by default. So even if you buy a router with the latest OpenWRT, you still need to install the repositories to get FQ_Codel/Cake. Also the UI for OpenWRT is more for advanced users.

DDWRT has FQ_CODEL/Cake in their latest release, and you can usually find the 11_3_2020 on most routers, even older ones.

The best routers to buy are probably the netgear Rxxx routers which can be found all over facebook marketplace for <$50. The install is very simple, just download both DDWRT files. Install the Factory Image File using the standard router firmware updater provided by netgear. Then clear the NVRAM using the DDWRT UI. Then install the latest DDWRT build for your router. You can check your router before purchasing, just type the model number in the search: https://dd-wrt.com/support/router-database/

The DDWRT UI is a little easier for noobs.
 

failboat

Distinguished
I did not even notice, thanks for pointing that out.
I'd recommend investing in a better router if you want to run cake. asus merlin has it now too apparently. someone else is saying ddwrt now too. I haven't looked the implementations but the openwrt one has the Linker Layer Adaptation tab where you can configure overhead for DSL which is going to give you better results if you get the right number in there.

I'd also recommend testing with no limit on up. With that speed it won't shape well but the down can be shaped. Any cloud syncs will destroy your ping, but you can play with it. Don't sacrifice much up to get a good bufferbloat score. test on dslreports. start at 4/0.5 and decrease until you get a good score. If your dsl connection isn't reliably 4/0.5 or close it's not shapable. In my old area before they upgraded to uverse they had all their DSL way oversubbed and there was nothing you could do. after they put in uverse they could only get me 6Mb and I'm sure they took some rural govt money for that "huge" improvement.
 

ASK THE COMMUNITY

TRENDING THREADS