Tool to Control Fan - fanctl
(08-02-2019, 09:51 AM)tuxd3v Wrote:
(08-02-2019, 09:16 AM)g_t_j Wrote: It would be very nice for Pine64 to gather all this info and make a clear step-by-step guide that would 
stop the end user from getting these errors as ATS is currently part of the build and a rather essential component for RockPro54 NAS.

As for ats, is there a general advice on how to configure it? 
From what I understand, ats will trigger the fan based on CPU temperature and not HDD temperature which, to my understanding, is not ideal as the drives might still be in need of cooling even if the CPU load is low. 

Am I better off leaving ats at the default settings?

Thanks once again for your precious help, advice and patience! 
It's been a while since I visited these forums and am glad that the community is developing into something this helpful and supporting! Smile
Hello g_t_j,
You welcome.. Smile 

A package could be created for that,
I currently doesn't have the time, but with somebody else, it could be made..

Yes ats has a thread with help on setup,
Since each setup could be different for every user( different Active cooling Setup/Different Globe Region.. )
Better to configure how it works better for you 

Agree, with the disk, input..
Will make part of next release, so that there will be 3 sources of temperature( CPU, GPU, HDD )..  Shy

Best Regards,

Your contribution to this is very evident and thank you so much for making this community friendly and helpful. I'm sure TLlim wants members like you here Smile

Are you the developer of ATS? It's great to know that in a future version there will be a choice of triggering the fan by the HDDs temperature! That's the most important part of this utility in my opinion.
  Reply
(08-02-2019, 02:09 PM)g_t_j Wrote: Your contribution to this is very evident and thank you so much for making this community friendly and helpful. I'm sure TLlim wants members like you here Smile 

Are you the developer of ATS? It's great to know that in a future version there will be a choice of triggering the fan by the HDDs temperature! That's the most important part of this utility in my opinion.

Hello g_t_j,
Well, thanks
A community is so strong has how its members are friendly, educated, respectable, and share something with others. Shy 

Yes, I am,
It passed for several phases..
To be honest, it started has a Script, because I wanted to check stability of the Board on this Soc, also its performance, and were it could be optimised, and for that I needed Active cooling..

Like many other projects..
It evolved to something more optimised, giving the opportunity to people to do their changes..

The disk temps readings, is not a so easy thing, each time you read disk temps you wake disk up( if they are in StandBy.. ).. and waist a Load/Unload cycle of life of that disk..
Now imagine doing it at each 10 minutes, lets say...in a Year, yeah crazy right?!

So I will try via SCSI, to prevent the wakeup, but I don't know if it will work on all disks( maybe there are disks out there that even via scsi will wake up.. )..
Any way,
Will be there on '/etc/ats.conf' options to enable, disable, and time between temp readings..
The thread about 'ats', will also be updated when done..

I understand that for people that don't use too much CPU, the disk part is more important..
My RockPro64 is for ~12 -13 Months under full load,
stable, no problems, for me the CPU/GPU temps were more important at the time, I don't wanted temps to go above 50's C..  Shy
I tested several options, heatsinks/fans hehe,
I even have have a WaterCooling System, for a Compute Cluster of 8 Boards.. but needs some love to go ahead..

One Option is to get readings via i2c or something, from the 8 Boards, plus a small Board( to control/Distribute work to the 8 board, 48 cores..)..
But I have not decided yet, what to use..
Right now, 3 options exist..
Use my own 8 bit processor implementation( but it still lacks i2c or uart.. ), a 32bit ARM low power, or, the last idea..going RISC-V, with a 32 bit implementation for the controller..

For one side it would be nice to use my own cpu implementation, that would force me to develop its peripherals..for other side, that could turn it in a year plus work( I still need to implement Interrupts in it too.. ), and I still have 9 intructions using 2 clock cycles... but I have already found the answer for that.. Cool 
So probably I will go with a arm micro-controller, or risc-v..

I hope to add a amoled display, which will show temps, frequency, cpu load on the 54 cores, and power Consumption of all cluster..

I still am undecided on how to distribute work, on the cluster, I am trying to figure out a interconnect, so that CPUs could speak to each other, avoiding Ethernet latency costs..

Any way, a community task force, would be great..
But the project it is still is a 'dream phase', you know.., the good things in life...take time!!  Shy
  Reply
Hello all,

Was fixed a bug in ATS,
When,
'ALWAYS_ON = true'

Initially, sometimes, ATS had problems to acquire the actual PWM state( when service starts..it was a random situation.. ), and so ats now ships with the initial pwm value set to 190 be default( its the initial value before it start to compute the trip trigger points.. )..

I have done some tests yesterday during the night, and it seems ok, its now in the master branch, if someone wants it.

next release will be a point fix release to eliminate older profile code, to solve Luke's reported bug, and to install to Luarocks place, so that you can remove it easily( if you want to ), with 'luarocks remove ats'..

After that,

I will start to add more features like, disk temp monitoring( I need yet to think in a good priority mechanism, so that ats can choose what temps are dangerous, and what don't, between disks, cpu, gpu.. ).. 
  Reply
(10-05-2019, 08:04 AM)tuxd3v Wrote: Hello all,

Was fixed a bug in ATS,
When,
'ALWAYS_ON = true'

Initially, sometimes, ATS had problems to acquire the actual PWM state( when service starts..it was a random situation.. ), and so ats now ships with the initial pwm value set to 190 be default( its the initial value before it start to compute the trip trigger points.. )..

I have done some tests yesterday during the night, and it seems ok, its now in the master branch, if someone wants it.

next release will be a point fix release to eliminate older profile code, to solve Luke's reported bug, and to install to Luarocks place, so that you can remove it easily( if you want to ), with 'luarocks remove ats'..

After that,

I will start to add more features like, disk temp monitoring( I need yet to think in a good priority mechanism, so that ats can choose what temps are dangerous, and what don't, between disks, cpu, gpu.. ).. 

Hallo tuxd3v

I have problem with the fan, it keeps spinning 24/7.
how do i fix this?

Code:
:~$ uname -a
Linux RockHomeServer 5.10.16-rockchip64 #21.02.2 SMP PREEMPT Sun Feb 14 21:35:01 CET 2021 aarch64 GNU/Linux

Code:
~$ sudo 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' = ERROR
info: 'MAX_CONTINUOUS_THERMAL_TEMP' = 60
info: 'MIN_CONTINUOUS_THERMAL_TEMP' = 50
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 - 50 [' = 0
info: 'Pratio[ 50 ]' = 40
info: 'Pratio[ 51 ]' = 61
info: 'Pratio[ 52 ]' = 83
info: 'Pratio[ 53 ]' = 104
info: 'Pratio[ 54 ]' = 126
info: 'Pratio[ 55 ]' = 147
info: 'Pratio[ 56 ]' = 169
info: 'Pratio[ 57 ]' = 190
info: 'Pratio[ 58 ]' = 212
info: 'Pratio[ 59 ]' = 233
info: 'Pratio[ 60 ]' = 255
info: 'Pratio[ 60 - 70 [' = 255
Stop ATS Service first [ service ats stop ]..

Code:
:~$ systemctl status 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 Wed 2021-02-24 18:23:19 CET; 1h 12min ago
Main PID: 16609 (lua)
Tasks: 1 (limit: 4382)
Memory: 336.0K
CGroup: /system.slice/ats.service
└─16609 lua /usr/local/sbin/ats

Code:
:~$ sudo ats -v
ATS --- Active Termal Service, Powered by: Lua 5.3
-- Copyright © 2018 Carlos Dominguestuxd3v@sapo.pt
-- Version: 0.2.0

Code:
:~$ armbianmonitor -m
Running unprivileged. CPU frequency will not be displayed.
Stop monitoring using [ctrl]-[c]
Time       big.LITTLE   load %cpu %sys %usr %nice %io %irq   CPU  C.St.

20:34:00:   ---      1.36  27%  10%  15%   0%   1%   0% 30.0°C  0/5
20:34:05:   ---      1.25   3%   1%   1%   0%   0%   0% 30.0°C  0/5
20:34:10:   ---      1.15   3%   1%   1%   0%   0%   0% 30.0°C  0/5
20:34:16:   ---      1.06   3%   1%   1%   0%   0%   0% 30.0°C  0/5
20:34:21:   ---      0.97   3%   1%   1%   0%   0%   0% 30.0°C  0/5^[[1;5B
20:34:26:   ---      0.89   2%   1%   0%   0%   0%   0% 30.0°C  0/5
20:34:31:   ---      0.82   2%   0%   1%   0%   0%   0% 30.0°C  0/5
20:34:36:   ---      0.76   4%   1%   2%   0%   0%   0% 30.0°C  0/5
20:34:41:   ---      0.70   2%   1%   1%   0%   0%   0% 29.4°C  0/5
20:34:46:   ---      0.72   3%   0%   2%   0%   0%   0% 29.4°C  0/5
20:34:51:   ---      0.66   2%   0%   1%   0%   0%   0% 29.4°C  0/5
20:34:57:   ---      0.61   3%   1%   1%   0%   0%   0% 29.4°C  0/5
20:35:02:   ---      0.56   3%   1%   2%   0%   0%   0% 30.0°C  0/5
20:35:07:   ---      0.68   3%   1%   2%   0%   0%   0% 29.4°C  0/5
  Reply
@tuxd3v I didn't make the experience that you have to wake up disks each time you read their temperature. It probably depends on the disk and how you read the temps.

In my setup, I have two large Toshiba 3.5" disks. When I try to read their temperature via "hddtemp" I get the message that the disks are spun down and their temperature can't be read. If I try to read their temperature via smartctl (from smartmontools package) I get the temperature and the disks seem to be still spun down.
  Reply
(03-07-2021, 07:19 AM)kuleszdl Wrote: If I try to read their temperature via smartctl (from smartmontools package) I get the temperature and the disks seem to be still spun down.
What is the command in the console / terminal for SMART Tool to read the temperature?
  Reply
@Neo2018 One way to accomplish this is:

Code:
smartctl --all /dev/sda|grep -i temp

Not sure if there is a "smarter" way to extract just the single value.
  Reply
(03-14-2021, 05:38 PM)kuleszdl Wrote: @Neo2018  One way to accomplish this is:

Code:
smartctl --all /dev/sda|grep -i temp

Not sure if there is a "smarter" way to extract just the single value.

I don't know if that's what you're looking for or what is meant, but that's what I found out:
at hddtemp the standard output is:
Code:
/dev/sda: ST1********08-***03: drive is sleeping

The temperature is only displayed when the hard disk/hdd is in use:
Code:
/dev/sda: ST1********08-***03: 40°C

Therefore you can ignore the output of hddtemp!
There is still hdparm, but here too the output is confusing.
  1. output: /dev/sda: drive state is: active/idle > means that the HDD is in active work!
  2. output: /dev/sda: drive state is: unknown  > means that the HDD is working or waiting, idling!
  3. output: /dev/sda: drive state is: standby    > means that the HDD is asleep or in standby!

The good thing is that if the HDD is in standby/sleeps, they are not activated, because, for example, when you query with smartctl --all /dev/sda | grep -i temp, the HDD is brought out of standby/sleepy.

Code:
$ 'date' && sudo hddtemp /dev/sda && sudo  hddtemp /dev/sdc && sudo hddtemp /dev/sdb && sudo hdparm -C /dev/sda && sudo hdparm -C /dev/sdc && sudo hdparm -C /dev/sdb

Mo 15. Mär 10:14:17 CET 2021
/dev/sda: ST10000VN0008-2PJ103: drive is sleeping
/dev/sdc: ST8000VN0022-2EL112: drive is sleeping
/dev/sdb: WDC WD5000LUCT-63RC2Y0: 39°C

/dev/sda:
drive state is:  unknown

/dev/sdc:
drive state is:  standby

/dev/sdb:
drive state is:  active/idle
Code:
$ sudo smartctl --all /dev/sda|grep -i temp
190 Airflow_Temperature_Cel 0x0022   061   049   040    Old_age   Always       -       39 (Min/Max 30/45)
194 Temperature_Celsius     0x0022   039   045   000    Old_age   Always       -       39 (0 22 0 0 0)


maybe help to understand that
  Reply
(02-24-2021, 01:42 PM)Neo2018 Wrote: I have problem with the fan, it keeps spinning 24/7.
how do i fix this?

Solution to my problem was:

In '/etc/ats.conf' use for PWM_CTL, the '/sys/devices/platform/pwm-fan/hwmon/hwmon3/pwm1'

Works! Thanks a lot! @tuxd3v
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  PWM Fan Control Python Script superbox 0 1,270 02-04-2022, 10:02 PM
Last Post: superbox

Forum Jump:


Users browsing this thread: 2 Guest(s)