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.

How to test for bufferbloat problems?

Run a speedtest on

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

Example of Good Bufferbloat Rating

10 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: Up to 150Mbps with SQM on according to real life reports for the MT7621AT chip based routers… 300 Mbps guaranteed from benchmarks.

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 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): AR750S-EXT ($84) are a few examples that work with this. I don’t recommend the BL1300 anymore because the stock firmware is very outdated.
Difficulty: Easy
SQM Algorithm: Cake (fq_codel also available)
Max Bandwidth: The AR750S is a single core QCA9563, @775MHz. And is more of a travel product. Max bandwidth is probably around 100 Mbps.

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. X86 Desktop Computer – Seeed Studio Odyssey Board + re_computer case (~$230): The only reason you’d want to use an X86 is if you want SQM over a Gigabit Connection. I recommend the Seed Studio Odyssey because it is the most economical X86 computer with low power requirements and has two Gigabit Intel Ethernet ports built in! Alternatively you can use a desktop PC with 2 Ethernet ports. It does not come with more ports or Wifi so you need to have a gigabit witch (to expand # of ports) and an Access Point to the switch (for WiFi)
Difficulty: Medium (Install x86 version of OpenWrt via USB)
SQM Algorithm: Cake (fq_codel also available)
Max Bandwidth: Beyond 1000 Mbps (Intel Celeron J4105)! This is the only gigabit solution no consumer router can do this. Benchmarks here:

7. 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.

8. 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

9. 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.

10. 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 you will have to go with method #6. Only openWrt x86 on a modern CPU with a benchmark rating of ~2200 or higher on can handle 1000Mbps with SQM turned on.

Other Methods

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

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.


TL;DR You need SQM