![]() |
|
Tool to Control Fan - fanctl - Printable Version +- PINE64 (https://forum.pine64.org) +-- Forum: ROCKPRO64 (https://forum.pine64.org/forumdisplay.php?fid=98) +--- Forum: Linux on RockPro64 (https://forum.pine64.org/forumdisplay.php?fid=101) +--- Thread: Tool to Control Fan - fanctl (/showthread.php?tid=6489) |
RE: Tool to Control Fan - fanctl - Luke - 04-05-2019 Sorry, I wasn't clear. I want the fan to activate first when the SOC reaches 60*C and I want it to work continually at a temperature of 70*C. I set the values accordingly in the config: Code: -- Max Temperature Allowed for adjusting fan pwm( On this threshold, and above, fan is always on MaxValue )
MAX_CONTINUOUS_THERMAL_TEMP = 70,
-- Min Temperature threshold to activate/deactivate Fan
MIN_CONTINUOUS_THERMAL_TEMP = 60,I checked with armbianmonitor that the SOC (which isn't really doing anything at the moment) hovers around ~45*C (max). Despite this, the fan powers on for approx 2 seconds every minute or two. I'll monitor whats happening using ats -t
RE: Tool to Control Fan - fanctl - tuxd3v - 04-05-2019 (04-05-2019, 01:05 PM)Luke Wrote: Sorry, I wasn't clear. I want the fan to activate first when the SOC reaches 60*C and I want it to work continually at a temperature of 70*C. Try, point 3) and 4) on my last comment, Ans show at least point 3) ats -t , with the service running I noticed in the past that, kernels above 4.4.138-1097, do some interference in pwm. I don't know if that could be the case here.. One way of testing it, Would be stopping ats service and monitor pwm.. Something like: Code: while true;do pwm=$( cat /sys/devices/platform/pwm-fan/hwmon/hwmon0/pwm1);if [ ${pwm} -ne 0 ];then echo "--->${pwm}"; fi; doneIn this way, you can sort out if pwm automatically activates..
RE: Tool to Control Fan - fanctl - tuxd3v - 04-06-2019 Hello Luke, I think I understood what you were talking about.. I reproduced that behaviour.. stopping ats, then running ats in test mode.. Code: root@rockpro64:~# ats -t
info:'SYSTEM' Table
info: 'BOARD' Table
info: 'NAME' = ROCKPRO64
info: 'CPU' = RK3399
info: 'THERMAL0_CTL' = /sys/class/thermal/thermal_zone0/temp
info: 'THERMAL1_CTL' = /sys/class/thermal/thermal_zone1/temp
info: 'PWM_CTL' = /sys/class/hwmon/hwmon0/pwm1
warn: 'MAX_CONTINUOUS_THERMAL_TEMP' outside range] -20, 70 [
'MAX_CONTINUOUS_THERMAL_TEMP' = 60
info: 'MIN_CONTINUOUS_THERMAL_TEMP' = 60ATS, has hard-limits for temps.. When you configure it to: Code: -- Max Temperature Allowed for adjusting fan pwm( On this threshold, and above, fan is always on MaxValue )
MAX_CONTINUOUS_THERMAL_TEMP = 70,
-- Min Temperature threshold to activate/deactivate Fan
MIN_CONTINUOUS_THERMAL_TEMP = 60,You are hitting the higher hard limit range: ] -20, 70 [ So Ats warns you, And corrects 'MAX_CONTINUOUS_THERMAL_TEMP' to 60C In this situation you end with higher and lower trigger points equal.. Without code changes, the Closest you can get in /etc/ats.conf would be: Code: -- Max Temperature Allowed for adjusting fan pwm( On this threshold, and above, fan is always on MaxValue )
MAX_CONTINUOUS_THERMAL_TEMP = 69,
-- Min Temperature threshold to activate/deactivate Fan
MIN_CONTINUOUS_THERMAL_TEMP = 60,An output in test mode: Code: root@rockpro64:~# ats -t
info:'SYSTEM' Table
info: 'BOARD' Table
info: 'NAME' = ROCKPRO64
info: 'CPU' = RK3399
info: 'THERMAL0_CTL' = /sys/class/thermal/thermal_zone0/temp
info: 'THERMAL1_CTL' = /sys/class/thermal/thermal_zone1/temp
info: 'PWM_CTL' = /sys/class/hwmon/hwmon0/pwm1
info: 'MAX_CONTINUOUS_THERMAL_TEMP' = 69
info: 'MIN_CONTINUOUS_THERMAL_TEMP' = 60
info: 'MAX_PWM' = 255
info: 'MIN_PWM' = 40
info: 'ALWAYS_ON' = false
info: 'PROFILE_NAME' = profile0
info: 'PROFILE' = 0
info:'Pratio' timers
info: 'Pratio[ -20 - 60 [' = 0
info: 'Pratio[ 60 ]' = 40
info: 'Pratio[ 61 ]' = 63
info: 'Pratio[ 62 ]' = 87
info: 'Pratio[ 63 ]' = 111
info: 'Pratio[ 64 ]' = 135
info: 'Pratio[ 65 ]' = 159
info: 'Pratio[ 66 ]' = 183
info: 'Pratio[ 67 ]' = 207
info: 'Pratio[ 68 ]' = 231
info: 'Pratio[ 69 ]' = 255
info: 'Pratio[ 69 - 70 [' = 255
Stop ATS Service first [ service ats stop ]..No more warnings, and so no internal adjustments.. But even So, I could reproduce your report: Code: --------------------
Running for[ seconds ]................ 0
CPU Temperature[ max 70 °C ].......... 58
GPU Temperature[ max 70 °C ].......... 49
Fan PWM Duty Cycle value[ 0 - 255 ]... 0
--------------------
Stopping for[ seconds ]............... 120
CPU Temperature[ max 70 °C ].......... 58
GPU Temperature[ max 70 °C ].......... 49
Fan PWM Duty Cycle value[ 0 - 255 ]... 0
--------------------I will look into the code, and check it.. The power is activated in 2 phases, probably the first one is running, on this conditions.. Thanks for reporting that! RE: Tool to Control Fan - fanctl - Luke - 04-07-2019 Many thanks tuxd3v ! I'll retest with the values you suggested today and let you know how it goes ![]() [edit] with your suggested values set in /etc/ats.conf I am seeing same behaviour, the fan engages for a split second then spools back down. The log below is from ~4 min of ats -t running. Code: root@OpenMediaVault:~# ats -t
info:'SYSTEM' Table
info: 'BOARD' Table
info: 'NAME' = ROCKPRO64
info: 'CPU' = RK3399
info: 'THERMAL0_CTL' = /sys/class/thermal/thermal_zone0/temp
info: 'THERMAL1_CTL' = /sys/class/thermal/thermal_zone1/temp
info: 'PWM_CTL' = /sys/class/hwmon/hwmon0/pwm1
info: 'MAX_CONTINUOUS_THERMAL_TEMP' = 69
info: 'MIN_CONTINUOUS_THERMAL_TEMP' = 60
info: 'MAX_PWM' = 255
info: 'MIN_PWM' = 125
info: 'ALWAYS_ON' = false
info: 'PROFILE_NAME' = profile0
info: 'PROFILE' = 2
info:'Pratio' timers
info: 'Pratio[ -20 - 60 [' = 0
info: 'Pratio[ 60 ]' = 125
info: 'Pratio[ 61 ]' = 139
info: 'Pratio[ 62 ]' = 153
info: 'Pratio[ 63 ]' = 168
info: 'Pratio[ 64 ]' = 182
info: 'Pratio[ 65 ]' = 197
info: 'Pratio[ 66 ]' = 211
info: 'Pratio[ 67 ]' = 226
info: 'Pratio[ 68 ]' = 240
info: 'Pratio[ 69 ]' = 255
info: 'Pratio[ 69 - 70 [' = 255
Stopping for[ seconds ]............... 3
CPU Temperature[ max 70 °C ].......... 0
GPU Temperature[ max 70 °C ].......... 0
Fan PWM Duty Cycle value[ 0 - 255 ]... 0
--------------------
Running for[ seconds ]................ 0
CPU Temperature[ max 70 °C ].......... 45
GPU Temperature[ max 70 °C ].......... 46
Fan PWM Duty Cycle value[ 0 - 255 ]... 0
--------------------
Stopping for[ seconds ]............... 120
CPU Temperature[ max 70 °C ].......... 45
GPU Temperature[ max 70 °C ].......... 46
Fan PWM Duty Cycle value[ 0 - 255 ]... 0
--------------------
Running for[ seconds ]................ 0
CPU Temperature[ max 70 °C ].......... 44
GPU Temperature[ max 70 °C ].......... 46
Fan PWM Duty Cycle value[ 0 - 255 ]... 0
--------------------
Stopping for[ seconds ]............... 120
CPU Temperature[ max 70 °C ].......... 44
GPU Temperature[ max 70 °C ].......... 46
Fan PWM Duty Cycle value[ 0 - 255 ]... 0
--------------------
Running for[ seconds ]................ 0
CPU Temperature[ max 70 °C ].......... 43
GPU Temperature[ max 70 °C ].......... 45
Fan PWM Duty Cycle value[ 0 - 255 ]... 0
--------------------
Stopping for[ seconds ]............... 120
CPU Temperature[ max 70 °C ].......... 43
GPU Temperature[ max 70 °C ].......... 45
Fan PWM Duty Cycle value[ 0 - 255 ]... 0
--------------------RE: Tool to Control Fan - fanctl - tuxd3v - 04-22-2019 (04-07-2019, 03:03 PM)Luke Wrote: Many thanks tuxd3v ! I'll retest with the values you suggested today and let you know how it goes Hello Luke, Yes, I remember that at the time, I wanted to make a optimisation , and that reflected in the first stage start outside active window too briefly.. I am in a project now, but has promised I will look into it, and correct it I suspect that for that, I will loose the optimisation I have done before( ..its around 0.0001% CPU time), but maybe I could improve, in another places to gain it back Thanks for you post on this subject, I confess, that with time I have forgotten it Best Regards RE: Tool to Control Fan - fanctl - Farley56 - 04-30-2019 Hi, Rock64Pro OMV Nas up and running. Trying to install the ATS script. 1. Installed the dependencies - no errors. 2. Here's error when I attempt to install the ats.master and it tries to start the service. Starting ATS Service.. ● ats.service - ATS - Active Thermal Service Loaded: loaded (/usr/local/lib/luarocks/rocks/ats/master-0/ats.service; enabled; vendor preset: enabled) Active: activating (auto-restart) (Result: exit-code) since Tue 2019-04-30 11:28:30 CDT; 23ms ago Process: 3352 ExecStart=/usr/local/sbin/ats (code=exited, status=127) Main PID: 3352 (code=exited, status=127) Apr 30 11:28:30 rock64pronas systemd[1]: ats.service: Unit entered failed state. Apr 30 11:28:30 rock64pronas systemd[1]: ats.service: Failed with result 'exit-code'. Makefile:224: recipe for target 'install' failed make: *** [install] Error 3 Error: Build error: Failed installing. RE: Tool to Control Fan - fanctl - tuxd3v - 04-30-2019 (04-30-2019, 10:33 AM)Farley56 Wrote: Hi, Rock64Pro OMV Nas up and running. Trying to install the ATS script.Hello Farley56, What I recommend, is to go always...to Stable Version.. ![]() 1) Please, remove the version you have installed.. First stop the running service: Code: service ats stopThen remove version installed: Code: luarocks remove ats2) Install Again: Code: luarocks build https://raw.githubusercontent.com/tuxd3v/ats/master/ats-master-0.rockspec2.1) This is the full output of a installation, using the master branch( Method 1. ) Code: root@rockpro64:~# luarocks build https://raw.githubusercontent.com/tuxd3v/ats/master/ats-master-0.rockspec
Cloning into 'ats'...
remote: Enumerating objects: 24, done.
remote: Counting objects: 100% (24/24), done.
remote: Compressing objects: 100% (22/22), done.
remote: Total 24 (delta 1), reused 9 (delta 0), pack-reused 0
Receiving objects: 100% (24/24), 105.25 KiB | 118.00 KiB/s, done.
Resolving deltas: 100% (1/1), done.
Warning: variable CFLAGS was not passed in build_variables
** PLATFORM = linux **
** OS = 64Bits **
** ARCH = armv8-a+crc **
** TUNE = cortex-a72.cortex-a53 **
gcc -c -march=armv8-a+crc -mtune=cortex-a72.cortex-a53 -fPIC -Wall -Werror -O3 -g -I/usr/include/lua5.3 -o debug.o src/debug.c
gcc -c -march=armv8-a+crc -mtune=cortex-a72.cortex-a53 -fPIC -Wall -Werror -O3 -g -I/usr/include/lua5.3 -o ats.o src/ats.c
gcc -shared -Wl,-soname,ats.so.0 -llua5.3 -o ats.so.0.9 debug.o ats.o
Install Method: LuaRocks ..
SystemD Detected ..
Searching for Previous Install, and Remove it:
removed '/etc/ats.conf'
removed '/lib/systemd/system/ats.service'
removed '/usr/local/sbin/ats'
removed '/usr/local/lib/lua/5.3/ats.so'
Install ATS Service File ..........: ats.service in '/usr/local/lib/luarocks/rocks/ats/master-0'
Install ATS Config ................: ats.config in '/usr/local/lib/luarocks/rocks/ats/master-0'
Install ATS Tool ..................: ats in '/usr/local/lib/luarocks/rocks/ats/master-0'
Install new ATS Library ...........: ats.so.0.9 in '/usr/local/lib/luarocks/rocks/ats/master-0'
Creating soname symLink ........: ats.so in '/usr/local/lib/luarocks/rocks/ats/master-0'
Creating Service symLink .......: ats.service in '/lib/systemd/system'
Creating Binary symLink ........: ats in '/usr/local/sbin/ats'
Creating Config symLink ........: ats.conf in '/etc/ats.conf'
Creating SharedObject symLink ..: ats.so.0.9 in '/usr/local/lib/lua/5.3'
Starting ATS Service..
● ats.service - ATS - Active Thermal Service
Loaded: loaded (/usr/local/lib/luarocks/rocks/ats/master-0/ats.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2019-04-30 18:17:03 WEST; 29ms ago
Main PID: 12959 (lua)
Tasks: 1 (limit: 4642)
CGroup: /system.slice/ats.service
└─12959 lua /usr/local/sbin/ats
Apr 30 18:17:03 rockpro64 systemd[1]: Started ATS - Active Thermal Service.
ats master-0 is now installed in /usr/local (license: See License..)3) Check if service is running: Code: root@rockpro64:~# service ats status
● ats.service - ATS - Active Thermal Service
Loaded: loaded (/usr/local/lib/luarocks/rocks/ats/master-0/ats.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2019-04-30 18:17:03 WEST; 18s ago
Main PID: 12959 (lua)
Tasks: 1 (limit: 4642)
CGroup: /system.slice/ats.service
└─12959 lua /usr/local/sbin/ats
Apr 30 18:17:03 rockpro64 systemd[1]: Started ATS - Active Thermal Service.4) Print ATS configuration running: Code: root@rockpro64:~# ats -t
info:'SYSTEM' Table
info: 'BOARD' Table
info: 'NAME' = ROCKPRO64
info: 'CPU' = RK3399
info: 'THERMAL0_CTL' = /sys/class/thermal/thermal_zone0/temp
info: 'THERMAL1_CTL' = /sys/class/thermal/thermal_zone1/temp
info: 'PWM_CTL' = /sys/class/hwmon/hwmon0/pwm1
info: 'MAX_CONTINUOUS_THERMAL_TEMP' = 60
info: 'MIN_CONTINUOUS_THERMAL_TEMP' = 40
info: 'MAX_PWM' = 255
info: 'MIN_PWM' = 40
info: 'ALWAYS_ON' = false
info: 'PROFILE_NAME' = profile0
info: 'PROFILE' = 0
info:'Pratio' timers
info: 'Pratio[ -20 - 40 [' = 0
info: 'Pratio[ 40 ]' = 40
info: 'Pratio[ 41 ]' = 50
info: 'Pratio[ 42 ]' = 61
info: 'Pratio[ 43 ]' = 72
info: 'Pratio[ 44 ]' = 83
info: 'Pratio[ 45 ]' = 93
info: 'Pratio[ 46 ]' = 104
info: 'Pratio[ 47 ]' = 115
info: 'Pratio[ 48 ]' = 126
info: 'Pratio[ 49 ]' = 136
info: 'Pratio[ 50 ]' = 147
info: 'Pratio[ 51 ]' = 158
info: 'Pratio[ 52 ]' = 169
info: 'Pratio[ 53 ]' = 179
info: 'Pratio[ 54 ]' = 190
info: 'Pratio[ 55 ]' = 201
info: 'Pratio[ 56 ]' = 212
info: 'Pratio[ 57 ]' = 222
info: 'Pratio[ 58 ]' = 233
info: 'Pratio[ 59 ]' = 244
info: 'Pratio[ 60 ]' = 255
info: 'Pratio[ 60 - 70 [' = 255
Stop ATS Service first [ service ats stop ]..Please, in the process above, Provide me, the output of installation, like in 2.1), so that I can debug it.. Regards, RE: Tool to Control Fan - fanctl - Farley56 - 04-30-2019 1. a. Install didn't finish so trying to stop the service returned this; Failed to stop ats.service: Unit ats.service not loaded. b. Trying to un-install returned this; Error: Could not find rock 'atsluarocks remove' in /usr/local 2. Trying to install the master-0 revision gave me the same error as previous attempt. root@rock64pronas:~# luarocks build https://raw.githubusercontent.com/tuxd3v/ats/master/ats-master-0.rockspec Cloning into 'ats'... remote: Enumerating objects: 24, done. remote: Counting objects: 100% (24/24), done. remote: Compressing objects: 100% (22/22), done. remote: Total 24 (delta 1), reused 9 (delta 0), pack-reused 0 Receiving objects: 100% (24/24), 105.25 KiB | 0 bytes/s, done. Resolving deltas: 100% (1/1), done. Warning: variable CFLAGS was not passed in build_variables ** PLATFORM = linux ** ** OS = 32Bits ** /usr/bin/env: 'lua': No such file or directory ** ARCH = armv7-a ** /usr/bin/env: 'lua': No such file or directory gcc -c -march=armv7-a -fPIC -Wall -Werror -O3 -g -I/usr/include/lua5.3 -o debug.o src/debug.c gcc -c -march=armv7-a -fPIC -Wall -Werror -O3 -g -I/usr/include/lua5.3 -o ats.o src/ats.c gcc -shared -Wl,-soname,ats.so.0 -llua5.3 -o ats.so.0.9 debug.o ats.o Install Method: LuaRocks .. SystemD Detected .. Searching for Previous Install, and Remove it: removed '/etc/ats.conf' removed '/lib/systemd/system/ats.service' removed '/usr/local/sbin/ats' removed '/usr/local/lib/lua/5.3/ats.so' Install ATS Service File ..........: ats.service in '/usr/local/lib/luarocks/rocks/ats/master-0' Install ATS Config ................: ats.config in '/usr/local/lib/luarocks/rocks/ats/master-0' Install ATS Tool ..................: ats in '/usr/local/lib/luarocks/rocks/ats/master-0' Install new ATS Library ...........: ats.so.0.9 in '/usr/local/lib/luarocks/rocks/ats/master-0' Creating soname symLink ........: ats.so in '/usr/local/lib/luarocks/rocks/ats/master-0' Creating Service symLink .......: ats.service in '/lib/systemd/system' Creating Binary symLink ........: ats in '/usr/local/sbin/ats' Creating Config symLink ........: ats.conf in '/etc/ats.conf' Creating SharedObject symLink ..: ats.so.0.9 in '/usr/local/lib/lua/5.3' Starting ATS Service.. ● ats.service - ATS - Active Thermal Service Loaded: loaded (/usr/local/lib/luarocks/rocks/ats/master-0/ats.service; enabled; vendor preset: enabled) Active: activating (auto-restart) (Result: exit-code) since Tue 2019-04-30 21:37:55 CDT; 28ms ago Process: 8244 ExecStart=/usr/local/sbin/ats (code=exited, status=127) Main PID: 8244 (code=exited, status=127) Apr 30 21:37:55 rock64pronas systemd[1]: ats.service: Failed with result 'exit-code'. Makefile:224: recipe for target 'install' failed make: *** [install] Error 3 Error: Build error: Failed installing. RE: Tool to Control Fan - fanctl - tuxd3v - 05-01-2019 (04-30-2019, 08:42 PM)Farley56 Wrote: 1. a. Install didn't finish so trying to stop the service returned this; Hello, Try to run this: Code: which lua Create it with: Code: ln -s /usr/bin/lua5.3 /usr/bin/luaAnd install again,it should work
RE: Tool to Control Fan - fanctl - Farley56 - 05-01-2019 Thanks for the suggestions. 1. which lua returned error. 2. Ran the ln command 3. which lua command now returns; /usr/bin/lua 4. Install of master revision now gives me this error; Starting ATS Service.. ● ats.service - ATS - Active Thermal Service Loaded: loaded (/usr/local/lib/luarocks/rocks/ats/master-0/ats.service; enabled; vendor preset: enabled) Active: activating (auto-restart) (Result: exit-code) since Wed 2019-05-01 14:12:05 CDT; 27ms ago Process: 21518 ExecStart=/usr/local/sbin/ats (code=exited, status=1/FAILURE) Main PID: 21518 (code=exited, status=1/FAILURE) May 01 14:12:05 rock64pronas systemd[1]: ats.service: Unit entered failed state. May 01 14:12:05 rock64pronas systemd[1]: ats.service: Failed with result 'exit-code'. Makefile:224: recipe for target 'install' failed make: *** [install] Error 3 Error: Build error: Failed installing. |