Bufferbloat = Lag
This site will show you how to stop network lag at home caused by other people when you’re gaming. Specifically we’re talking about situations where either your mom, dad, tenants, or siblings hog all the bandwidth. It could be streaming videos, torrenting, downloading steam games, and other high bandwidth activities. This is the situation where the act of loading a simple website like Facebook or doing a google search takes forever. In these situations, you can’t play any online games because your ping would be too high. Unplugging everyone else’s internet except for yours would solve your ping problems but that isn’t ideal. The technical term for this problem is called bufferbloat.
“Gaming Routers” don’t fix bufferbloat! Don’t get sucked into the marketing and waste your money buying them.
QoS by itself doesn’t help bufferbloat much. Traditional QoS is also very complicated and troublesome to set up because rules for every single game, app, computer have to be defined.
On this website, I will show you several methods to combat this problem, some easier and some harder than others. The methods here will work even if you have a slow connection like 10Mbps.
I have faced years of frustration playing dota, league of legends, counter-strike and other net games with random lag spikes because of bufferbloat. That’s what motivated me to create this site. I have tried almost everything I could and eventually found a couple ways out. Enough about me though, you can find out more about that on the About Me page. Moving on…
How do you know if you have a bufferbloat problem?
- Open a cmd prompt and type in “-ping www.google.com -t” and press enter. This will give you a list of pings to google. It simulates video game pings
- Run a speedtest on http://www.dslreports.com/speedtest this can be done on the same computer or a different device. Alternatively you can use speedtest.net but dslreport’s test does a better job giving you the details about bufferbloat
- If your pings spike significantly on the cmd prompt, you have a bufferbloat problem. Otherwise, you can assume you don’t have issues with bufferbloat.
- If your bufferbloat rating on the speed test is an “A” then you already have this problem solved. This rating assumes the worst case scenario. So if you have a C, but your pings to google were fine you can ignore the grade.
How to fix bufferbloat? You need SQM (Smart Queue Management). Several methods…
Notes* All methods work best on wired connections. An exception to this is the IQRouter which also stops bufferbloat over WiFi
Buy an Ubiquiti EdgeRouter X + an access point of your choice (Ubiquiti UniFi UAP-AC-Lite works really well with it) (~$130)
- Then follow the video on YouTube around after 4 mins 11 seconds: https://www.youtube.com/watch?v=o-g2P3R84dw&t=4m11s
- The video basically explains how to turn on the SQM which stops bufferbloat.
- The EdgeRouter X is probably better than the hEx. The UI is much cleaner too and it works great with other Ubiquiti products.
- I will eventually write a guide myself on this method when I can get my hands on the EdgeRouter X
- This method is popular on https://www.reddit.com/r/HomeNetworking/
- For most people I believe this method is the best one listed here.
- Max Bandwidth (wired): ~250 Mbps with SQM turned on. (Source)
- SQM Algorithm: fq_CoDel
Buy a MikroTik hEX (RB750GR3) router and the Ubiquiti UniFi UAP-AC-Lite, if you don’t have a wireless access point. (~$130)
- How to turn on SQM: https://www.stoplagging.com/mikrotik-box-method/
- This was the original method that I first discovered until I found other ones.
- If you can’t afford the combo separately. The Mikrotik hAP (~$27) or Mikrotik hAp ac lite ($50) are router+access point boxes and you can turn on SQM the same way you would a MikroTik hEx. I don’t own one so I can’t really tell you how to do the the wireless setup portion of the setup.
- Max Bandwidth (wired): ~390 Mbps (Source: SmallNetBuilder)
- SQM Algorithm: SFQ
Buy a router pre-loaded with openWrt like the GL.inet AR750S-EXT or Linksys
- How to turn on SQM (GL.inet specific): https://www.stoplagging.com/gl-inet-openwrt-method/
- Probably one of the easier methods because you don’t need to flash any firmware.
- SQM Algorithm: fq_CoDel or cake
Buy a TM-AC1900 and flash it with Asuswrt-Merlin
- Only costs $40 on sale! Probably the most cost-effective solution
- It’s difficult, but worth it if you think you can handle the instructions.
- How to flash and turn on SQM: https://www.stoplagging.com/tm-ac1900-method/
- Max Bandwidth (wired): ~ 430 with CTF on. ~280 Mbps with CTF Off. (Source: Benchmarks)
- SQM Algorithm: fq_CoDel
Flash your old router with openWrt firmware.
- This only works if your router is supported by openWrt. A list of supported routers and their openWrt versions are listed here.
- The flashing your old router methods are for enthusiasts. It’s much more difficult to do, but could save you money from not having to buy any additional hardware.
- The performance may or may not be great depending on your old router’s specs like CPU, RAM, and available flash memory.
- Since this old router is probably a consumer router it may not be as reliable as an enterprise one like the Ubiquiti combo.
- If your router has ath9k/ath10k wifi chips then it will automatically stop bufferbloat over WiFi
- How to turn on SQM after flashing: https://wiki.openwrt.org/doc/howto/sqm
- SQM Algorithm: Cake or fq_CoDel
Flash your old router with DD-WRT
Flash your old router with tomato Firmware.
- For routers that aren’t compatible with openWrt or DD-WRT you might be able to flash tomato.
- In my website I used “Advanced Tomato” firmware as an example
- How to turn on SQM: https://www.stoplagging.com/tomato-method/
- SQM Algorithm: SFQ
Buy the IQrouter ($146)
- This is the easiest way of the and also the quickest to set up.
- There’s no need to calibrate the SQM because their router dynamically does this.
- The only method on this page that stops bufferbloat over WiFi.
- SQM Algorithm: fq_CoDel + Airtime EQ
Build your own router with computer parts and install pfSense on it
- This method is also on the difficult side. It requires you to use a desktop computer with at least 2 ethernet ports on it.
- If you want to go this route my guide for that is written here: https://www.stoplagging.com/pfsense-method/
- It also helps if the computer you choose to build the router doesn’t consume a lot of power.
- Would not recommend this method, but it works.
There’s too many choices what should I choose?
1) If you have limited knowledge and time to learn about routers and want an easy set up like a consumer router… the IQ Router(~$146) is for you. It has an added bonus of stopping bufferbloat over WiFi.
2) If you’re on a tight budget, and can handle flashing custom firmware, the TM-AC1900 method will do (~$45).
3) If you have some experience setting up a couple routers and are willing the handle the learning curve, as a one size fits all I highly recommend the EdgeRouter X (ER-X) + Access Point as a long-term solution. Alternatively, you can do the Mikrotik hEX + Ubiquiti Access Point. But, I’d still recommend the ER-X because fq_codel is better than SFQ.
I recommend these because they are close to enterprise grade routers. You’ll never have to restart these routers like you would with consumer routers. They also don’t consume a lot of power and are extremely robust.
As for the access point the Unifi UAP-AC-Lite is also very stable and reliable, it is an almost an enterprise grade access point at a really good price.
4) If you can’t afford to buy anything but have an older router that is supported by DD-WRT, AsusWrt, openWRT, or Tomato firmware try that first. there is a small risk of bricking your router if you do something wrong. Not recommended for beginners.
5) If you have a connection faster than 400 Mbps… I don’t have a suggestion for a router that could support higher than 400 Mbps with SQM on.
Which SQM algorithm is best?
Cake is the best one at reducing buffer bloat but isn’t that good on low-end hardware because it uses more system resources than fq_codel
fq_codel is the gold standard. It’s almost as good as cake and works well on most devices. Uses less system resources than cake and is better than SFQ.
sfq is decent compared to fq_codel. But having sfq is still significantly better than nothing. Under heavy load ping spikes are about 0-20 ms more than usual. Way better than having 100ms to 999ms+ ping spikes. It is significant enough to stop lagging in games and can get you an “A” bufferbloat rating.
Are there other methods?
A few more options can be explored from the websites quoted below:
Overall, I hope you find this information useful and life changing. I made this page in hopes getting this page more popular and solve people’s network problems when other computers hog the bandwidth. Below is a picture of how the stoplagging setup would look like if you went with the Mikrotik, Edgerouter X, or pfSense route. Hopefully in the far future all router manufacturers will include good Smart Queue Management algorithms on their routers like cake and fq_codel. Then you wouldn’t have to go thru this and this website wouldn’t be needed.