MT6000 custom build with LuCi and some optimization - kernel 6.12.x

I have always used "keep settings when upgrading" without issues so far.

A domingo, 5/04/2026, 10:23, Kplausible <mail@forum.openwrt.org> escreveu:

2 Likes

Maybe it is solved
now I see more than a queue used by cake_mq, can you try to compile the next-r4.8.0.rss.mtk-test6.18?
Please enable testing kernel on make menuconfig. I didn't compile on 6.12.

So, the message is:
if you have a gbit wan, please compile with testing kernel and let me know how it work cake_mq.

THANKS TO ALL for testing

7 Likes

I would, but unfortunately I can’t. We should see what the other testers say about it

Can any one compile a verion on git? I have 1gbit fiber and can test :slight_smile:

I'll do it for kernel 6.12, please wait...

1 Like

Kernel 6.18 is fine also :smiley:

1 Like

@pesa1234 Great work as always.

Testing your 6.18 branch on a Filogic device as a dump AP and seems stable at the moment.

There is tonnes of log spam though:

[7 abr 2026, 13:34:41 CEST] kern.info: [16444.005100] mtk_soc_eth 15100000.ethernet eth0: cake-mq: mode=dsa mac=0 sb=eth0 skb_q=5 txq=8 real=16 num=16 hash=0x39ac9352

Ok, thanks for feedback.
Are you using cake_mq?

No. Haven't configured anything.

Can any one post a prebuild 6.18 sysupgrade

1 Like

Managed to compile this. Does this look ok.

root@FLint2:~# tc qdisc show
qdisc noqueue 0: dev lo root refcnt 2
qdisc mq 0: dev eth0 root
qdisc fq_codel 0: dev eth0 parent :10 limit 10240p flows 1024 quantum 1518 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
qdisc fq_codel 0: dev eth0 parent :f limit 10240p flows 1024 quantum 1518 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
qdisc fq_codel 0: dev eth0 parent :e limit 10240p flows 1024 quantum 1518 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
qdisc fq_codel 0: dev eth0 parent :d limit 10240p flows 1024 quantum 1518 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
qdisc fq_codel 0: dev eth0 parent :c limit 10240p flows 1024 quantum 1518 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
qdisc fq_codel 0: dev eth0 parent :b limit 10240p flows 1024 quantum 1518 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
qdisc fq_codel 0: dev eth0 parent :a limit 10240p flows 1024 quantum 1518 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
qdisc fq_codel 0: dev eth0 parent :9 limit 10240p flows 1024 quantum 1518 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
qdisc fq_codel 0: dev eth0 parent :8 limit 10240p flows 1024 quantum 1518 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
qdisc fq_codel 0: dev eth0 parent :7 limit 10240p flows 1024 quantum 1518 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
qdisc fq_codel 0: dev eth0 parent :6 limit 10240p flows 1024 quantum 1518 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
qdisc fq_codel 0: dev eth0 parent :5 limit 10240p flows 1024 quantum 1518 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
qdisc fq_codel 0: dev eth0 parent :4 limit 10240p flows 1024 quantum 1518 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
qdisc fq_codel 0: dev eth0 parent :3 limit 10240p flows 1024 quantum 1518 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
qdisc fq_codel 0: dev eth0 parent :2 limit 10240p flows 1024 quantum 1518 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
qdisc fq_codel 0: dev eth0 parent :1 limit 10240p flows 1024 quantum 1518 target 5ms interval 100ms memory_limit 4Mb ecn drop_batch 64
qdisc cake_mq 8018: dev eth1 root bandwidth 850Mbit diffserv4 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc cake 0: dev eth1 parent 8018:10 bandwidth 850Mbit diffserv4 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc cake 0: dev eth1 parent 8018:f bandwidth 850Mbit diffserv4 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc cake 0: dev eth1 parent 8018:e bandwidth 850Mbit diffserv4 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc cake 0: dev eth1 parent 8018:d bandwidth 850Mbit diffserv4 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc cake 0: dev eth1 parent 8018:c bandwidth 850Mbit diffserv4 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc cake 0: dev eth1 parent 8018:b bandwidth 850Mbit diffserv4 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc cake 0: dev eth1 parent 8018:a bandwidth 850Mbit diffserv4 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc cake 0: dev eth1 parent 8018:9 bandwidth 850Mbit diffserv4 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc cake 0: dev eth1 parent 8018:8 bandwidth 850Mbit diffserv4 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc cake 0: dev eth1 parent 8018:7 bandwidth 850Mbit diffserv4 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc cake 0: dev eth1 parent 8018:6 bandwidth 850Mbit diffserv4 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc cake 0: dev eth1 parent 8018:5 bandwidth 850Mbit diffserv4 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc cake 0: dev eth1 parent 8018:4 bandwidth 850Mbit diffserv4 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc cake 0: dev eth1 parent 8018:3 bandwidth 850Mbit diffserv4 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc cake 0: dev eth1 parent 8018:2 bandwidth 850Mbit diffserv4 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc cake 0: dev eth1 parent 8018:1 bandwidth 850Mbit diffserv4 dual-srchost nat nowash no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc ingress ffff: dev eth1 parent ffff:fff1 ----------------
qdisc noqueue 0: dev lan2 root refcnt 2
qdisc noqueue 0: dev lan3 root refcnt 2
qdisc noqueue 0: dev lan4 root refcnt 2
qdisc noqueue 0: dev lan5 root refcnt 2
qdisc noqueue 0: dev lan1 root refcnt 2
qdisc noqueue 0: dev br-lan root refcnt 2
qdisc noqueue 0: dev wg0 root refcnt 2
qdisc noqueue 0: dev phy0-ap0 root refcnt 2
qdisc noqueue 0: dev phy1-ap0 root refcnt 2
qdisc cake_mq 801a: dev ifb4eth1 root bandwidth 850Mbit diffserv4 dual-dsthost nat nowash ingress no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc cake 0: dev ifb4eth1 parent 801a:4 bandwidth 850Mbit diffserv4 dual-dsthost nat nowash ingress no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc cake 0: dev ifb4eth1 parent 801a:3 bandwidth 850Mbit diffserv4 dual-dsthost nat nowash ingress no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc cake 0: dev ifb4eth1 parent 801a:2 bandwidth 850Mbit diffserv4 dual-dsthost nat nowash ingress no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64
qdisc cake 0: dev ifb4eth1 parent 801a:1 bandwidth 850Mbit diffserv4 dual-dsthost nat nowash ingress no-ack-filter split-gso rtt 100ms noatm overhead 18 mpu 64

root@FLint2:~# ubus call system board
{
        "kernel": "6.18.21",
        "hostname": "FLint2",
        "system": "ARMv8 Processor rev 4",
        "model": "GL.iNet GL-MT6000",
        "board_name": "glinet,gl-mt6000",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "SNAPSHOT",
                "firmware_url": "https://downloads.openwrt.org/",
                "revision": "r34714-7d7073d376",
                "target": "mediatek/filogic",
                "description": "OpenWrt SNAPSHOT r34714-7d7073d376",
                "builddate": "1775567842"
        }
}
root@FLint2:~#

sqm settings? thanks

config queue 'eth1'
	option enabled '1'
	option interface 'eth1'
	option download '850000'
	option upload '850000'
	option qdisc 'cake'
	option script 'layer_cake.qos'
	option linklayer 'ethernet'
	option overhead '18'
	option no_atm '1'
	option debug_logging '0'
	option verbosity '5'
	option qdisc_advanced '1'
	option squash_dscp '0'
	option squash_ingress '0'
	option ingress_ecn 'ECN'
	option egress_ecn 'ECN'
	option qdisc_really_really_advanced '1'
	option iqdisc_opts 'diffserv4 dual-dsthost nat ingress mpu 64'
	option eqdisc_opts 'diffserv4 dual-srchost nat mpu 64'
	option use_mq '1'


thanks again. Can i know the output of:
cat /sys/kernel/debug/cake_mq/sync_time_ns

root@FLint2:~#
root@FLint2:~# cat /sys/kernel/debug/cake_mq/sync_time_ns
800000
root@FLint2:~#

Can you please try different value example 1000000 or 1200000 or 600000 and check download speed?
You can do it by luci or
echo 1000000 > /sys/kernel/debug/cake_mq/sync_time_ns
So, patch for tx queue seems ok, but download speed with cake_mq is still a mistery

Download speed on gigabit connection is great on 6.12 with cake. Multi queue seems to be working

3 Likes

So in 6.12 everything works fine, but in 6.18 the tests remove at least 200 MB, almost always bringing it down to around 400–500 MB. Did I understand that correctly?

Dear Pesa ( and / or any other OpenWRT Mavens ),

Hello and I appreciate all the excellent work and Builds which you are kind enough to selflessly provide for this community. I have one request of you - hopefully it is not too much of an imposition

Can you please post or message me .config and / or config.buildinfo / diffconfig file ( s )
which will allow me to build your 6.18 kernel firmware ? - Please - Thank You

I have tried multiple times to build 6.18 test - however I have had no success. Thank you again.

Peace and God Bless

Are you sure?