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

Just saying hi, I hope everyone's is doing great.

I've just done another round of testing, and every time I am impressed by the speeds this little box can handle:

TL;DR: I am seeing improvements comparing r2.9.2 (July tests) and r4.3.2 (now)
Current tests:

speedtest -s 9329

   Speedtest by Ookla

      Server: Dimensione - Milan (id: 9329)
         ISP: Dimensione
Idle Latency:     2.51 ms   (jitter: 0.14ms, low: 2.25ms, high: 2.62ms)
    Download:  1745.36 Mbps (data used: 2.3 GB)
                 21.49 ms   (jitter: 12.34ms, low: 3.75ms, high: 292.56ms)
      Upload:   480.67 Mbps (data used: 390.1 MB)
                 15.63 ms   (jitter: 2.33ms, low: 5.45ms, high: 25.13ms)
 Packet Loss:     0.0%
  Result URL: https://www.speedtest.net/result/c/770ebaed-e6d8-49e0-8df9-c9804541b232

https://www.waveform.com/tools/bufferbloat?test-id=663b8705-ea10-4d9f-817b-f9834b9f395b

I've never been able to get that fast via an internet Speedtest, it's as fast as a local one.
Bufferbloat: the latency is similar to my best results, but there's less jitter.

Be aware: these tests were performed under load (lots of background applications and a Zoom call running on the same laptop) so they could be even better! Intel AX211 160Mhz. Close to the router, but there's a (thin) wall in between.

4 Likes

This is where I get confused -- and I apologize for the repeated posts in this thread which seems like most people either aren't building their own or already understand these aspects.

A lot of the wireless kernel modules are compiled as "M" in pesa1234's build, not build in "*".

For example:

CONFIG_PACKAGE_kmod-r8101=m
CONFIG_PACKAGE_kmod-r8125=m
CONFIG_PACKAGE_kmod-r8125-rss=m
CONFIG_PACKAGE_kmod-r8126=m
CONFIG_PACKAGE_kmod-r8126-rss=m
CONFIG_PACKAGE_kmod-r8168=m
CONFIG_PACKAGE_kmod-random-core=m
CONFIG_PACKAGE_kmod-rtl8192c-common=y
CONFIG_PACKAGE_kmod-rtl8192cu=y
CONFIG_PACKAGE_kmod-rtlwifi=y
CONFIG_PACKAGE_kmod-rtlwifi-usb=y
CONFIG_PACKAGE_kmod-rtw88=m
CONFIG_PACKAGE_kmod-rtw88-8723d=m
CONFIG_PACKAGE_kmod-rtw88-8723ds=m
CONFIG_PACKAGE_kmod-rtw88-8723du=m
CONFIG_PACKAGE_kmod-rtw88-8723x=m
CONFIG_PACKAGE_kmod-rtw88-sdio=m
CONFIG_PACKAGE_kmod-rtw88-usb=m
CONFIG_PACKAGE_kmod-rtw89=m
CONFIG_PACKAGE_kmod-rtw89-8851be=m
CONFIG_PACKAGE_kmod-rtw89-8852ae=m
CONFIG_PACKAGE_kmod-rtw89-8852b-common=m
CONFIG_PACKAGE_kmod-rtw89-8852be=m
CONFIG_PACKAGE_kmod-rtw89-8852ce=m
CONFIG_PACKAGE_kmod-rtw89-pci=m

So none of these are needed for critical function of the wifi, etc, since they would have to be installed with opkg after flashing. Right? I feel like I'm getting lost in the weeds here.

1.7G wifi?
that's good!

2 Likes

No worries. These aren’t needed for any builtin functionality. When I started building pesa1234's firmware by myself, I actually did a find and replace of =m to =n in his .config.

You might need these if you use a USB WiFi dongle, I believe.

I encourage you to get familiar with the uboot recovery mode. Try to use it to upload a known good firmware, like 23.05.5. Remember to backup your settings first. As long as you flash sysupgrades, you’ll be always able to go back to any firmware you want.

1 Like

Yap, if you have a AX 160Mhz WiFi card it's the speed you can get with this router. Maybe once I got 1.8 Gbps in a LAN speedtest, but I don't think WiFi can't go further. Still, it's a massive amount of speed!

1 Like

with 23.05.5 i get around 1.3G, if this gain is coming from the new kernel it's massive!

you can hit pretty close to 2gbit on these devices.

this is wifi btw, 160mhz chan 100 to my ax211 win10 laptop.

and ill add this is through the mt6000 onto another mt6000... so this is routed (dumb-ap but still...).

2 Likes

Track 24. Then transition to main firmware after its eventual release will be much smoother, and problems easier to reconcile. Then most non-kernel module software is installable from the main repo.

23.05 Is known to be okay but not great.

The new kernel, open source driver maturity and the small tweaks of this build bring lots of improvements!

1 Like

If I find time I will do two releases.
One based on 24.10 and one on snapshot with mtk patches and exhisting tuning

9 Likes

thanks, i'm gonna try a master build :slight_smile:

Edit: on r28022 i can't see any relevant speed update..

Hi, I'm downloading the zip now (it's taking it's time), since regular Openwrt isn't as fast as Gl.inet's firmware. I'm hoping this gets me back up to gigabit speed. Is there more than 1 build in the zip? If so should I choose the newest, or a more stable older one?

Any tips are appreciated.

Edit - The zip finally finished downloading and I've been able to look into it. To install I click Flash Image -> Browse-> then select openwrt-mediatek-filogic-glinet_gl-mt6000-squashfs-sysupgrade.bin and go?

Created 24.10.mtk.next-r1.0.0

At the moment it is empty, I will populate with patches in next days I'll let you know when finished

5 Likes

Awesome, thanks. The whole OpenWrt community is amazing. Thanks to another thread, I learned how to unbrick my Belkin RT3200 using a serial connections, so I stuck that in place of my MT6000 as a backup while I played with this.

First flash went great, although I'm still having a little trouble sometimes winnowing down the packages I don't need and then having it fail to compile. I guess I'm being a perfectionist, but I don't want packages I don't plan to use. This is a dumb AP, and I want the minimum required... based on the concept that any additional package is a potential security issue, besides the fact that it is inefficient.

So newbie question: can I just take everything in the .config that is marked "=m" and comment it out, to speed up compilation?

1 Like

Sure. Or you can replace =m with =n.

When I’m having a hard time figuring out why compilation failed, I use make -j1 world. AFAIK you don’t need clean download when only package selection changed.

Thanks, good tip! Tracking down compilation errors has been a problem for me.

Anyway, changing all of them to =m in .config using a regex doesn't work -- they get enabled again when I run defconfig, so I'll just leave them.

I made a stripped down build for a dumb AP recently. I only wanted htop, nano and diff tools. This was my diffconfig:

diffconfig
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_glinet_gl-mt6000=y
CONFIG_HTOP_LMSENSORS=y
CONFIG_PACKAGE_cgi-io=y
CONFIG_PACKAGE_diffutils=y
CONFIG_PACKAGE_htop=y
CONFIG_PACKAGE_liblucihttp=y
CONFIG_PACKAGE_liblucihttp-ucode=y
CONFIG_PACKAGE_libncurses=y
CONFIG_PACKAGE_luci-app-firewall=y
CONFIG_PACKAGE_luci-base=y
CONFIG_PACKAGE_luci-light=y
CONFIG_PACKAGE_luci-mod-admin-full=y
CONFIG_PACKAGE_luci-mod-network=y
CONFIG_PACKAGE_luci-mod-status=y
CONFIG_PACKAGE_luci-mod-system=y
CONFIG_PACKAGE_luci-proto-ipv6=y
CONFIG_PACKAGE_luci-proto-ppp=y
CONFIG_PACKAGE_luci-ssl=y
CONFIG_PACKAGE_luci-theme-bootstrap=y
CONFIG_PACKAGE_nano-full=y
CONFIG_PACKAGE_px5g-mbedtls=y
CONFIG_PACKAGE_rpcd=y
CONFIG_PACKAGE_rpcd-mod-file=y
CONFIG_PACKAGE_rpcd-mod-iwinfo=y
CONFIG_PACKAGE_rpcd-mod-luci=y
CONFIG_PACKAGE_rpcd-mod-rrdns=y
CONFIG_PACKAGE_rpcd-mod-ucode=y
CONFIG_PACKAGE_terminfo=y
CONFIG_PACKAGE_ucode-mod-html=y
CONFIG_PACKAGE_ucode-mod-math=y
CONFIG_PACKAGE_uhttpd=y
CONFIG_PACKAGE_uhttpd-mod-ubus=y

All the dumbing down of dnsmasq, firewall, etc. happens in my uci-defaults scripts.

Disclaimer: I haven't flashed this latest build yet, but it's very similar to the previous build I am currently running. You're welcome to test it for me. :wink:

don't edit .config manually
use make menuconfig to remove it

2 Likes

I know, but navigating through menuconfig to get rid of all the dependencies and unselect the parent package is painful.

I agree that direct editing can mess things up. I do run make defconfig to make sure nothing got too messed up.

If I'm compiling this myself and want just the new wireless drivers, do I have to import your .config? Can I use the OpenWrt defaults instead, and add the couple packages I need? I don't want things like keepalived, upnp, openvpn, wireguard, etc etc in my dumb AP.

No, it isn't only the .config...

My suggestion is clone, select your preferred branch, than make menuconfig, select the device and your packages.

So at the end don't edit manually.

1 Like