You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
gov_step_wise.c has hysteresis code but this actually does nothing as ops->get_trip_hyst is an optional operation and there's no implementation of it.
On the pi5 hyst is set to 5000 for all trip points but because of the missing get_trip_hyst, it's basically always 0 in gov_step_wise.c.
The result are very frequent switches around trip temperatures. E.g. on my pi5 I see more than 1000 on/off switches around 50 degrees in 1 hour. Sometimes the fan only stops for a fraction of a second before spinning up again. Not sure if that is good for the fan in the long term.
Note that Linux 6.7 removes the get_trip_hyst operation altogether: torvalds/linux@35d8dbb
Apparently the hyst values should be read directly from the tables.
Steps to reproduce the behaviour
On a PI 5:
echo 'file gov_step_wise.c +p' | sudo tee /sys/kernel/debug/dynamic_debug/control
dmesg
=> temp and hyst (which is/should be "temp - configured hyst" value here) are always the same.
Device (s)
Other
System
Ubuntu 23.10
Linux pi5 6.5.0-1006-raspi #9~fanfix1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 15 15:03:29 UTC 20 aarch64 aarch64 aarch64 GNU/Linux
Logs
No response
Additional context
No response
The text was updated successfully, but these errors were encountered:
Describe the bug
gov_step_wise.c has hysteresis code but this actually does nothing as ops->get_trip_hyst is an optional operation and there's no implementation of it.
On the pi5 hyst is set to 5000 for all trip points but because of the missing get_trip_hyst, it's basically always 0 in gov_step_wise.c.
The result are very frequent switches around trip temperatures. E.g. on my pi5 I see more than 1000 on/off switches around 50 degrees in 1 hour. Sometimes the fan only stops for a fraction of a second before spinning up again. Not sure if that is good for the fan in the long term.
Note that Linux 6.7 removes the get_trip_hyst operation altogether: torvalds/linux@35d8dbb
Apparently the hyst values should be read directly from the tables.
Steps to reproduce the behaviour
On a PI 5:
echo 'file gov_step_wise.c +p' | sudo tee /sys/kernel/debug/dynamic_debug/control
dmesg
=> temp and hyst (which is/should be "temp - configured hyst" value here) are always the same.
Device (s)
Other
System
Ubuntu 23.10
Linux pi5 6.5.0-1006-raspi #9~fanfix1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 15 15:03:29 UTC 20 aarch64 aarch64 aarch64 GNU/Linux
Logs
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: