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

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

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

Methods For Fixing Bufferbloat

Regarding the SQM Algorithms. cake is the best so use that when possible. fq_codel is almost as good and uses about 15% less CPU than cake. CPU power determines the max bandwidth you can handle with SQM on so that’s why each method below has different values for max bandwidth.

Gigabit SQM Options

In order to do cake or fq_codel SQM on a Gigabit connection, you’ll need routers with more powerful CPUs. Typically a consumer router won’t be able to do it.

1. NanoPi R6S / R4SE (~$90-170 for NanoPis and about $130 for new AP and switch)

Difficulty: Easy/Medium.
SQM Algorithm: fq_codel / cake
Max Bandwidth: Up to 800Mbps w/ cake SQM for NanoPi R4SE (RK3399). Requires performance mod.
Max Bandwidth: 1400Mbps+ w/ cake SQM for NanoPi R6S (RK3588). Requires performance mod.

View the full NanoPi Setup Here:

2. X86 Desktop PC w/ OpenWrt: This another option besides the Nano Pi R6S, for those who need SQM that can handle 1000+ Mbps speeds. As long as your CPU benchmark is above 4000 on it should be able to handle the Gigabit speeds with SQM on.

Difficulty: Medium (Flash OpenWrt directly to SATA/NVMe SSD so it runs as the OS)
SQM Algorithm: Cake and fq_codel available
Max Bandwidth: Depends on CPU. Intel Alder Lake N100 CPU can do 1400Mbps+ for reference.

BeeLink EQ12 N100 Mini-PC – Max Bandwidth 1400Mbps+. As of 2024.01.06 I tested a N100 x86 Machine. My connection has a max DL of 1400 Mbps. I can confirm that it can do cake SQM at 1400Mbps with at most 40% CPU Usage on every single CPU core. It has potential to go higher than 1400 Mbps!

Full N100 Mini-PC Setup Guide:

If you don’t have the technical expertise and want to inquire about having me build you one feel free to contact me. Labor alone would be starting around $200.

Other SQM Options

3. Flashing OpenWrt Firmware on existing router: This option is for those who have routers with openWrt pre-installed or those who have flashed openWrt on their own routers bringing 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 the CPU. Most consumer routers can’t go past 300 Mbps when SQM is on. One exception I see recommend on the openwrt subreddit for 2023/2024 is the Dynalink DL-WRX36.

The WRX36 only costs $80 USD and can be flashed with OpenWrt. The Qualcomm 2.2 GHz Quad-Core IPQ8072A CPU it has seems promising for Gigabit SQM.

Update on WRX36 – It seems with the stock openWrt snapshot firmware the WRX36 can only do 375 Mbps. The best I could go after playing around with the cpu affinity was about 650 Mbps with cake SQM. If someone could do better I’d love to get your CPU-affinity adjustments. At this point I’m still convinced that x86 and NanoPi R6S are more powerful. But for $80 this all in one unit is great value for someone that doesn’t have a gigabit connection.

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 350Mbp but the real world speed with SQM on is about 160 Mbps max (confirmed by 2 of my readers). If you want to do 1000Mbps+ you’ll have to go with the IQRouter Pro not the V3.

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 (not the best, but better than nothing)
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:

TL;DR Why you need SQM