Closed Stadicus closed 5 years ago
Hello @Stadicus, ATS, is configured to start and stop more or less frequent accordingly with temperature.. If warmer, it stays more time on, if colder is stays more time off..
You can change that behaviour, or even the power it should apply, in '/etc/ats.conf' file, and then stop service and start again. You have in '/etc/ats.conf':
ALWAYS_ON = false,
You Can change it to:
ALWAYS_ON = true,
Fan will adjust power, but will be always on, inside active envelope[ 40 - 70 ]C degrees, at 70 or greater will shutdown for safety concerns.. You can also change that:
--- Temperature Control Constants
--
-- Max Temperature Allowed for adjusting fan pwm( On this threshold, and above, fan is always on MaxValue )
MAX_CONTINUOUS_THERMAL_TEMP = 60,
-- Min Temperature threshold to activate/deactivate Fan
MIN_CONTINUOUS_THERMAL_TEMP = 40,
Mine is now 10 months at full load, at around 50-55C, in the summer it goes until 58C sometimes, but don't pass that mark..it will dependent the region you are. heat-sink/fan you have/Humidity and so on
I don't have permission to see the vimeo video you have done. I don't know if you can permit access to that video, so that I can look at it. Overall, 44C degrees is very nice, but if you continue to stress it it should go higher until tops at a certain safe value, were power is always max( 255 )
Thanks for the quick answer. I think I misunderstood how the service is supposed to work and assumed the actual "always on" to be standard and the option "always on" to just run all the time, without cutoff below 40°C.
It works now perfectly, just as expected. For completeness, here's the real link to the screencast: https://vimeo.com/334078233.
Thanks so much for this amazing little tool, I've read through the release notes and it's obvious how much effort you put into it. Much apprechiated!
Thanks so much for this amazing little tool, I've read through the release notes and it's obvious how much effort you put into it. Much apprechiated!
Hello Stadicus, Yes indeed.. Sometimes we start something, and then we realise that...its not so simple..
This project passed several phases. First was pure Lua based, then I had it consuming around 15ns/Per CPU each processing second, to go bellow that, I was in the need to implement a Lua C Module, so that I could manage only some things.. Then I got it around 12ns/CPU second time..it was when I realised that something else was needed..
ATS is now pre-calculating its entire Own/Temperature curves,at beginning, by Interpolated Methods( Like the Graphic Cards do and other devices.. ), then it uses it only in time, with less processing power :) With optimisations it his now with 10.4ns/CPU Second Time, which translates to around 0.001% CPU time, I think its a good value, maybe I can go to 0.0009%..maybe, but its very difficult now..
Values like this, are difficult also to measure, has you have to put your code to test a month, or even more, to then translate all days/hours to seconds, so that you can get a Mean CPU Time Utilisation per Second, since the values are nanoseconds..
Now I liked to add control of a second Fan, and disks.. For that it will be needed a kernel driver for the second fan pwn, and a kernel driver for disk temperature check. but that will come later in time :)
Appreciated, for your recognition of the work been done! Best Regards
The installation process and activation on my RockPro64 board is super-easy. The systemd unit is active immediately and I can test the program.
When running
stress -c 6
to heat up the machine, the fan comes on above 40°C, but it stops again after a short while. It comes on & stops again, repeatedly, without the temperature going down below 44°C.To demonstrate I made a quick screencast that shows the two thermal zones and the pwm1 fan control file (the middle pane): https://vimeo.com/manage/334078233/general
No changes were made in the configuration. I don't think anything else interferes with the control, as when I just
echo 255 > /sys/class/hwmon/hwmon0/pwm1
the fan stays at full speed indefinitely.