Quick PSA: Your OpenWRT performance defaults may be sub optimal
TL;DR: Check your CPU governor setting. It could be set to a mode with no scaling or at a reduced frequency, which can reduce performance, reduce energy efficiency, and/or increase heat unnecessarily.
I've been working on tuning my Banana Pi R4 SQM performance and today noticed that the CPU governor in the vanilla mainline OpenWRT build is set to "userspace" at a static 1.5GHz frequency. The range of the Filogic 880 in this device is at least 800MHz to 1.8GHz, meaning theoretically, at defaults, I'm using more electricity than needed and am also not able to tap the full potential of the CPU.
Note: in my testing with a Kill-A-Watt, there is no measurable difference in electricity usage between 1.5Ghz and 800Mhz, but on whatever device you're using, this could be a totally different story. However, dropping it down to allow scaling to 800MHz dropped core temps by 1 degree Celsius, so why not.
Easy check and fix for your device
- SSH in to your device
- Check the current governor. In my case, it was "userspace" at a static 1.5GHz
- cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
- List the available governors
- cat /sys/devices/system/cpu/cpufreq/policy0/scaling_available_governors
- Set to your desired setting (I switched to "schedutil" which will scale as needed, up to the full 1.8Ghz)
- echo "schedutil" | tee /sys/devices/system/cpu/cpufreq/policy*/scaling_governor
- Make it persistent
- Add the command from Step 4 to your /etc/rc.local