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 algorithms 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?

I recommend testing with https://www.waveform.com/tools/bufferbloat

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

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 (~$100 for NanoPi… + about $150 for new AP and switch): This is probably one of the most cost efficient discoveries I’ve found. It’s a cute small 2-Ethernet port 6-core ARM 4GB RAM machine. Very big performance for the cost. You will need to pair this with a Access Point for WiFi (alternatively convert your old router into AP mode for WiFi) and add a switch if you need additional Ethernet ports. It runs FriendlyWrt off a MicroSD card.

View the full NanoPi R4S Setup Here: https://wiki.stoplagging.com/books/technical-guides/page/sqm-for-1-gbps-lines-with-openwrt

I only have one extra for sale if you need one in the USA (I charge $225 for the nanopi r4s with 4GB Ram, w/ 32GB microsd and power supply w/ regular shipping included). You would be saving more money directly buying from friendlyElec.com or aliexpress at the expense of longer lead times. However you can buy from me for speed and convenience. I’ll set up everything for you ahead of time.

Difficulty: Easy/Medium.
SQM Algorithm: fq_codel
Max Bandwidth: 800-850 Mbps (w/ fq_codel), 700-750 Mbps (w/ cake). My download without SQM was measured to be 920Mbps (1 Gbps plan from ISP)

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 cpubenchmark.net 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 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: They advertise up to 350Mbp but the according the real world speed is about 160 Mbps max (confirmed by 2 of my readers).

5. TM-AC1900 (~$40): A tedious method requiring two firmware flashes, 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. There is finally a tutorial available on how to do fq_codel on it! You will need to be on Router OS7 for this to work.
Difficulty: Medium
SQM Algorithm: fq_codel
Max Bandwidth: ~160 Mbps (Mikrotik Hex RB750Gr3)

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/

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

TL;DR You need SQM