Open logical-and opened 1 year ago
Got it figured, after reading the source code. High and low values in config should be the same. My updated config that works:
# Path to CPU temperature input
# Daemon will try to find it automatically
# If it doesn't uncomment and set proper path
# cpu_temp = /sys/class/hwmon/hwmon3/temp1_input
cpu_temp_divider = 1000
# Path to fan boost mode or throttle thermal policy
# Daemon will try to find it automatically
# If it doesn't uncomment and set proper path
fan_mode = /sys/devices/platform/asus-nb-wmi/throttle_thermal_policy
# Modes
mode_silent = 2
mode_normal = 0
mode_overboost = 1
# Poll interval in milliseconds
poll = 500
# High - temperature at which mode is enabled
# Low - temperature at which mode switches back
normal_high = 45
normal_low = 45
overboost_high = 75
overboost_low = 75
Ranges accordingly to this config:
To check thermal policy works for me I used the following:
echo 1 | sudo tee /sys/devices/platform/asus-nb-wmi/throttle_thermal_policy
(boost mode)
Steps to reproduce:
systemctl status asus_fanmode
stress --cpu 30
)Expected: The service switches profile to overboost
Actual result:
Configuration:
It looks like the service does not get updates on temperature
Any ideas, how it could be fixed?
P.S. I tested
/sys/devices/platform/asus-nb-wmi/throttle_thermal_policy
, it works on my laptop. When it's set to 1 (boost mode), it speeds up fan to 3000-4500 rpm