[PATCH 21.02] ipq806x: backport cpufreq changes to 5.4

Shane Synan digitalcircuit36939 at gmail.com
Tue Aug 24 16:21:26 PDT 2021


On 8/10/21 6:02 PM, Shane Synan wrote:
> I've tried multiple other things (mentioned below) which haven't
> worked, so it's on to modifying the CPU voltage!  […]

The fix hasn't been found, but progress has been made!

After further testing, I think I've found a way to recreate this issue
with just the router itself, no external USB HDD, no Déjà Dup backup
over SFTP, and possibly no extra changes beyond a stock NBG6817
OpenWRT build (not confirmed as this router runs my home network,
including SQM QoS, VLANs with another WiFi AP, etc).

I've put the scripts and documentation into a dedicated repository:
https://github.com/digitalcircuit/openwrt-ipq806x-qa-cpu-reset

(In brief: toggling individual CPU cores between 1.75 GHz and 800 MHz)

For others interested, feel free to try to recreate the issue with
your own IPQ8065 routers!  Possibly even IPQ806x (untested).

I'll follow up here again once I've made notable progress.

As part of my research, I found a minor oversight with the OPP CPU
voltages, which has been fixed as of the following commit:
https://github.com/openwrt/openwrt/commit/9baca410644b3f0fe94e2d5b6558c9c4bf61e712

(OPP voltage triplets are <target min max>, not <min target max> like
one would expect)

Ansuel has offered several promising suggestions on how to potentially
fix the reboot issue in the pull request for that commit:
https://github.com/openwrt/openwrt/pull/4464#issuecomment-903178662

In essence:
* Transitioning through multiple frequencies going to/from high speeds
* Forcing both CPU cores to same frequency in some/all situations
* Increasing clock latency in DTS

I'll explore these next!

I've also determined that raising the CPU voltages by 20000 microvolts
did not resolve the issue.  I may revisit this with higher voltages in
the future:
https://github.com/openwrt/openwrt/compare/openwrt-21.02...digitalcircuit:openwrt-21.02-cpufreq-dtsivolt-cache-fix-opp-order

(Above obsoleted by "ipq806x: fix min<>target opp-microvolt DTS mixup"
being merged to "master"; I'll create a new backport branch later.)

Tune in next time to find out what happens on...
...debugging with digitalcircuit!

And thanks to everyone who has offered ideas, encouragement, and
patience as I learn many new things.

Regards,
Shane Synan



More information about the openwrt-devel mailing list