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

Not annoyed at all, it's great to see the improvements you put in each build.

Just flashed and restored my backup, so I have not changed my settings:

  • WED is enabled
  • SQM is disabled

There is some improvement but the latency is still high under load. Now the grade is B.

OnePlus 8T 80mhz

S23 160Mhz

What's next?

Let me check if there's something that I can do. One question can you perform a check with a computer also? Connect by WiFi... Thanks a lot

Here we go with a AX211 160mhz. Got an A, yeah!

Tested with an iPhone 12, meh:

So a Windows laptop delivers almost rock solid performance, but all other mobile devices are performing bad. How is this even possible?

@pesa1234 Is WED still enabled by default in your latest build? If so, the AQL changes are not going to be very noticeable.

@auanasgheps Could you refer back to this post from yesterday and try to disable WED, then test wireless bufferbloat again?

In this build, @pesa1234 mentioned, that to disable WED, procedure is a bit different from usual:

I believe this is because of some mtk patches.

2 Likes

FWIW, I tried this on the 2.2 release and it did not disable WED. Not sure why and I did not spend a lot of time chasing it down. WED was disabled after I added options mt7915e wed_enable=N to /etc/modules.conf as I have been recommending.

I'm not able to load the 2.4 release right now, so if someone can confirm that removing wed_enable=1 from /etc/modules.d/mt7915e does in fact disable WED, that would be great :slight_smile:

1 Like

I'll check later with smartphones. I didn't try bufferbloat with smartphones only with computer.

Yes that is correct with my build remove just wed enable=y

Sorry if I'm being dense and missing something obvious, but how is WED enabled in this case?

root@AP:~# cat /etc/modules.conf
# examples:
# options mod1 option=val
# blacklist mod2
root@AP:~# cat /etc/modules.d/mt7915e
mt7915e
root@AP:~# cat /sys/module/mt7915e/parameters/wed_enable
Y

For reference, this is on your 2.4 release.

Further, if I explicitly set wed_enable=0 then WED is disabled.

root@AP:~# cat /etc/modules.conf
# examples:
# options mod1 option=val
# blacklist mod2
root@AP:~# cat /etc/modules.d/mt7915e
mt7915e wed_enable=0
root@AP:~# cat /sys/module/mt7915e/parameters/wed_enable
N

Do you reboot the router, sorry for stupid question

Fair question :slight_smile: Yes, I reboot any time I toggle the WED setting change. I can confirm that when WED is disabled, I no longer see the WO (only WA/WM) firmware getting loaded during reboot:

root@AP:~# cat /etc/modules.d/mt7915e
mt7915e wed_enable=0
root@AP:~# cat /sys/module/mt7915e/parameters/wed_enable
N
root@AP:~# dmesg | grep -i firmware
[    0.000000] psci: PSCIv1.1 detected in firmware.
[   14.128768] mt798x-wmac 18000000.wifi: WM Firmware Version: ____000000, Build Time: 20240507160318
[   14.212777] mt798x-wmac 18000000.wifi: WA Firmware Version: DEV_000000, Build Time: 20240507160509

Conversely, when I remove the wed_enable=0 argument and leave only mt7915e in /etc/modules.d/mt7915e, you'll see that WED becomes enabled again (confirmed by the presence of WO firmware loaded during boot):

root@AP:~# vim /etc/modules.d/mt7915e
root@AP:~# cat /etc/modules.d/mt7915e
mt7915e
root@AP:~# reboot
...
root@AP:~# cat /etc/modules.d/mt7915e
mt7915e
root@AP:~# cat /sys/module/mt7915e/parameters/wed_enable
Y
root@AP:~# dmesg | grep -i firmware
[    0.000000] psci: PSCIv1.1 detected in firmware.
[   11.726193] platform 15010000.wed: MTK WED WO Firmware Version: DEV_000000, Build Time: 20240507160523
[   14.426354] mt798x-wmac 18000000.wifi: WM Firmware Version: ____000000, Build Time: 20240507160318
[   14.510618] mt798x-wmac 18000000.wifi: WA Firmware Version: DEV_000000, Build Time: 20240507160509

Now I'm at dinner, later I'll check also this.
My question now is, how to decrease ping with mobile devices...

Until testers are actually testing with AQL fully in play (so WED disabled), it's going to be hard to get objective results.

Here are three tests I performed just now with your r2.4 release:

WED Enabled:

WED Disabled and AQL at new defaults (low: 1500, high: 5000):

WED Disabled and AQL at my preferred defaults (low: 1500, high: 1500):

My hunch is that the weirdness with WED not truly being disabled even when removing wed_enable=1 is causing testers to believe they are actually testing with the new AQL settings, but in fact are not because of WED still being enabled.

Once testers truly disable WED and start testing against AQL, I think the latency picture will look much brighter regardless of the end user's device type :wink:


Up next... I am going to re-roll your r2.4 build with another mac80211 patch to modify the codel target and interval to some more sane values I've been using for a long time now. I'll do another WED disabled benchmark and post the result here...

1 Like

May be codel should be adjusted also on tx.c. Thank you for your cooperation. Let me know. I really appreciate

Got it, one patch from MTK enable wed by default, let we do it again by file...

static bool wed_enable = true;
reverted to
static bool wed_enable;

@_failsafe, or who complain high ping... do you get this issue with std mt76 driver?

1 Like

So, this time I really disabled WED by also modifying /etc/modules.conf to include
options mt7915e wed_enable=N

Got fairly high CPU usage but great bufferbloat results (A), all without SQM which in my opinion is not really needed unless we're amining at a perfect A+.
immagine

OnePlus:

PC latency is always a touch lower, this time just 10ms for up and down.

I think I can help because I'm getting consistent results and I have a good range of devices I can use for testing.

I also took the chance to test with the temporary AQL settings from this message. Just those, no SQM configured. I don't see a relevant change, but I believe I actually need to enable SQM, can you please confirm? I always do 2/3 runs and try to average the numbers.

The only weird change is on the OnePlus: I get much lower latency with download, but the same as before for upload. Only happens on this device so I don't know.

Please let me know if I actually have to enable SQM, otherwise I think I'm done testing for today :slight_smile:

1 Like

I have almost finished, let me test a little and compile

these are the modification respect before...

and now wed can be disabled by removing the wed_enable=Y

If it is working I upload the sysupgrade


edit: Seems that is better... 15-20 minutes of patience and it is online

3 Likes

I didn't know you were already working on another change!

I also took a chance to enable SQM:

config queue
        option enabled '1'
        option interface 'phy1-ap0'
        option download '2200000'
        option upload '460000'
        option debug_logging '0'
        option verbosity '5'
        option qdisc 'cake'
        option script 'piece_of_cake.qos'
        option linklayer 'ethernet'
        option overhead '0'

Even if CPU load is comparable, WiFi performance is destroyed. Unless I did something stupid (which is entirely possible) I am not going to consider SQM+WED off.

Latency is better but the speed cost is not worth it in my opinion.

Are these changes only related to disabling WED?

Regarding SQM, if you set inteface on wifi, upload and download bandwidth should be reversed...
Upload from access point to device.
Download, from your device to access point

1 Like