Openwrt Router Firmware

xiaofan

High Supremacy Member
Joined
Sep 16, 2018
Messages
32,818
Reaction score
10,277
imho... all these test are quite meaningless
they are all pre build.. and OLD... if not straight out ancient in openwrt speak
if you wanted old openwrt that are 2 years old.. might as well stick to vendor firmware
my suggestion.. stick to the latest snapshots.. clone out the official repo and build your own builds. customize until you song! this is where openwrt's value lies and where the learning can happen
for qualcomm and mtk chipset.. follow their network hardware offload developments as well

for ipq8074 based builds with 6.6.30 kernel with nss offload.. for kicks
1) sqm at 900mbps+ both upload and download
2) 80MHz wifi ax.. 850mbps+ upload, 900mbps+ download.. and this is on really conservative apple hardware

bufferbloat has never been an issue with or without sqm for openwrt... if the firmware developer knows what he/she is doing

there seems to be strong interest and development momentum on filogic 880
so serious considering getting BPI-R4 to play around

Nice. It is great that you are into building your own OpenWRT firmware.

I guess I can do that as well but I already lost the interests in building Linux kernels or similar things back in 2005 when I started to use Linux seriously (was playing with Linux back in 1998-2002). But I did build FreeBSD kernel + user land for a while before 2010. Now I just use the stock build with OpenWRT or the two Raspberry Pi 400 boards. My older Orange Pi boards are collecting dust. So I probably will not get any thing from Banana Pi.

Now I only build small open source projects which I am involved in -- usually under Linux/Windows/macOS and some times FreeBSD/OpenBSD/NetBSD.

I think MediaTek Filogic 880 will be interesting. Let's see if the vendors coming out cost effective Filogic 880 routers with good OpenWRT support in the future.
 

GlassDoor

Member
Joined
Mar 29, 2021
Messages
462
Reaction score
813
again... i am beating the dead horse here..
to get maximum benefits... you need to build your own openwrt firmwares.
compiling is only one part of it. you can decide what you want to include, what you don't want to include, what optimisation... bla bla bla...
if not your experience with openwrt will be skewed towards which ever openwrt frankenstein people cook up and offer to the publc
 

xiaofan

High Supremacy Member
Joined
Sep 16, 2018
Messages
32,818
Reaction score
10,277
Did you manage to spot the problem?

If you are worried about the CPU temperature, add a USB fan.

This is just an experiment for me so I do not worry about the CPU temperature at all.

I do not recommend to buy this H3C NX30 Pro myself -- the workman ship is not very good as per the Youtube video mentioned earlier. The video says Xiaomi WR30U has better workmanship.


BTW, in general I do not recommend buying routers with 256MB RAM either. But I tend to think they are okay as AP.
 
Last edited:

zhanhuju

Member
Joined
Dec 30, 2022
Messages
467
Reaction score
481
If you are worried about the CPU temperature, add a USB fan.

This is just an experiment for me so I do not bother.
If you manage to open up the router you will know it has no heatsinks or aluminium cover against interference
The heatsink is on the underside of the PCB board not on top of the SOC
You can also try to port the calibration rom from the factory board
 

xiaofan

High Supremacy Member
Joined
Sep 16, 2018
Messages
32,818
Reaction score
10,277
@BradenHeat

How is your BBR experiment?

Interestingly I see BBR settings in the H3C NX30 Pro FW which uses MTK vendor driver and not Open Source driver. No idea how to test the effectiveness of BBR though.

eqfgkDb.png
 

BradenHeat

Supremacy Member
Joined
Apr 4, 2005
Messages
7,360
Reaction score
1,637
@BradenHeat

How is your BBR experiment?

Interestingly I see BBR settings in the H3C NX30 Pro FW which uses MTK vendor driver and not Open Source driver. No idea how to test the effectiveness of BBR though.

eqfgkDb.png



lol cannot do the BBR sia,

the stuff DID install via gl-inet's GUI interface, but couldnt get the Congestion control to install


And oh boy, almost nothing on the forums either openwrt or gl-inet pointing to using BBR as Congestion control



P.s i attempted to do the raw openwrt, which was being beta testing, the interface....... lets just say i would pay more to have gl-Inet's more stream line interface and ease of use .



as for BBR usage,


via Terminal / ssh, once in, you need to sudo -s first

then followed by




Code:
sudo sysctl -w net.ipv4.tcp_ecn=1;
ip route | while read p; do ip route change $p initcwnd 20 initrwnd 20; done;
sysctl -w net.ipv4.tcp_slow_start_after_idle=0;
sysctl -w net.core.default_qdisc=fq_codel;
sysctl -w net.ipv4.tcp_congestion_control=bbr;
 

BradenHeat

Supremacy Member
Joined
Apr 4, 2005
Messages
7,360
Reaction score
1,637
ImmortalWrt mt798x project -- now I see why they want to customize OpenWRT
https://cmi.hanwckf.top/p/immortalwrt-mt798x/
https://github.com/hanwckf/immortalwrt-mt798x

Note: I do not recommend buying routers with 256MB RAM in general even though I tend to think they may be okay to be used as an AP. Lower cost models may not have good workmanship (eg: H3C Magic NX30 Pro). And it is better to avoid those very low cost models with no brand.

If you want to play safe, the GL.iNet models are safer bet but of course they cost higher. Xiaomi AX3000T (more useful as an AP) and Redmi AX6000 should be safer bet in terms of HW quality. But then the flashing of OpenWRT can be a bit tricky for Xiaomi models.

路由器型号CPURAMFLASH有线规格无线规格USB
360 T7/T7U/T7MMT7981256M128M SPI-NAND4*1GAX3000×
ZR3020MT7981256M128M SPI-NAND4*1GAX3000×
Cetron CT3003MT7981256M128M SPI-NAND4*1GAX3000×
JCG Q30 PROMT7981256M128M SPI-NAND4*1GAX3000×
GL.iNet GL-MT3000MT7981512M256M SPI-NAND1G(WAN)+2.5G(LAN)AX3000
GL.iNet GL-MT2500MT79811G8G EMMC1G(WAN)+2.5G(LAN)×
康佳 KOMI-A31MT7981256M128M SPI-NAND4*1GAX3000×
小米 WR30U/T/MMT7981256M128M SPI-NAND4*1GAX3000×
乐橙 LC-HX3001MT7981256M128M SPI-NAND4*1GAX3000×
H3C NX30 ProMT7981256M128M SPI-NAND4*1GAX3000×
CMCC RAX3000MMT7981512M128M SPI-NAND4*1GAX3000
CMCC RAX3000M 算力版MT7981512M64G EMMC4*1GAX3000
CMCC A10MT7981256M128M SPI-NAND4*1GAX3000×
安博通 ABT ASR3000MT7981256M128M SPI-NAND4*1GAX3000×
创联腾 CLT-R30B1MT7981256M128M SPI-NAND4*1GAX3000×
小米 AX3000TMT7981256M128M SPI-NAND4*1GAX3000×
TP-LINK XDR6086MT7986512M128M SPI-NAND1G+2*2.5GAX6000
TP-LINK XDR6088MT7986512M128M SPI-NAND4*1G+2*2.5GAX6000
Banana Pi BPI-R3 MiniMT79862G128M SPI-NAND + 8G EMMC2*2.5GAX4200
磊科 N60MT7986256M128M SPI-NAND4*1G+2.5GAX6000×
GL.iNet GL-MT6000MT79861G8G EMMC4*1G+2*2.5GAX6000
红米 AX6000MT7986512M128M SPI-NAND4*1GAX6000×
锐捷 RG-X60 PROMT7986512M128M SPI-NAND4*1G+2.5GAX6000×



honestly, just Gl-Inet for anyone wanting openwrt like settings,


the way openwrt is being deployed and the learning curve is really not worth the time.
 

xiaofan

High Supremacy Member
Joined
Sep 16, 2018
Messages
32,818
Reaction score
10,277
honestly, just Gl-Inet for anyone wanting openwrt like settings,

the way openwrt is being deployed and the learning curve is really not worth the time.

Haha, many users of OpenWRT will not agree with you.

For myself, only x86_64 OpenWRT without wireless, then a good AP which does not need to run OpenWRT at all. Basically I do not really care much about OpenWRT on wireless router myself even though I play with them occassionally.
 

BradenHeat

Supremacy Member
Joined
Apr 4, 2005
Messages
7,360
Reaction score
1,637
Haha, many users of OpenWRT will not agree with you.

For myself, only x86_64 OpenWRT without wireless, then a good AP which does not need to run OpenWRT at all. Basically I do not really care much about OpenWRT on wireless router myself even though I play with them occassionally.


not to knock on [ those who love tinkering ] ,

Openwrt, isnt as rombus as many peck it to be, as the interface is obnoxiously all over the place


e.g its like my current macbook interface, why the heck or anyone in apple thought its a good idea to not just do a semi-hard coded switch off button, to actually power down the wifi module ? and the way it tries to do it [ over engineered and overly simplified ] just having the opposite of what its trying to do.


and windows 11 fair no better.....

the only saving grace for both platforms, in my examples, are the great search indexed.


thats how, when i over wrote, the openwrt, raw test into slate-ax, leaving a very bad taste.
One could argue, that i wasnt fair in giving enough test time, sure.... but if i have to HUNT down EVERY settings, instead of expanding out from a overall main title, it means its poor GUI.


just my rant la..... its funny how folks, smear gl-inet and give them hell, when those, in the openwrt cant even get their Wireless fixed for some of the devices, unless its strict vanilla and tightly integrated WITH the openwrt source code in mind, which no one will be doing it for free...


For now,

Home Fiber ISP --> Gl-Inet [ for the adblock ] /disabled wireless 5ghz] --> Ubiquity Cloud Gateway Ultra --> Cheap wifi 6 AP or EVEN another gl-inet AP


P.s you might wana do Hybla instead if you can install

so far nothing bad to say, overall on the underlying opensource [ gl-inet ] wrt ,
 

xiaofan

High Supremacy Member
Joined
Sep 16, 2018
Messages
32,818
Reaction score
10,277
Hmmm.... what was the client's signal str (dBm) during these tests?

About -50dBm.

The following is with latest ImmortalWrt snapshot (Open source driver). The reason to use ImmortalWrt is that I flashed an uboot booloader which does not seem to be compatible with official OpenWRT images. Anyway, ImmortalWrt is quite close to official OpenWRT. Maybe I will flash the OpenWRT uboot later.

Bash:
root@ImmortalWrt:~# ubus call system board | grep 'model\|description'
        "model": "H3C Magic NX30 Pro (NMBM layout)",
                "description": "ImmortalWrt 23.05-SNAPSHOT r27694-e540dc745a"
root@ImmortalWrt:~# iw list | grep 'Wiphy\|TXQS\|AIRTIME_FAIRNESS\|AQL'
Wiphy phy1
                * [ TXQS ]: FQ-CoDel-enabled intermediate TXQs
                * [ AIRTIME_FAIRNESS ]: airtime fairness scheduling
                * [ AQL ]: Airtime Queue Limits (AQL)
Wiphy phy0
                * [ TXQS ]: FQ-CoDel-enabled intermediate TXQs
                * [ AIRTIME_FAIRNESS ]: airtime fairness scheduling
                * [ AQL ]: Airtime Queue Limits (AQL)
root@ImmortalWrt:~# iwinfo | grep 'Hardware:\|PHY name'
          Hardware: embedded [MediaTek MT7981]
          Supports VAPs: yes  PHY name: phy1
root@ImmortalWrt:~# cat /sys/kernel/debug/ieee80211/phy1/aql_txq_limit
AC      AQL limit low   AQL limit high
VO      5000            12000
VI      5000            12000
BE      5000            12000
BK      5000            12000

Note: Phy0 is not enabled (2.4GHz WiFi).

OpenWRT virtual router (no sqm) -- H3C NX30 Pro in router mode (Double NAT), CH36, 80MHz channel bandwidth -- wireless -- Acer Windows 11 laptop (2021 model) with Intel AX201 WiFi 6 adapter

NX30 Pro SQM testing (disable SW/HW offloading) using fq_codel.

Bash:
root@ImmortalWrt:~# cat /etc/config/sqm

config queue 'eth1'
        option enabled '1'
        option interface 'eth1'
        option download '200000'
        option upload '200000'
        option qdisc 'fq_codel'
        option script 'simple.qos'
        option linklayer 'ethernet'
        option debug_logging '0'
        option verbosity '5'
        option overhead '44'

NX30 Pro SQM disabled: F
https://www.waveform.com/tools/bufferbloat?test-id=94998340-ab10-4a56-8cdb-6814bc27fd69

NX30 Pro SQM enabled, 500Mbps/500Mbps limit: F
https://www.waveform.com/tools/bufferbloat?test-id=40662b9a-2f34-4148-a76f-85d196894fe8

NX30 Pro SQM enabled, 500Mbps/200Mbps limit:B
https://www.waveform.com/tools/bufferbloat?test-id=1de7f78e-2d3d-4ace-9fc2-30d5b220b0bb

NX30 Pro SQM enabled, 300Mbps/200Mbps limit:B
https://www.waveform.com/tools/bufferbloat?test-id=f2f57459-b07e-4930-801b-31d471504a10

NX30 Pro SQM enabled, 200Mbps/200Mbps limit:B
https://www.waveform.com/tools/bufferbloat?test-id=67efc972-43a4-4f86-8151-56202380678a

I tested OOkla Speedtest CLI to make sure the SQM rules work fine.
Bash:
root@ImmortalWrt:~# ./speedtest

   Speedtest by Ookla

      Server: Singtel - Singapore (id: 13623)
         ISP: Singtel Fibre
Idle Latency:     1.41 ms   (jitter: 0.07ms, low: 1.30ms, high: 1.48ms)
    Download:   928.09 Mbps (data used: 430.9 MB)
                  3.04 ms   (jitter: 0.56ms, low: 1.64ms, high: 6.88ms)
      Upload:   938.09 Mbps (data used: 1.1 GB)
                  4.57 ms   (jitter: 0.70ms, low: 2.51ms, high: 24.14ms)
 Packet Loss:     0.0%
  Result URL: https://www.speedtest.net/result/c/6c81d895-e5b2-4cf5-917f-fde47381f095

root@ImmortalWrt:~# ./speedtest

   Speedtest by Ookla

      Server: Singtel - Singapore (id: 13623)
         ISP: Singtel Fibre
Idle Latency:     1.46 ms   (jitter: 0.06ms, low: 1.36ms, high: 1.59ms)
    Download:   492.46 Mbps (data used: 222.6 MB)
                  1.55 ms   (jitter: 0.20ms, low: 1.16ms, high: 2.07ms)
      Upload:   496.52 Mbps (data used: 552.6 MB)
                  1.65 ms   (jitter: 0.42ms, low: 1.19ms, high: 19.92ms)
 Packet Loss:     0.0%
  Result URL: https://www.speedtest.net/result/c/52989736-5aa1-4b85-bc6b-227054520367

root@ImmortalWrt:~# ./speedtest

   Speedtest by Ookla

      Server: Singtel - Singapore (id: 13623)
         ISP: Singtel Fibre
Idle Latency:     1.48 ms   (jitter: 0.14ms, low: 1.35ms, high: 1.54ms)
    Download:   493.31 Mbps (data used: 222.8 MB)
                  1.81 ms   (jitter: 0.20ms, low: 1.48ms, high: 2.16ms)
      Upload:   196.49 Mbps (data used: 181.0 MB)
                  1.94 ms   (jitter: 0.42ms, low: 1.50ms, high: 22.36ms)
 Packet Loss:     0.0%
  Result URL: https://www.speedtest.net/result/c/0bd0cac5-6815-4b02-b33a-acdb25a896d5

root@ImmortalWrt:~# ./speedtest

   Speedtest by Ookla

      Server: Singtel - Singapore (id: 13623)
         ISP: Singtel Fibre
Idle Latency:     1.33 ms   (jitter: 0.18ms, low: 1.20ms, high: 1.67ms)
    Download:   294.78 Mbps (data used: 132.9 MB)
                  1.50 ms   (jitter: 0.24ms, low: 1.14ms, high: 2.41ms)
      Upload:   196.71 Mbps (data used: 181.1 MB)
                  1.57 ms   (jitter: 0.44ms, low: 1.18ms, high: 22.12ms)
 Packet Loss:     0.0%
  Result URL: https://www.speedtest.net/result/c/4e98a232-c89e-43ef-8d18-d2ada24d0898

root@ImmortalWrt:~# ./speedtest

   Speedtest by Ookla

      Server: Singtel - Singapore (id: 13623)
         ISP: Singtel Fibre
Idle Latency:     1.45 ms   (jitter: 0.18ms, low: 1.30ms, high: 1.57ms)
    Download:   194.50 Mbps (data used: 87.8 MB)
                  1.95 ms   (jitter: 0.29ms, low: 1.49ms, high: 6.39ms)
      Upload:   196.64 Mbps (data used: 178.8 MB)
                  1.82 ms   (jitter: 0.42ms, low: 1.36ms, high: 21.99ms)
 Packet Loss:     0.0%
  Result URL: https://www.speedtest.net/result/c/7a6bbb29-c991-44a0-bb59-52e52c837e00
 
Last edited:

xiaofan

High Supremacy Member
Joined
Sep 16, 2018
Messages
32,818
Reaction score
10,277
The results get better when aql_txq_limit is reduced to 5000.

Bash:
root@ImmortalWrt:~# cat /sys/kernel/debug/ieee80211/phy1/aql_txq_limit
AC      AQL limit low   AQL limit high
VO      5000            5000
VI      5000            5000
BE      5000            5000
BK      5000            5000
root@ImmortalWrt:~# cat /sys/kernel/debug/ieee80211/phy0/aql_txq_limit
AC      AQL limit low   AQL limit high
VO      5000            5000
VI      5000            5000
BE      5000            5000
BK      5000            5000

NX30 Pro SQM testing (disable SW/HW offloading) using fq_codel.

NX30 Pro SQM disabled: D
https://www.waveform.com/tools/bufferbloat?test-id=10a286fd-72b9-41b3-abf0-e5cf6d8cec62

NX30 Pro SQM enabled, 500Mbps/500Mbps limit: C
https://www.waveform.com/tools/bufferbloat?test-id=c85aaff0-0401-4ad1-820d-60d218508255

NX30 Pro SQM enabled, 500Mbps/200Mbps limit: A
https://www.waveform.com/tools/bufferbloat?test-id=e26213b9-55b3-4300-9dc2-f1edc6f375cf

NX30 Pro SQM enabled, 300Mbps/200Mbps limit: A
https://www.waveform.com/tools/bufferbloat?test-id=4e3de65d-a77b-4c50-ac27-333b9fd6db03

NX30 Pro SQM enabled, 200Mbps/200Mbps limit: A
https://www.waveform.com/tools/bufferbloat?test-id=8d80dbd7-925b-465e-bf83-fa8e20919929
 
Last edited:

xiaofan

High Supremacy Member
Joined
Sep 16, 2018
Messages
32,818
Reaction score
10,277
Without SW/HW offload, NAT wired speed will be dropped a bit.

22bb86d0-daab-4251-b0ba-8d7ed03ab1a1.png


When SW/HW offload is turned on, then the wired speed is normal.

c023b5dc-768e-44e8-acd1-d5eb735fc238.png


Wireless speed of the Open Source driver is still slow though.

54dacff2-3fc0-45b5-8617-f70050292be4.png


0c832d2a-694f-4eb7-8527-fe15caa1f734.png


We can also see that upload latency can shoot to some high values using OOkla SpeedTest CLI, not as bad as Waveform.com bufferbloat test though.

Bash:
PS C:\work\speedtest\ookla-speedtest-1.2.0-win64> .\speedtest.exe -s 13623

   Speedtest by Ookla

      Server: Singtel - Singapore (id: 13623)
         ISP: Singtel Fibre
Idle Latency:     2.90 ms   (jitter: 0.64ms, low: 2.58ms, high: 4.25ms)
    Download:   426.12 Mbps (data used: 344.0 MB)
                 11.69 ms   (jitter: 6.16ms, low: 2.90ms, high: 45.82ms)
      Upload:   344.02 Mbps (data used: 513.0 MB)
                 65.10 ms   (jitter: 19.88ms, low: 13.56ms, high: 289.20ms)
 Packet Loss:     0.0%
  Result URL: https://www.speedtest.net/result/c/a2c440e0-5ede-4df9-b315-908b80925450

PS C:\work\speedtest\ookla-speedtest-1.2.0-win64> .\speedtest.exe -s 13623

   Speedtest by Ookla

      Server: Singtel - Singapore (id: 13623)
         ISP: Singtel Fibre
Idle Latency:     3.24 ms   (jitter: 1.71ms, low: 2.59ms, high: 5.24ms)
    Download:   466.64 Mbps (data used: 411.0 MB)
                 11.36 ms   (jitter: 5.70ms, low: 2.66ms, high: 41.30ms)
      Upload:   386.54 Mbps (data used: 681.8 MB)
                 56.67 ms   (jitter: 17.27ms, low: 6.08ms, high: 190.44ms)
 Packet Loss:     0.0%
  Result URL: https://www.speedtest.net/result/c/fd3ffa79-f557-49f0-9c3a-6bb20c67403f
 
Last edited:

xiaofan

High Supremacy Member
Joined
Sep 16, 2018
Messages
32,818
Reaction score
10,277
@hwzlite

Since Xiaomi AX3000T is using similar chipset and 256MB RAM, I wonder if you can carry out similar test in router mode (not AP mode, Double NAT) and then disable the SQM on the upstream OpenWRT router, to see if you get much better results or not: OOkla wireless SpeedTest CLI and Waveform.com bufferbloat test.

To reduce the testing efforts, you can just test with a good signal position (around -50dBm) and without SQM on your Xiaomi AX3000T. You can reduce the aql_txq_limit to 5000. So just two reults, one from OOkla SpeedTest CLI, one from Waveform.com bufferbloat test. You can use whatever wireless adapter you prefer. It would be good that you run under Windows if possible. If not, just go ahead with Linux.

I expect your Waveform.com bufferbloat test result to be better since M1 has better routing to Waveform.com test servers. I am not so sure about the OOkla SpeedTest CLI results.
 

hwzlite

Master Member
Joined
Jan 27, 2007
Messages
3,060
Reaction score
3,201
Since Xiaomi AX3000T is using similar chipset and 256MB RAM, I wonder if you can carry out similar test in router mode.....

Guess not as it's in production mode serving my trigger-happy "c-suite-family" 😅
 

sgcarousell

Member
Joined
Feb 17, 2017
Messages
446
Reaction score
237
again... i am beating the dead horse here..
to get maximum benefits... you need to build your own openwrt firmwares.
compiling is only one part of it. you can decide what you want to include, what you don't want to include, what optimisation... bla bla bla...
if not your experience with openwrt will be skewed towards which ever openwrt frankenstein people cook up and offer to the publc
Any good resources site to recommend for step by step OpenWrt building for noobs?
 

xiaofan

High Supremacy Member
Joined
Sep 16, 2018
Messages
32,818
Reaction score
10,277
Any good resources site to recommend for step by step OpenWrt building for noobs?

You may want to start with main line OpenWRT. It is not difficult you have some basic knowledge of Linux. You may want to use Ubuntu 20.04 or 22.04. Ubuntu 24.04 has Python 3.12 which removed python3-distutils and that will not work with older version of OpenWRT (but should be fine with OpenWRT git since April 2024). In order to speed up the build, it will be good to have a relatively fast machine.
https://github.com/openwrt/openwrt?tab=readme-ov-file#development
https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem

Then you need to see which router you want to go and why you need to deviate from main line. If there is a good reason, then you may want to follow the threads in OpenWRT forum.

Example 1: @GlassDoor mentioned Qualcomm NSS build for Qualcomm IPQ807x (Xiaomi AX3600, Xiaomi AX9000, QNAP QHora-301W, Dynalink DL-WRX36, etc) which utilize the capability of Qualcomm Networking Subsystem (NSS) co-processors.
https://forum.openwrt.org/t/qualcommax-nss-build/148529/2668?page=2

Example 2: I mentioned this earlier for MT798x (Filogic 820/830, good ones use Filogic 830 like Asus TUF-AX6000, GL.iNet MT6000, Redmi AX6000, etc). Some people may want to use MediaTek OpenWRT feed which OpenWRT projects do not want to follow. Then some people may want to enable WED (Wireless Ethernet Dispatch) which mainline OpenWRT may not enable by default.
https://cmi.hanwckf.top/p/immortalwrt-mt798x/
https://forum.openwrt.org/t/mt6000-custom-build-with-luci-and-some-optimization-kernel-6-6-x/185241
 
Last edited:

xiaofan

High Supremacy Member
Joined
Sep 16, 2018
Messages
32,818
Reaction score
10,277
SQM will not work with SW/HW offloading is enabled for H3C NX30 Pro.

The following simple test is without SW offloading, using SpeedTest CLI, Mac Mini M1 2020 model (Wifi 6, 80MHz channel bandwidth, one wall in between the router and the Mac Mini). The signal strength is about -60dBm.

BTW, I will no longer use Waveform.com bufferbloat test from now on as it may not be correct due to bad routing from Singtel to the test servers.

From the following test results we can see limiting the download/upload may help to reduce latency under load (no matter it is due to bufferbloat or wireless congestion or poor wireless signal)

1) No SQM:
Bash:
mcuee@mcuees-Mac-mini ookla % ./speedtest -s 13623

   Speedtest by Ookla

      Server: Singtel - Singapore (id: 13623)
         ISP: Singtel Fibre
Idle Latency:     4.40 ms   (jitter: 0.20ms, low: 4.25ms, high: 4.58ms)
    Download:   218.09 Mbps (data used: 228.9 MB)                                                   
                 17.16 ms   (jitter: 10.34ms, low: 5.92ms, high: 127.48ms)
      Upload:   209.46 Mbps (data used: 209.5 MB)                                                   
                 64.30 ms   (jitter: 12.20ms, low: 13.43ms, high: 157.48ms)
 Packet Loss:     0.0%
  Result URL: https://www.speedtest.net/result/c/ed8ca72a-66f1-4bf1-9692-e47997595518

2) Simple fq_del SQM, 200Mbps/200Mbps
Bash:
mcuee@mcuees-Mac-mini ookla % ./speedtest -s 13623

   Speedtest by Ookla

      Server: Singtel - Singapore (id: 13623)
         ISP: Singtel Fibre
Idle Latency:     5.04 ms   (jitter: 1.32ms, low: 4.66ms, high: 7.32ms)
    Download:   185.80 Mbps (data used: 106.0 MB)                                                   
                 12.17 ms   (jitter: 9.22ms, low: 4.76ms, high: 43.11ms)
      Upload:   184.42 Mbps (data used: 174.3 MB)                                                   
                 10.19 ms   (jitter: 5.12ms, low: 4.31ms, high: 53.38ms)
 Packet Loss:     0.0%
  Result URL: https://www.speedtest.net/result/c/ed11aa4c-45a8-4b8e-b8a7-2fb3a84c0acc
 

xiaofan

High Supremacy Member
Joined
Sep 16, 2018
Messages
32,818
Reaction score
10,277
You may want to start with main line OpenWRT. It is not difficult you have some basic knowledge of Linux. You may want to use Ubuntu 20.04 or 22.04. Ubuntu 24.04 has Python 3.12 which removed python3-distutils and that will not work with older version of OpenWRT (but should be fine with OpenWRT git since April 2024). In order to speed up the build, it will be good to have a relatively fast machine.
https://github.com/openwrt/openwrt?tab=readme-ov-file#development
https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem

Using github action seems to be a popular choice as well if you do not want to build OpenWRT locally.

I can see Chinese Youtubers often referred to this github repo as the starting point.
https://github.com/P3TERX/Actions-OpenWrt

From there, there are different forks targeting different OpenWRT fork.
https://github.com/HoldOnBro/Actions-OpenWrt
https://github.com/XiaoBinin/Actions-immortalwrt
https://github.com/bling-yshs/Actions-ImmortalWrt
https://github.com/Gzxhwq/ImmortalWrt-Actions/

There is another template as well -- not so sure how good is this.
https://github.com/CTCD/build-openwrt

Then some are very specialized:
1) For Android TV boxes.
https://github.com/ophub/amlogic-s9xxx-openwrt

2) Mainly for XIaomi AX3600 with Qualcomm NSS features which I mentioned earlier
https://github.com/JuliusBairaktaris/Qualcommax_NSS_Builder
https://github.com/qosmio/openwrt-ipq (base repo)

3) For the mt798x fork I mentioned earlier.
https://github.com/aj782/ImmortalWrt-mt798x-builder-0000
https://github.com/hanwckf/immortalwrt-mt798x (base repo)

3) For x86_64
https://github.com/chenmozhijin/OpenWrt-K
https://github.com/Lenyu2020/Actions-OpenWrt-x86
 
Important Forum Advisory Note
This forum is moderated by volunteer moderators who will react only to members' feedback on posts. Moderators are not employees or representatives of HWZ Forums. Forum members and moderators are responsible for their own posts. Please refer to our Community Guidelines and Standards and Terms and Conditions for more information.
Top