Introduction

This site will show you how to stop network lag at home when you share your internet with family, and tenants. The problem with shared internet is that your family may “hog” the Internet by uploading videos to YouTube, torrenting things, and downloading steam games. When they are doing this your internet lags.

You can’t play any online games because your ping would be too high. Your webex and zoom calls suffer terribly in quality. And if you’re a twitch streamer you may have random frame rate drops which is unacceptable for your viewers. Tutorial for twitch streamers with openwrt. You might have gotten used to this and believe it is normal. I’m here to tell you that it doesn’t have to be that way.

This problem you’re experiencing is called bufferbloat.

“Gaming Routers” don’t fix bufferbloat! Don’t get sucked into the marketing and waste your money buying them. If you see “QoS” in router marketing that doesn’t necessarily mean it will stop lag.

What you really need is Smart Queue Management (SQM) such as cake or fq_codel running in your router. It will guarantee low pings in games and clear video-conference calls, even when your shared Internet is overloaded by multiple users.

Cake and fq_codel are lesser known, bleeding edge, wonderful, and free technologies. Below, I’ve listed 9 methods below on how to use them. Each method has a link to their own page on this site.

Since cake and fq_codel are free technologies some of the methods don’t cost a dime if you are willing to flash your current router with compatible open source firmware such as OpenWrt, dd-wrt, gargoyle, and asuswrt-merlin.

9 Methods For Fixing Bufferbloat

Regarding the SQM Algorithms. fq_codel and cake are the best, try to use those if you can. sfq is decent but it’s not the best for killing bufferbloat.

1. StopLagging Routers (~$110): Starting with a shameless plug. The first option is to buy my routers pre-flashed with openWrt and SQM installed. This is about $110 and setup is very minimal. I did most of the difficult work already so it’s easy for you to set up.
Difficulty: Very Easy
SQM Algorithm: Cake (fq_codel also available)
Max Bandwidth: 250Mbps

2. OpenWrt Firmware: This option is for those who have routers with openWrt pre-installed or those who have flashed openWrt on their own routers which would bring the cost down to Free.
Difficulty: Easy (openWrt preinstalled). Hard (having to install openWrt)
SQM Algorithm: Cake (fq_codel also available)
Max Bandwidth: Depends on your hardware.

3. IQrouter V3 ($139): Doesn’t have it’s own page because I don’t own one. You can trust them because they are using cake and are listed at bufferbloat.net. IQRouter has minimum setup and automatically measures and optimize your network so you don’t have to adjust the Max Download / Upload.
Difficulty: Very Easy
SQM Algorithm: Cake
Max Bandwidth: ~300Mbps

4. GL.iNet Routers (OpenWrt Preloaded): GL-BL1300 ($80) and AR750S-EXT ($84) are a few examples that work with this.
Difficulty: Easy
SQM Algorithm: Cake (fq_codel also available)
Max Bandwidth: Depends on your hardware. BL1300 is a Quad-Core IPQ4028. While AR750S is a single core QCA9563, @775MHz. Pick the BL1300 if you’re using it at home. AR750S is more of a for travel product.

5. TM-AC1900 (~$40): A tedious method requiring two firmware flashes, but also most economical if you can get one for $40. Can support higher bandwidth’s with NAT Acceleration set on Auto.
Difficulty: Very Hard (2 Firmware Flashes)
SQM Algorithm: fq_codel
Max Bandwidth: ~430Mbps w/ NAT Acceleration On, otherwise ~280Mbps.

6. DD-WRT Firmware: For those that have their router flashed with dd-wrt firmware. Doesn’t cost anything if you have a dd-wrt compatible router.
Difficulty: Easy (ddwrt preinstalled). Hard (having to install ddwrt)
SQM Algorithm: fq_codel
Max Bandwidth: Depends on your hardware.

7. Ubiquiti ER-X + Ubiquiti UAP AC-Lite (~$130): For those that have Ubiquiti hardware or what to buy Ubiquiti hardware. I personally use an ER-X with openWrt (you can just use stock firmware to solve bufferbloat as well). I also attach a stock UAP AC-Lite to my router as well.
Difficulty: Medium
SQM Algorithm: fq_codel
Max Bandwidth: ~247Mbps

8. Tomato Firmware: For those that have tomato firmware on their routers. This firmware is better than nothing, but for a better gaming experience you’re better off using DD-Wrt or OpenWrt when you can.
Difficulty: Easy (Tomato preinstalled). Hard (having to install Tomato)
SQM Algorithm: SFQ
Max Bandwidth: Depends on your hardware.

9. MikroTik Routers: For those with MikroTik hardware. I would also recommend the methods using fq_codel and cake over this if it is possible.
Difficulty: Medium
SQM Algorithm: SFQ
Max Bandwidth: ~250Mbps

Note: 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 enabled because I never had connections faster than this myself. For starters you could try looking into https://www.reddit.com/r/openwrt/comments/f3a9sz/openwrt_router_for_gigabit_internet/. mvebu chip (Linksys WRT1900ACS) & ipq86xx chip (Netgear R7800) are more powerful than what I have suggested so far but I don’t have benchmarks to show you what the max speeds with SQM on are. If you want SQM on a gigabit connection well, you’re going to need to install openWrt x86 on a modern CPU with a benchmark rating of ~2200 or higher on cpubenchmark.net

Other Methods

A few more options can be explored from the websites quoted below:

https://www.bufferbloat.net/projects/bloat/wiki/What_can_I_do_about_Bufferbloat/

https://gettys.wordpress.com/2017/02/02/home-products-that-fixmitigate-bufferbloat/

How to test for bufferbloat problems?

Run a speedtest on http://www.dslreports.com/speedtest.

The test continually checks latency from start to finish (not just at the beginning, like most other speed tests). If the latency rises dramatically during the download or upload section, it indicates your connection has become less responsive when fully loaded. This is bufferbloat.

Source: http://www.dslreports.com/faq/17883

If your bufferbloat rating is below an “A” then you have a bufferbloat problem.

Example of Good Bufferbloat Rating

TL;DR You need SQM