New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CPU governors/cpufreq missing in 20220120-1 #4875
Comments
It's working for me, running the current 64-bit Raspberry Pi OS release:
|
@pelwell
|
Yes - that output is from a 3B+. Please try the official 64-bit image, not DietPi. |
interesting point, running
@MichaIng |
Also downgrading to the previous 1.20211118 kernel and bootloader solves it, so something is different with this particular version 1.20220120-1. Indeed a good idea to test with official RPi OS 64-bit. Kernel, bootloader and firmware are however the same, so unless it's something in config.txt or cmdline.txt I'm not sure what could affect something like CPUFreq kernel feature, especially something which affects the RPi 3B+ 🤔 exclusively. EDIT: Commenting/removal of |
Can confirm, commenting out initial_turbo=20 from config.txt solves it on my DietPi 8.0.2. I'm guessing initial_turbo isn't enabled by default on stock Debian, then? |
Great find. Nope is it not enabled on stock RPi OS. However, it shouldn't break CPUFreq, and it's strange that it does only on RPi 3B+. @pelwell I think we'll apply a live patch for RPi 3B+ to disable initial turbo and in case, when fixed until next DietPi release, offer to have it re-enabled during update. CPUFreq of course is much more important than the little boot time speedup with initial turbo. |
This is more @popcornmix's domain. |
I've run what I believe @Joulinar ran on RpiOS bullseye with the same firmware and kernel and it appeared to behave as expected.
|
@popcornmix |
Yes, I had added that.
cpufreq governor is still working. Also tried with initial_turbo=60 and it works. |
Hmm, so removing initial turbo from our config solves it but adding it to RPi OS does not cause it? An issue with a combination of initial turbo and something else? There is no overclocking set on RPi 3B+, so what may be closest related is Sadly I have no 3B+ here for testing. While the issue is solved with next LTS and we have a workaround until then, investigating the underlying reason may still be valuable, probably there is some specific timing involved which may reappear any time later when other things change. |
Another question is whether only the 64-bit kernel is affected or whether the same issue appears when using the ARMv6 (Raspbian-based) or ARMv7 (Debian-based) image on RPi 3B+. |
@MichaIng uname -a |
Same here - cpufreq is working fine running the most recent 64-bit kernel (5.15.21-v8+) on a 3B+ with initial_turbo=60. |
So it seems to be only on DietPi, only with 5.10.92-v8+/ARM64, only on the Pi 3B+, and only when Initial Turbo is enabled. And it magically fixed itself with the 5.15.21-v8+ kernel. As long as it doesn't magically break itself again with the next kernel after that I guess that's good enough... |
Rewinding to rpi-5.10.92-v8+ ( |
Steps for further debugging could be: #4875 (comment) |
Booting a 3B+ from a RPiOS image with 5.10.92 kernal and the DietPi config.txt (+ It's not the config.txt settings. |
I cannot imagine at all that something from cmdline.txt may cause this:
Otherwise what shall affect sysfs/whether CPUFreq is loaded or not, given we use the official raspberrypi-kernel, raspberrypi-bootloader, libraspberrypi0, libraspberrypi-bin and raspberrypi-sys-mods from We use different (no) filesystem feature flags on image generation, while @AdvancedFollower |
- Live patch 2 | Fix CPU freq scaling on RPi 3B+: raspberrypi/linux#4875
- Live patch 2 | Fix CPU freq scaling on RPi 3B+: raspberrypi/linux#4875
I am having this exact issue, no cpu governor. However, changing turbo to 60 didn't fix it, commenting it out of config.txt solved the issue for me and brought back the governors. Below you will find the same commands from the others above, but with a big difference of being on a Pi4B:
initial_turbo=20
No Turbo (working)
|
Very confusing, we have a bunch of RPi 4 systems where this issue does clearly not appear, probably the specific PCB revision 1.1? However, to me this points more into the direction that there is a general issue with how firmware and CPUFreq play together, triggered by specific timings (or so) about what is when (not) loaded during boot, which are not met in most cases. Does |
https://forum.openwrt.org/t/rpi4-community-build/69998/1986?u=wulfy23 165bd7bc5622ee1c721aa5da9af68935075abedd + kernel 5.10.92-ish edit: hash above was wrong re-tested with 5.10.100
reverting to some 6months older elf-dat resolved... |
Thanks, it makes me feel better when it is not limited to DietPi 😅. Is |
nope... this is all 5.10.92 and the newer firmware from around that date... (approx 100 users of identical code with all sorts of config.txt stuff and all had the issue) |
@wulfy23 posting output of |
config.txt or cmdline.txt play no role as discussed...
vcgencmd version I don't collect (but will do so next time such an event occurs if it helps)... I have posted the git commit hash above that you'd have to extrapolate from or maybe I do?
and should you need the image in question;
|
Describe the bug
After upgrading from 20211118 (5.10.63) to 20220120 (5.10.92), CPU governors are not available and the Pi is locked to 600 MHz.
Downgrading to 1.20211118 kernel/bootloader restores the functionality.
Steps to reproduce the behaviour
Apt upgrade to raspberrypi-kernel/stable 1:1.20220120-1 and raspberrypi-bootloader/stable 1:1.20220120-1 and reboot
Device (s)
Raspberry Pi 3 Mod. B+
System
Debian 11.2
Jan 20 2022 13:58:39
Copyright (c) 2012 Broadcom
version bd88f66f8952d34e4e0613a85c7a6d3da49e13e2 (clean) (release) (start_cd)
Linux DietPi 5.10.92-v8+ #1514 SMP PREEMPT Mon Jan 17 17:39:38 GMT 2022 aarch64 GNU/Linux
Logs
dmesg -l emerg,alert,crit,err produces no errors
Additional context
ls /sys/devices/system/cpu/cpu0:
cpu_capacity of_node power regs subsystem topology uevent
(no cpufreq)
G_HW_MODEL=3
G_HW_MODEL_NAME='RPi 3 Model B+ (aarch64)'
G_HW_ARCH=3
G_HW_ARCH_NAME='aarch64'
G_HW_CPUID=0
G_HW_CPU_CORES=4
G_DISTRO=6
G_DISTRO_NAME='bullseye'
G_ROOTFS_DEV='/dev/mmcblk0p2'
G_HW_UUID='f98c179a-a620-47de-a789-a46af87bf052'
G_RASPBIAN=0
G_HW_ONBOARD_WIFI=1
G_HW_REVISION='a020d3'
G_HW_PCB_REVISION=3
G_HW_MEMORY_SIZE=1024
G_HW_MANUFACTURER='Sony UK'
The text was updated successfully, but these errors were encountered: