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

Yes should have mentioned I ran all tests 3x. It's likely SQM is a unique test and not 1:1 with how iperf3 would scale, just did it to see how it would turn out. Mostly I think the results are fantastic and shows this is a 900Mbps SQM target with the right settings.

The WireGuards test I ran was based off this thread: [A Wireguard comparison DB]. It was noted in the thread and github that it's a ballpark test and not fully indicitive of realworld tests so take that how you will, but still getting a little lower on average that the results posted for our target on that thread.

1 Like

The results are great, although I do have concerns with the new script as it seems to require you to adjust it at any given time depending on what you're doing e.g. using WireGuard, SQM or speedtest-cli. But previously you could toggle the packet steering setting and it seemingly worked well with everything.

Yep. I gave my results in that thread too, with the best one being 972Mbps after clearing all nft rules.

I'll retest things later tonight with the latest firmware.

Interesting just ran your commented nft flush ruleset and it's faster as well. Nice to know WG performs roughly as advertised.

Right? I was surprised to see a 166Mbps improvement on my device by removing the rules. And of course you shouldn't permanently remove the rules, but I never would of guessed that they're slowing things down that much.

1 Like

There seems to be an issue with the newer kernel since this speed difference can be seen even when packet steering is disabled.

No matter what settings I change I can't get over 750 Mbps with r26171. And to be clear, I didn't flush nftable rules for either of these tests.

r26171-3f28c422ba (kernel 6.6.29)

root@GL-MT6000:~/wg-bench# ./benchmark.sh
Connecting to host 169.254.200.2, port 5201
[  5] local 169.254.200.1 port 42154 connected to 169.254.200.2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  92.2 MBytes   773 Mbits/sec    0    537 KBytes
[  5]   1.00-2.00   sec  89.1 MBytes   748 Mbits/sec    0    580 KBytes
[  5]   2.00-3.00   sec  88.8 MBytes   744 Mbits/sec    0    580 KBytes
[  5]   3.00-4.00   sec  87.6 MBytes   735 Mbits/sec    0    580 KBytes
[  5]   4.00-5.00   sec  88.1 MBytes   739 Mbits/sec    0    580 KBytes
[  5]   5.00-6.00   sec  88.6 MBytes   744 Mbits/sec    0    580 KBytes
[  5]   6.00-7.00   sec  87.4 MBytes   733 Mbits/sec    0    580 KBytes
[  5]   7.00-8.00   sec  90.6 MBytes   760 Mbits/sec    0    580 KBytes
[  5]   8.00-9.00   sec  89.6 MBytes   752 Mbits/sec    0    580 KBytes
[  5]   9.00-10.00  sec  89.6 MBytes   752 Mbits/sec    0    675 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   892 MBytes   748 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   891 MBytes   747 Mbits/sec                  receiver

r26108-c390c6c709 (kernel 6.1.86)

root@GL-MT6000:~/wg-bench# ./benchmark.sh
Connecting to host 169.254.200.2, port 5201
[  5] local 169.254.200.1 port 56608 connected to 169.254.200.2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  96.4 MBytes   808 Mbits/sec    0    489 KBytes
[  5]   1.00-2.00   sec  95.8 MBytes   803 Mbits/sec    0    541 KBytes
[  5]   2.00-3.00   sec  95.8 MBytes   803 Mbits/sec    0    541 KBytes
[  5]   3.00-4.00   sec  95.4 MBytes   800 Mbits/sec    0    568 KBytes
[  5]   4.00-5.00   sec  95.9 MBytes   804 Mbits/sec    0    568 KBytes
[  5]   5.00-6.00   sec  96.0 MBytes   805 Mbits/sec    0    568 KBytes
[  5]   6.00-7.00   sec  95.8 MBytes   804 Mbits/sec    0    568 KBytes
[  5]   7.00-8.00   sec  96.0 MBytes   805 Mbits/sec    0    598 KBytes
[  5]   8.00-9.00   sec  96.0 MBytes   805 Mbits/sec    0    598 KBytes
[  5]   9.00-10.00  sec  95.5 MBytes   801 Mbits/sec    0    598 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   958 MBytes   804 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   957 MBytes   803 Mbits/sec                  receiver

With r26108 I'll consistently get over 795 Mbps.

1 Like

What would be the easiest way to incorporate your mt76 repo into my own build? I've been pulling in package/kernel/mt76/Makefile from your next branch into my repo before each build via wget but there must be a better way I think?!

master? or?

Around a 50-100Mbps drop in WG is what I observed too (compared to my test a few months back). This regression is hard to pin down since with 6.6 I have the best SQM and Ksmbd performance test results yet with good memory usage too. It's unclear what's happening with WG is there a kmod missing or something not sure. Going to try 6.6.30 with the PCIe bug fix tonight just to make sure that didn't affect anything but don't think it would.

Yeah I'm trying to build OpenWRT master but with your mt76 repo.

You need also some patch of hostapd and mac80211...

New Version with:

  • new wifi firmware 2024.05.07
  • fragment wmm and qos

8 Likes

@pesa1234 where can we see the changelog of the latest firmware updates?

Ah so this would be much more difficult than I thought. Got it. I'll be sticking to your builds then.

It shouldn't be that more difficult, you've got a couple of possibly options. e.g. you could just clone pesa1234's repo and then build from that, or if you've already got master, add pesa1234s repo as an a remote repo and either rebase or cherry-pick the commits you want...

I'm sure there are other and possibly better ways to do things, but the above methods worked for me when I was building NSS enabled firmware for my soon to be replaced Netgear device

1 Like

Great build, im still unable to use any DFS channel above 100 @ 160mhz if I set the country code to GB though, im guessing thats an OpenWRT bug though, working fine if I set the country code to US.

Am I able to add Argon theme to this ROM ?

See here below

first opkg update && opkg install luci-compat luci-lib-ipkg

next go to fantastic-feeds v2.2 Latest

third Download and install
fantastic-feeds v2.2 .ipk

then opkg update && opkg install luci-theme-argon luci-app-argon-config

it is just that simple - works with snapshots and aarch64_cortex-a53

full list of fantastic-packages / packages found below / all available by opkg install
after installing

fantastic-feeds_2.2-2024-02-11_all.ipk

fantastic-feeds by @remittor .ipk listed above

fantastic-packages / packages

good luck

BTW - I highly recommend luci-app-tn-netports - many love it

4 Likes

Thank you, worked perfectly :grinning:

Just for note if anyone else is unsure, to install FF, I downloaded the ipk file from directnupe link above, downloaded WinSCP and installed it, logged into my router and copied FF.ipk to the tmp directory on the router, then using putty execute the command opkg install /tmp/fantasic-feeds_2.2-2024-02-11_all.ipk

Finally continue with the rest of the commands as above.

1 Like

You can also - just simply upload ipk from Luci > System > Software > Upload Package and then just install - this method works and is a bit simpler IMHO
Naturally - you will have to browse to directory where you have downloaded and stored

fantastic-feeds_2.2-2024-02-11_all.ipk
But to each their own - but it is good to have options

3 Likes

DUH, im an idiot, omg that is so much more of a simple way to do it, sorry im still learning Vanilla OpenWRT

Thanks for your latest version. Was it intentional to have the WED WO firmware version stay on the 2022 version. The MTK release showed a 2024 update as well.