The following is the /etc/nvfancontrol.conf configuration:
POLLING_INTERVAL 2
<FAN 1>
TMARGIN ENABLED
FAN_GOVERNOR pid {
STEP_SIZE 10
}
FAN_GOVERNOR cont {
STEP_SIZE 10
}
FAN_CONTROL close_loop {
RPM_TOLERANCE 100
}
FAN_PROFILE cool {
#TEMP HYST PWM RPM
0 15 255 6000
10 15 205 4800
20 15 128 3000
30 15 77 1800
60 10 0 0
105 0 0 0
}
THERMAL_GROUP 0 {
GROUP_MAX_TEMP 105
#Thermal-Zone Coeffs Max-Temp
CPU-therm 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0
GPU-therm 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0
SOC0-therm 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0
SOC1-therm 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0
SOC2-therm 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0
tj-therm 100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0
}
FAN_DEFAULT_CONTROL open_loop
FAN_DEFAULT_PROFILE cool
FAN_DEFAULT_GOVERNOR pid
KICKSTART_PWM 1
TMARGIN is ENABLED, use open_loop, and use pid.
In THERMAL_GROUP, I configured the weights of all temperatures to 0 and the weight of tj_thermal to 100, which means that the maximum value of all temperatures is used as the detection temperature.
But HYST doesn’t seem to work. When the temperature is 45 degrees, tmargin is 60, and the fan starts to rotate.
The corresponding HYST is 10. As expected, when tmargin is 70, that is, when the temperature is below 35 degrees, the fan stops rotating.
The actual situation is that the fan stops rotating when the temperature is around 42 degrees. What is the reason for this and how to solve it?