Belkin RT3200/Linksys E8450 WiFi AX discussion

I'm not sure how to tell exactly if the test is using IPv4 or IPv6, the only difference is that one time is showing only the public IPv4 router address and another time is showing that and the client computer IPv6 public address. But results are the same (so I think it tests only IPv4) and also shows that SQM is not affecting the results, but the cause is the effective internet speed. I will test qosify next.

BTW, if you want me to make some "unprofessional" real-case tests with these improvements (of course if they are ready for usage), I can contribute because I am already building my own firmware for the router. I suppose I only need just a little help with correct procedure or git commands on how to replace (and revert) the mt76 openwrt master branch with the "wed" mt76 branch.

I was planning to turn off the router every night, to save power. But don't want to break the router... Would that really wear out the router that much quicker?

Also I tried the luci-app-advanced-reboot package, which "provides Web UI to shut down (power off) your device." But instead of shut down, the router reboots...

One goal of creating UBI layout was to have the router boot up in a way that does not involve any write operation on the flash. Ie. other than the stock layout which uses a block on flash to indicate if the previous boot has succeeded (and naturally this block has a limited number of writes, supposedly somewhere in the thousands, but that's statistics...), the UBI layout uses PSTORE/ramoops for it's dual-boot decision.

Hence, when using the UBI layout, a daily reboot should not reduce the lifetime of the device in any significant way.

PS: Looking at the board wearing my expected-life-time lenses, I suspect the electrolyte capacitors surrounded by the heatsink (and hence always nicely heated) would be the first components to fail. And like for every electronic device, keeping it in a dry and well-ventilated place with constant moderate temperature around 15-18 deg Celsius is ideal. To reduce heat even more at the cost of some (hardly noticeable) performance losses it's advisable to enable CPU frequency scaling which reportedly reduced the temperature by a few degrees. I have added these lines to my /etc/rc.local to setup the ondemand scaling governor by default:

echo 437500 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
echo "ondemand" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor

Setting the minimum frequency is needed as when running on the lowest otherwise (wrongly) defined operating point the device fails to reboot (stuck in memory calibartion in bl2, the only remaining closed-source part...).
According to one MediaTek developer, the MT7622 is actually not specified to run at any other frequency than the maxium of 1.35GHz. However, as other MediaTek employees have added the more power-saving lower operating points and all of the apart from the (obviously wrong) lowest one work, I'm using 437.5MHz@1.0V as lowest operating point.

9 Likes

Cool! Thanks for the tips :slight_smile:

Does that include turning it off daily by 'pulling the plug'?

1 Like

Powering up/down any circuit always isn't as nice as just keeping it running, as power-on and power-off moments stress all the power regulating components the most. That being said, you may kill the device if you keep powering it off and on every minute for some hours/days/weeks. From a device maker like Belkin/Linksys I would expect that they stress-test their designs to make sure they can stand at least a few thousand power-up/power-down cycles, so doing that once a day is within the expected usage pattern for this hardware and should be fine for some years.

3 Likes

I recommend that you follow the advice of @daniel and @Gix, but use "schedutil", because it reduces the temperature of the router almost 5-10 °C degrees (varies in the day and at night).

Change CPU Governor:

  1. Through LuCI (web interface):

    Go to "System -> Startup -> Local Startup Tab" and paste this command above "exit 0":

    echo schedutil > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
    
  2. Or copy and paste these commands at the same time in your SSH client:

    # Change CPU Governor
    sed -i "/^[^#]*$/d" /etc/rc.local
    cat << "EOF" >> /etc/rc.local
    
    echo schedutil > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
    
    exit 0
    EOF
    

P.S. Don't change the default minimum frequency in OpenWrt.

4 Likes

@moeller0 would you expect this to detrimentally affect SQM in any way?

Hard to tell, but in general sqm/traffic shapers are tough on powersaving, since they often are not throughput, but latency limited, but at low frequencies CPU latency is often bad, but traffic shaping will not necessarily generate enough CPU load in itself to make a scaling governor like ondemand operate the CPU at a high enough frequency.
I would guess though that potential detrimental effects are SoC specific and should be easy enough to test for.

1 Like

Interesting. All my boards reboot at 437.5MHz@1.0V without any problems. But as said, it can totally be that this depends on various random factors (different batch of RAM chips maybe, for example) as officially the chip should run 1350MHz@1.0V only.

The best would be to fix this in TF-A and have bl2 reset the registers in charge of cpu frequency and voltage to their defaults before initiating the (proprietary) DDR RAM calibration which hangs otherwise...

1 Like

Mine RT3200 also reboots fine with 437500 and ondemand. It worked fine with schedutil without setting the min freq.
What about poweroff, did you test it? My router doesn't want to stay off and starts again in a minute or so.

1 Like

Seems like testing desirable to ensure this longevity hack doesn't break SQM. Dumb question time but doesn't temperature cycling up and down like a yo-yo and associated cyclical expansion and contraction itself give rise to more wear?

My e8450 runs and reboots perfect since months! 96% of time @300. i fixed 300, add 125 and am using 1V as minumum. Ondemand-gov enabled and minimum mhz to 300 set. If not min300 is set, there are very many transitions. I can not find differences between 125 & 300 min in temperature and watt. Patchs are in an closed old pr

It's not implemented, I guess, because a simple halt of the CPU won't do because the watchdog is then out for us and reboots the system as we are not maintaining it. Maybe we can tell the watchdog to go to sleep as well on poweroff to support that simple case?
A fully featured implementation for poweroff incl. timed wake-up or even Wake-on-LAN would probably need something like little kernel (lk) in MediaTek-speak, ie. an alternative OS loaded for low-power mode...

2 Likes

boot was never a problem, even 125mhz 0,9v. but REBOOT does not work if such a low mode was used during reboot as uboot does not reset voltage properly which is needed for more mhz

It would have to be ARM Trusted Firmware bl2 to do that, somewhere around here

1 Like

Yes, but the voltage, gov and min frequency changes run good

officially the chip should run 1350MHz@1.0V only.

Wow, why does openwrt runt it (without changes) constant by 1,31V?
Every mhz step 0,5V is added, thats why 125mhz could be 0,9v
Is 1,35ghz now the official value? Sometimes they wrote 1,30.

See https://forum.banana-pi.org/t/banana-pi-bpi-r64-mainline-openwrt-image/11415/313?u=dangowrt and make the best out of it :wink:

3 Likes

The best of a person i dont know, has 6 posts, and tells someone tells and does not link the source?
Well...

What should hapen if a process runs on low mhz? You need much time.
What happe if you have to low voltage for selected mhz? It crashes and reboots (maybe filesys errors)
To much voltage, eg 1,31V with openwrt instead (as someone told me) the official max of 1,0V?
All devices with openwrt will burns - except mine, which runs 96% of time at 1V :joy:

ADDITION: running with 5-10 °C more reduces the expected live time of the device

2 Likes

@fda wouah you pnumer of packages is impressionnant

can you share if you can the build with your package for example with samba etc

on the site please

https://asu.aparcar.org/?version=SNAPSHOT&target=mediatek%2Fmt7622&id=linksys_e8450-ubi
i really appreciate

thanks for all and happy new year everyone :wink:

i'm hope the stable version of future version in OpenWrt in this router soon :slight_smile:

Sorry, i cant do this. My images have many patches and dont work for other people as expected, simples thing is a changed static ip after factory reset. And i changed many thinks i just dont like but i know they will never get megred, eg shorter menu labels.
If you build you kernel by yourself you could use these patches for the frequency+voltage https://github.com/openwrt/openwrt/pull/4440

1 Like