-
-
Notifications
You must be signed in to change notification settings - Fork 22
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
Fan RPM doesn't follow linear steps fan curve #301
Comments
As far as I can tell the PWM offset might be result of the Setting |
Hi @dduits , sorry for the late response, life is life sometimes. There was an issue with how the PWM mapping was applied, as well as the PID controller interacting with the sensor readings. Since you seem to have already invested a lot of time into analysis I would be more than happy if you would be able to check out the branch and Let me know if you need any assistance. |
@dduits the mentioned branch has been merged a while ago, feel free to use the latest version to gather some data :) |
I've actually been testing v0.9.0 shortly after the tag was made and became As far as I can tell fan2go now correctly follows the configured fan curve. If you have any specific configurations/use cases you'd like me to test, just Thanks for putting in the hard work and please excuse my delayed reply. |
@dduits That sounds great! I don't have any specific scenarios, if yours is working as expected now I think we can close this issue for now. If anything else comes up, feel free to open a new issue. Thx for your work as well ❤️ |
Describe the bug
The actual RPM of a fan that is controlled by fan2go doesn't match the linear fan curve defined in
/etc/fan2go/fan2go.yaml
, the actual PWM value always seems to be a certain amount above the specified PWM value. For example, when specifying a linear fan curve with the following steps55 -> 60
,60 -> 90
,90 -> 255
(°C -> PWM) and having a sensor input temperature of 42.0 °C, fan2go will reportSetting Fan PWM of 'front_intake' to 81 ...
instead of a PWM value around60
. This results in the actual fan RPM being higher and the fan making more noise than expected.To Reproduce
Steps to reproduce the behavior:
/etc/fan2go/fan2go.yaml
Tctl
(CPU temperature of my AMD Ryzen 9 5950X) with the following command:watch -t -n0.5 'sensors | grep "fan*\|Tctl\|Tccd"'
fan2go -v
) as root and observe the PWM DEBUG logs (e.g.Setting Fan PWM of 'front_intake' to n
)fan2go.yaml
Expected behavior
I expect fan2go to match the specified linear fan curve defined in
fan2go.yaml
. I.e. whenTctl
reports a temperature lower than 55 °C fan2go send a PWM signal of60
to the defined fan.Here's a graph that illustrates what I'm trying to achieve with with the fan curve described above:
Screenshots
Screencast_20240715_190146.webm
The DEBUG logs show the PWM value sticking at
82
PWM even though theTctl
is below the first step (55 °C -> 60 PWM) in the linear fan curve.Desktop (please complete the following information):
uname -a
:Linux jade 6.9.9-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 12 Jul 2024 00:06:53 +0000 x86_64 GNU/Linux
sensors -v
:sensors version 3.6.0+git with libsensors version 3.6.0+git
fan2go version
:0.8.1
Additional context
Minimal fan2go.yaml used to reproduce the bug
Hardware
Fan: Noctua NF-A14 PWM chromax.Black.swap
Motherboard: ASUS ROG STRIX X570-E GAMING WIFI II
The text was updated successfully, but these errors were encountered: