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 Update Jan 2022: It appears the dslreports tool has gone downhill since then. I recommend testing with now

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

Example of Good Bufferbloat Rating

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. NanoPi R4S (~$85 for NanoPi… + about $110 for new AP and switch): I just recently got this on 2/8/2020 and this is probably one of the best discoveries I’ve found. It’s a cute small 2-Ethernet port 6-core ARM 1GB RAM machine. Very big performance for the cost. You will need to pair this with a Access Point for wireless and add a switch if you need additional Ethernet ports. It runs FriendlyWrt off a MicroSD card.

I have 800Mbps from my ISP and I can confirm SQM (fq_codel) works at these speeds with the NanoPi R4S. cake seems to top out around 350 mbps.

NanoPi R4S Setup Here:

I may have one extra for sale if you need one in the USA (I charge $200 for the nanopi r4s with 1GB Ram, w/ 32GB microsd and power supply w/ regular shipping included). You would be saving more money directly buying from friendlyElec aliexpress at the expense of longer lead times. Only buy from me if you need it fast in the US!

Difficulty: Easy/Medium.
SQM Algorithm: fq_codel
Max Bandwidth: Tested in real world at 600Mbps (~50% CPU). Potential to do 1000Mbps.

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 CPU. Most consumer routers can’t go past 500 Mbps when SQM is on.

3. X86 Desktop PC w/ OpenWrt: This another option besides the Nano Pi R4S, for those who need SQM that can handle 1000 Mbps speeds. As long as your CPU benchmark is above 3000 on it should be able to handle the Gigabit speeds with SQM on.
Difficulty: Medium (Install OpenWrt via USB drive)
SQM Algorithm: Cake (fq_codel also available)
Max Bandwidth: 1000Mbps+ with SQM on

4. 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: They advertise up to 350Mbps. But the according to some of my readers the real world speed is about 160 Mbps max.

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: ~250 Mbps with CTF

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: ~160 Mbps

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

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: ~160 Mbps

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