PID fan controller Perl script

thepixelgeek

Patron
Joined
Jan 21, 2016
Messages
271
How do I know it's working correctly? Fans were cycling but now seemed to be on full all the time. My system is brand new, just recently setup, and not being utilized yet.

Steps I've done thus far:
1. Uploaded the script file to the root directory
2. SSH into box, used tmux to run ./scriptname (tmux didn't show anything) *It's worth mentioning that 5 minutes after running the script, freenas box restarted.
3. After restart, I moved the script file to /mnt/pool/scripts/ since I was unable to do an Init script from root.

Script file edits:
$cpu_max_fan_speed = 2000;
$hd_max_fan_speed = 1500;
$cpu_fan_header = "FAN1";
$hd_fan_header = "FANA"

Grep FAN:
Code:
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000

FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na

FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na

FAN4             | 3000.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000

FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000


Debug:
Code:
2019-12-30 12:19:19: core_temp = 24.0 C

2019-12-30 12:19:19: core_temp = 24.0 C

2019-12-30 12:19:19: core_temp = 27.0 C

2019-12-30 12:19:19: core_temp = 27.0 C

2019-12-30 12:19:19: core_temp = 26.0 C

2019-12-30 12:19:19: core_temp = 26.0 C

2019-12-30 12:19:19: core_temp = 26.0 C

2019-12-30 12:19:19: core_temp = 28.0 C

2019-12-30 12:19:19: CPU Temp: 28.0

2019-12-30 12:19:19: CPU Fan: low

2019-12-30 12:19:19: fan_speed = 1900

2019-12-30 12:19:19: CPU Fan speed: 1900 RPM

2019-12-30 12:19:20: fan_speed = 1500

2019-12-30 12:19:20: HD Fan speed: 1500 RPM

2019-12-30 12:19:20: CPU fan speed should be low, but 1900 > 1600.

2019-12-30 12:19:20: HD fan speed should be low, but 1500 > 1200.

2019-12-30 12:19:20: bmc_fail_count:  1, bmc_fail_threshold: 1

2019-12-30 12:19:20: Fan speeds are not where they should be, will try again.

2019-12-30 12:19:20: fanmode: full = 1

2019-12-30 12:19:20: Setting fan mode to 1 (full)


Log:
Code:
PID Fan Controller Log  ---  Target 4 Disk HD Temperature = 37.50 deg C  ---  PID Control Gains: Kp =  5.333, Ki =  0.000, Kd =  96.0

                                                                                 Max   Ave  Temp   Fan   Fan  Fan %   CPU    P      I      D      Fan

2019-12-30 da0  da1  da2  da3  da4  da5  da6  da7 ada0 ada1 ada2 ada3 ada4 ada5 Temp  Temp   Err  Mode   RPM Old/New Temp  Corr   Corr   Corr    Duty

12:05:56   30   32   31   32   37   37   30   30   27   26   29   29   29   29  ^37  34.50 -3.00  Full   166  60/36   33 -24.00  -0.00    0.00   36.00%


PID Fan Controller Log  ---  Target 4 Disk HD Temperature = 37.50 deg C  ---  PID Control Gains: Kp =  5.333, Ki =  0.000, Kd =  96.0
                                                                                 Max   Ave  Temp   Fan   Fan  Fan %   CPU    P      I      D      Fan
2019-12-30 da0  da1  da2  da3  da4  da5  da6  da7 ada0 ada1 ada2 ada3 ada4 ada5 Temp  Temp   Err  Mode   RPM Old/New Temp  Corr   Corr   Corr    Duty
12:06:49   30   32   31   32   37   37   30   30   27   26   29   29   29   28  ^37  34.50 -3.00  Full   166  60/36   33 -24.00  -0.00    0.00   36.00%
12:08:19   30   32   31   32   37   37   30   30   27   26   29   29   29   28  ^37  34.50 -3.00  Full   500  36/20   30 -24.00   0.00    0.00   20.00%
12:09:49   30   32   30   32   36   37   30   30   27   26   29   29   28   28  ^37  34.25 -3.25  Full   466  20/20   32 -26.00  -0.00  -16.00   20.00%
12:11:19   30   32   30   32   36   36   30   30   27   26   29   29   28   28  ^36  34.00 -3.50  Full   500  20/20   32 -28.00  -0.00  -16.00   20.00%
12:12:49   30   32   30   32   36   36   30   30   27   26   29   29   28   28  ^36  34.00 -3.50  Full   100  20/20   31 -28.00  -0.00    0.00   20.00%
12:14:19   30   32   30   32   36   36   30   30   27   26   28   28   28   28  ^36  34.00 -3.50  Full   500  20/20   33 -28.00  -0.00    0.00   20.00%
12:15:49   30   32   30   32   36   36   30   30   27   26   28   28   28   28  ^36  34.00 -3.50  Full   466  20/20   29 -28.00  -0.00    0.00   20.00%
12:17:19   30   32   30   32   36   36   30   30   27   26   28   28   28   28  ^36  34.00 -3.50  Full     0  20/20   33 -28.00  -0.00    0.00   20.00%
12:18:50   30   32   30   32   36   36   30   30   27   26   28   28   28   28  ^36  34.00 -3.50  Full   500  20/20   35 -28.00  -0.00    0.00   20.00%
 
Last edited:
Joined
Dec 2, 2015
Messages
730
How do I know it's working correctly? Fans were cycling but now seemed to be on full all the time. My system is brand new, just recently setup, and not being utilized yet.

Steps I've done thus far:
1. Uploaded the script file to the root directory
2. SSH into box, used tmux to run ./scriptname (tmux didn't show anything) *It's worth mentioning that 5 minutes after running the script, freenas box restarted.
3. After restart, I moved the script file to /mnt/pool/scripts/ since I was unable to do an Init script from root.

Script file edits:
Code:
$cpu_max_fan_speed    = 2000;
$hd_max_fan_speed     = 1500;
$cpu_fan_header = "FAN1";
$hd_fan_header  = "FANA"


Grep FAN:
Code:
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 3000.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000


Debug:
Code:
2019-12-30 12:19:19: core_temp = 24.0 C
2019-12-30 12:19:19: core_temp = 24.0 C
2019-12-30 12:19:19: core_temp = 27.0 C
2019-12-30 12:19:19: core_temp = 27.0 C
2019-12-30 12:19:19: core_temp = 26.0 C
2019-12-30 12:19:19: core_temp = 26.0 C
2019-12-30 12:19:19: core_temp = 26.0 C
2019-12-30 12:19:19: core_temp = 28.0 C
2019-12-30 12:19:19: CPU Temp: 28.0
2019-12-30 12:19:19: CPU Fan: low
2019-12-30 12:19:19: fan_speed = 1900
2019-12-30 12:19:19: CPU Fan speed: 1900 RPM
2019-12-30 12:19:20: fan_speed = 1500
2019-12-30 12:19:20: HD Fan speed: 1500 RPM
2019-12-30 12:19:20: CPU fan speed should be low, but 1900 > 1600.
2019-12-30 12:19:20: HD fan speed should be low, but 1500 > 1200.
2019-12-30 12:19:20: bmc_fail_count:  1, bmc_fail_threshold: 1
2019-12-30 12:19:20: Fan speeds are not where they should be, will try again.
2019-12-30 12:19:20: fanmode: full = 1
2019-12-30 12:19:20: Setting fan mode to 1 (full)


Log:
Code:
PID Fan Controller Log  ---  Target 4 Disk HD Temperature = 37.50 deg C  ---  PID Control Gains: Kp =  5.333, Ki =  0.000, Kd =  96.0
                                                                                 Max   Ave  Temp   Fan   Fan  Fan %   CPU    P      I      D      Fan
2019-12-30 da0  da1  da2  da3  da4  da5  da6  da7 ada0 ada1 ada2 ada3 ada4 ada5 Temp  Temp   Err  Mode   RPM Old/New Temp  Corr   Corr   Corr    Duty
12:05:56   30   32   31   32   37   37   30   30   27   26   29   29   29   29  ^37  34.50 -3.00  Full   166  60/36   33 -24.00  -0.00    0.00   36.00%


PID Fan Controller Log  ---  Target 4 Disk HD Temperature = 37.50 deg C  ---  PID Control Gains: Kp =  5.333, Ki =  0.000, Kd =  96.0
                                                                                 Max   Ave  Temp   Fan   Fan  Fan %   CPU    P      I      D      Fan
2019-12-30 da0  da1  da2  da3  da4  da5  da6  da7 ada0 ada1 ada2 ada3 ada4 ada5 Temp  Temp   Err  Mode   RPM Old/New Temp  Corr   Corr   Corr    Duty
12:06:49   30   32   31   32   37   37   30   30   27   26   29   29   29   28  ^37  34.50 -3.00  Full   166  60/36   33 -24.00  -0.00    0.00   36.00%
12:08:19   30   32   31   32   37   37   30   30   27   26   29   29   29   28  ^37  34.50 -3.00  Full   500  36/20   30 -24.00   0.00    0.00   20.00%
12:09:49   30   32   30   32   36   37   30   30   27   26   29   29   28   28  ^37  34.25 -3.25  Full   466  20/20   32 -26.00  -0.00  -16.00   20.00%
12:11:19   30   32   30   32   36   36   30   30   27   26   29   29   28   28  ^36  34.00 -3.50  Full   500  20/20   32 -28.00  -0.00  -16.00   20.00%
12:12:49   30   32   30   32   36   36   30   30   27   26   29   29   28   28  ^36  34.00 -3.50  Full   100  20/20   31 -28.00  -0.00    0.00   20.00%
12:14:19   30   32   30   32   36   36   30   30   27   26   28   28   28   28  ^36  34.00 -3.50  Full   500  20/20   33 -28.00  -0.00    0.00   20.00%
12:15:49   30   32   30   32   36   36   30   30   27   26   28   28   28   28  ^36  34.00 -3.50  Full   466  20/20   29 -28.00  -0.00    0.00   20.00%
12:17:19   30   32   30   32   36   36   30   30   27   26   28   28   28   28  ^36  34.00 -3.50  Full     0  20/20   33 -28.00  -0.00    0.00   20.00%
12:18:50   30   32   30   32   36   36   30   30   27   26   28   28   28   28  ^36  34.00 -3.50  Full   500  20/20   35 -28.00  -0.00    0.00   20.00%
The log dumps are a lot easier to read if you put them inside CODE tags (instructions) - see the edits I made to your reply above. This forces the use of a monospaced font so the columns line up with the headers, and it shortens the display of long bits of code (but the reader can scroll to see it, if needed).

Something looks to be off the rails somewhere, as the logs suggest the script is not controlling fan speed correctly. Your signature says you are using an X11SSM-F board. Is this correct? The script was developed for the X10 series boards, as that is what I'm using. If you look a bit earlier in this thread you'll find at least one person who sort of got it working on an X11 board by making a couple of mods to the script, but it sounded like he wasn't completely happy with the way it worked. Neither of my systems have an X11 board, so I cannot do any testing.
 
Joined
Dec 2, 2015
Messages
730
Looking again at the logs, we see the HD fan speed going very low. It is possible that the script is setting the duty cycle low enough that the fan stalls and stops. Try increasing the value in the variable $hd_fan_duty_low - this is the minimum duty cycle. One of my boards stalls the fan if that value is less than 20. The fans on my other board can tolerate down to 16. Maybe your fans need a higher value. Try 30. If that works, you can iterate down to a lower value if desired until you figure out what the minimum acceptable value is.
 

thepixelgeek

Patron
Joined
Jan 21, 2016
Messages
271
Yes, X11 board.

Low duty is now set to 30.

Do I restart freenas to engage the updated script?
 

thepixelgeek

Patron
Joined
Jan 21, 2016
Messages
271
Restarted FreeNas. Fans are cycling again and not fully on.

Here's the new output:

Code:
PID Fan Controller Log  ---  Target 4 Disk HD Temperature = 37.50 deg C  ---  PID Control Gains: Kp =  5.333, Ki =  0.000, Kd =  96.0
                                                                                 Max   Ave  Temp   Fan   Fan  Fan %   CPU    P      I      D      Fan
2019-12-30 da0  da1  da2  da3  da4  da5  da6  da7 ada0 ada1 ada2 ada3 ada4 ada5 Temp  Temp   Err  Mode   RPM Old/New Temp  Corr   Corr   Corr    Duty
14:37:31   27   29   28   30   33   33   28   27   26   25   27   26   26   26  ^33  31.25 -6.25  Full   500  60/30   29 -50.00  -0.00    0.00   30.00%
14:39:01   27   29   28   30   33   33   28   27   26   25   27   26   26   26  ^33  31.25 -6.25  Full   500  30/30   29 -50.00  -0.00    0.00   30.00%
14:40:31   27   29   28   30   33   33   28   27   26   25   27   26   26   26  ^33  31.25 -6.25  Full   500  30/30   32 -50.00  -0.00    0.00   30.00%
14:42:01   27   29   28   30   33   33   28   27   26   25   27   26   26   26  ^33  31.25 -6.25  Full   500  30/30   31 -50.00  -0.00    0.00   30.00%
14:43:31   27   29   28   30   33   33   28   27   26   25   27   26   26   26  ^33  31.25 -6.25  Full   500  30/30   28 -50.00  -0.00    0.00   30.00%
14:45:01   27   29   28   30   33   33   28   27   26   25   27   26   26   26  ^33  31.25 -6.25  Full     0  30/30   32 -50.00  -0.00    0.00   30.00%
14:46:31   27   29   28   30   33   34   28   27   26   25   27   27   26   26  ^34  31.50 -6.00  Full   500  30/30   31 -48.00  -0.00   16.00   30.00%
14:48:01   27   29   28   30   33   34   28   27   26   25   27   27   26   26  ^34  31.50 -6.00  Full   500  30/30   32 -48.00  -0.00    0.00   30.00%
14:49:31   27   29   28   30   34   34   28   27   26   25   27   27   26   26  ^34  31.75 -5.75  Full     0  30/30   31 -46.00  -0.00   16.00   30.00%
14:51:35   28   29   28   30   34   34   28   28   26   25   27   27   27   26  ^34  31.75 -5.75  Full     0  30/30   32 -46.00  -0.00    0.00   30.00%
14:53:04   28   29   28   30   34   34   28   28   26   25   27   27   27   26  ^34  31.75 -5.75  Full   500  30/30   31 -46.00  -0.00    0.00   30.00%
14:54:34   28   29   28   30   34   34   28   28   26   25   27   27   27   26  ^34  31.75 -5.75  Full   500  30/30   30 -46.00  -0.00    0.00   30.00%
14:56:04   28   29   28   30   34   34   28   28   26   25   27   27   27   26  ^34  31.75 -5.75  Full   466  30/30   33 -46.00  -0.00    0.00   30.00%
14:57:34   28   29   28   30   34   34   28   28   26   25   27   27   27   26  ^34  31.75 -5.75  Full   500  30/30   31 -46.00   0.00    0.00   30.00%
14:59:04   28   29   28   30   34   34   28   28   26   25   27   27   27   26  ^34  31.75 -5.75  Full   500  30/30   30 -46.00  -0.00    0.00   30.00%
15:00:34   28   29   28   30   34   34   28   28   26   25   27   27   27   26  ^34  31.75 -5.75  Full   500  30/30   32 -46.00  -0.00    0.00   30.00%
15:02:05   28   29   28   30   34   34   28   28   26   25   27   27   27   26  ^34  31.75 -5.75  Full   500  30/30   29 -46.00  -0.00    0.00   30.00%
15:03:34   28   29   28   30   34   34   28   28   26   25   27   27   27   26  ^34  31.75 -5.75  Full   500  30/30   30 -46.00  -0.00    0.00   30.00%
15:05:05   28   29   28   30   34   34   28   28   26   25   27   27   27   26  ^34  31.75 -5.75  Full   500  30/30   33 -46.00  -0.00    0.00   30.00%
15:06:35   28   29   28   30   34   34   28   28   26   25   27   27   27   26  ^34  31.75 -5.75  Full   500  30/30   29 -46.00  -0.00    0.00   30.00%
15:08:05   28   29   28   30   34   34   28   28   26   25   27   27   27   26  ^34  31.75 -5.75  Full   500  30/30   31 -46.00  -0.00    0.00   30.00%
15:09:36   28   29   28   30   34   34   28   28   26   25   27   27   27   26  ^34  31.75 -5.75  Full   500  30/30   28 -46.00   0.00    0.00   30.00%
15:11:06   28   29   28   30   34   34   28   28   26   25   27   27   26   26  ^34  31.75 -5.75  Full   466  30/30   29 -46.00  -0.00    0.00   30.00%
15:12:36   28   29   28   30   34   34   28   28   26   25   27   27   27   26  ^34  31.75 -5.75  Full   500  30/30   29 -46.00  -0.00    0.00   30.00%
15:14:53   28   29   28   30   34   34   28   28   26   25   27   27   27   26  ^34  31.75 -5.75  Full     0  30/30   32 -46.00  -0.00    0.00   30.00%
15:15:36   28   29   28   30   34   34   28   28   26   25   27   27   27   26  ^34  31.75 -5.75  Full  4266  30/30   29 -46.00  -0.00    0.00   30.00%
15:17:06   28   29   28   30   34   34   28   28   26   25   27   27   27   26  ^34  31.75 -5.75  Full   500  30/30   32 -46.00  -0.00    0.00   30.00%
15:18:36   28   29   28   30   34   34   28   28   26   25   27   27   27   26  ^34  31.75 -5.75  Full     0  30/30   31 -46.00  -0.00    0.00   30.00%
15:20:11   28   29   28   30   34   34   28   28   26   25   27   27   27   27  ^34  31.75 -5.75  Full   500  30/30   31 -46.00  -0.00    0.00   30.00%
15:22:11   28   29   28   30   34   34   28   28   26   25   27   27   27   27  ^34  31.75 -5.75  Full     0  30/30   31 -46.00   0.00    0.00   30.00%
15:23:41   28   30   28   30   34   35   28   28   26   25   27   27   27   27  ^35  32.25 -5.25  Full   466  30/30   31 -42.00  -0.00   32.00   30.00%
15:25:11   28   30   28   30   34   35   28   28   26   25   27   27   27   27  ^35  32.25 -5.25  Full   500  30/30   33 -42.00  -0.00    0.00   30.00%
15:26:41   28   30   28   30   34   35   28   28   26   25   27   27   27   27  ^35  32.25 -5.25  Full   466  30/30   28 -42.00  -0.00    0.00   30.00%
15:28:11   28   30   28   30   34   35   28   28   26   25   27   27   27   27  ^35  32.25 -5.25  Full   500  30/30   30 -42.00  -0.00    0.00   30.00%
15:29:41   28   30   28   30   34   34   28   28   26   26   27   27   27   27  ^34  32.00 -5.50  Full   466  30/30   31 -44.00  -0.00  -16.00   30.00%
15:31:11   28   30   28   30   34   34   28   28   26   26   27   27   27   27  ^34  32.00 -5.50  Full   500  30/30   28 -44.00   0.00    0.00   30.00%
15:32:42   28   30   29   30   35   35   28   28   26   26   27   27   27   27  ^35  32.50 -5.00  Full   500  30/30   31 -40.00  -0.00   32.00   30.00%
15:34:48   28   30   29   30   34   34   28   28   27   26   28   27   27   27  ^34  32.00 -5.50  Full     0  30/30   35 -44.00  -0.00  -32.00   30.00%
15:36:17   28   30   29   30   35   35   29   28   27   27   28   28   27   27  ^35  32.50 -5.00  Full   500  30/30   35 -40.00  -0.00   32.00   30.00%
15:37:47   28   30   29   31   35   35   29   28   27   27   28   28   27   27  ^35  32.75 -4.75  Full     0  30/30   31 -38.00  -0.00   16.00   30.00%
15:39:18   29   31   29   31   35   35   29   29   27   27   28   28   28   27  ^35  33.00 -4.50  Full   466  30/30   30 -36.00  -0.00   16.00   30.00%
15:41:02   29   31   29   31   35   35   29   29   27   27   28   28   28   28  ^35  33.00 -4.50  Full     0  30/30   35 -36.00  -0.00    0.00   30.00%
15:42:31   29   31   29   31   35   35   29   29   27   27   28   28   28   28  ^35  33.00 -4.50  Full   500  30/30   32 -36.00  -0.00    0.00   30.00%
15:44:02   29   31   30   31   35   35   29   29   27   27   28   28   28   28  ^35  33.00 -4.50  Full   500  30/30   31 -36.00  -0.00    0.00   30.00%
15:45:31   29   31   30   31   35   35   29   29   27   27   29   28   28   28  ^35  33.00 -4.50  Full   500  30/30   32 -36.00  -0.00    0.00   30.00%
15:47:02   29   31   30   32   35   35   29   29   27   27   29   28   28   28  ^35  33.25 -4.25  Full     0  30/30   32 -34.00  -0.00   16.00   30.00%


Code:
2019-12-30 15:47:47: core_temp = 25.0 C
2019-12-30 15:47:47: core_temp = 25.0 C
2019-12-30 15:47:47: core_temp = 26.0 C
2019-12-30 15:47:47: core_temp = 28.0 C
2019-12-30 15:47:47: core_temp = 28.0 C
2019-12-30 15:47:47: core_temp = 28.0 C
2019-12-30 15:47:47: core_temp = 26.0 C
2019-12-30 15:47:47: core_temp = 26.0 C
2019-12-30 15:47:47: CPU Temp: 28.0
2019-12-30 15:47:47: CPU Fan: low
2019-12-30 15:47:48: core_temps:
27.0
27.0
24.0
24.0
27.0
27.0
29.0
29.0
2019-12-30 15:47:48: core_temp = 27.0 C
2019-12-30 15:47:48: core_temp = 27.0 C
2019-12-30 15:47:48: core_temp = 24.0 C
2019-12-30 15:47:48: core_temp = 24.0 C
2019-12-30 15:47:48: core_temp = 27.0 C
2019-12-30 15:47:48: core_temp = 27.0 C
2019-12-30 15:47:48: core_temp = 29.0 C
2019-12-30 15:47:48: core_temp = 29.0 C
2019-12-30 15:47:48: CPU Temp: 29.0
2019-12-30 15:47:48: CPU Fan: low
2019-12-30 15:47:49: fan_speed = 1900
2019-12-30 15:47:49: CPU Fan speed: 1900 RPM
2019-12-30 15:47:49: fan_speed = 1400
2019-12-30 15:47:49: HD Fan speed: 1400 RPM
2019-12-30 15:47:49: CPU fan speed should be low, but 1900 > 1600.
2019-12-30 15:47:49: HD fan speed should be low, but 1400 > 1200.
2019-12-30 15:47:49: bmc_fail_count:  1, bmc_fail_threshold: 1
2019-12-30 15:47:49: Fan speeds are not where they should be, will try again.
2019-12-30 15:47:49: fanmode: full = 1
2019-12-30 15:47:49: Setting fan mode to 1 (full)
2019-12-30 15:47:54: Setting Zone 0 duty cycle to 30%
2019-12-30 15:47:54: Setting Zone 1 duty cycle to 30%
2019-12-30 15:47:55: core_temps:
28.0
28.0
30.0
30.0
32.0
33.0
32.0
32.0
2019-12-30 15:47:55: core_temp = 28.0 C
2019-12-30 15:47:55: core_temp = 28.0 C
2019-12-30 15:47:55: core_temp = 30.0 C
2019-12-30 15:47:55: core_temp = 30.0 C
2019-12-30 15:47:55: core_temp = 32.0 C
2019-12-30 15:47:55: core_temp = 33.0 C
2019-12-30 15:47:55: core_temp = 32.0 C
2019-12-30 15:47:55: core_temp = 32.0 C
2019-12-30 15:47:55: CPU Temp: 33.0
2019-12-30 15:47:55: CPU Fan: low
2019-12-30 15:47:56: core_temps:
25.0
25.0
25.0
25.0
28.0
28.0
29.0
29.0
2019-12-30 15:47:56: core_temp = 25.0 C
2019-12-30 15:47:56: core_temp = 25.0 C
2019-12-30 15:47:56: core_temp = 25.0 C
2019-12-30 15:47:56: core_temp = 25.0 C
2019-12-30 15:47:56: core_temp = 28.0 C
2019-12-30 15:47:56: core_temp = 28.0 C
2019-12-30 15:47:56: core_temp = 29.0 C
2019-12-30 15:47:56: core_temp = 29.0 C
2019-12-30 15:47:56: CPU Temp: 29.0
2019-12-30 15:47:56: CPU Fan: low
2019-12-30 15:47:58: core_temps:
27.0
27.0
25.0
25.0
27.0
27.0
27.0
27.0
2019-12-30 15:47:58: core_temp = 27.0 C
2019-12-30 15:47:58: core_temp = 27.0 C
2019-12-30 15:47:58: core_temp = 25.0 C
2019-12-30 15:47:58: core_temp = 25.0 C
2019-12-30 15:47:58: core_temp = 27.0 C
2019-12-30 15:47:58: core_temp = 27.0 C
2019-12-30 15:47:58: core_temp = 27.0 C
2019-12-30 15:47:58: core_temp = 27.0 C
2019-12-30 15:47:58: CPU Temp: 27.0
2019-12-30 15:47:58: CPU Fan: low
2019-12-30 15:47:59: core_temps:
25.0
26.0
25.0
25.0
29.0
29.0
26.0
26.0
2019-12-30 15:47:59: core_temp = 25.0 C
2019-12-30 15:47:59: core_temp = 26.0 C
2019-12-30 15:47:59: core_temp = 25.0 C
2019-12-30 15:47:59: core_temp = 25.0 C
2019-12-30 15:47:59: core_temp = 29.0 C
2019-12-30 15:47:59: core_temp = 29.0 C
2019-12-30 15:47:59: core_temp = 26.0 C
2019-12-30 15:47:59: core_temp = 26.0 C
2019-12-30 15:47:59: CPU Temp: 29.0
2019-12-30 15:47:59: CPU Fan: low
2019-12-30 15:48:00: core_temps:
26.0
26.0
25.0
25.0
26.0
28.0
28.0
28.0
2019-12-30 15:48:00: core_temp = 26.0 C
2019-12-30 15:48:00: core_temp = 26.0 C
2019-12-30 15:48:00: core_temp = 25.0 C
2019-12-30 15:48:00: core_temp = 25.0 C
2019-12-30 15:48:00: core_temp = 26.0 C
2019-12-30 15:48:00: core_temp = 28.0 C
2019-12-30 15:48:00: core_temp = 28.0 C
2019-12-30 15:48:00: core_temp = 28.0 C
2019-12-30 15:48:00: CPU Temp: 28.0
2019-12-30 15:48:00: CPU Fan: low
2019-12-30 15:48:01: core_temps:
25.0
26.0
27.0
27.0
28.0
29.0
28.0
31.0
2019-12-30 15:48:01: core_temp = 25.0 C
2019-12-30 15:48:01: core_temp = 26.0 C
2019-12-30 15:48:01: core_temp = 27.0 C
2019-12-30 15:48:01: core_temp = 27.0 C
2019-12-30 15:48:01: core_temp = 28.0 C
2019-12-30 15:48:01: core_temp = 29.0 C
2019-12-30 15:48:01: core_temp = 28.0 C
2019-12-30 15:48:01: core_temp = 31.0 C
2019-12-30 15:48:01: CPU Temp: 31.0
2019-12-30 15:48:01: CPU Fan: low
2019-12-30 15:48:02: core_temps:
26.0
26.0
27.0
27.0
28.0
28.0
26.0
26.0
2019-12-30 15:48:02: core_temp = 26.0 C
2019-12-30 15:48:02: core_temp = 26.0 C
2019-12-30 15:48:02: core_temp = 27.0 C
2019-12-30 15:48:02: core_temp = 27.0 C
2019-12-30 15:48:02: core_temp = 28.0 C
2019-12-30 15:48:02: core_temp = 28.0 C
2019-12-30 15:48:02: core_temp = 26.0 C
2019-12-30 15:48:02: core_temp = 26.0 C
2019-12-30 15:48:02: CPU Temp: 28.0
2019-12-30 15:48:02: CPU Fan: low
2019-12-30 15:48:03: core_temps:
25.0
25.0
26.0
26.0
28.0
28.0
28.0
28.0
2019-12-30 15:48:03: core_temp = 25.0 C
2019-12-30 15:48:03: core_temp = 25.0 C
2019-12-30 15:48:03: core_temp = 26.0 C
2019-12-30 15:48:03: core_temp = 26.0 C
2019-12-30 15:48:03: core_temp = 28.0 C
2019-12-30 15:48:03: core_temp = 28.0 C
2019-12-30 15:48:03: core_temp = 28.0 C
2019-12-30 15:48:03: core_temp = 28.0 C
2019-12-30 15:48:03: CPU Temp: 28.0
2019-12-30 15:48:03: CPU Fan: low
2019-12-30 15:48:04: core_temps:
25.0
25.0
24.0
24.0
29.0
29.0
27.0
27.0
2019-12-30 15:48:04: core_temp = 25.0 C
2019-12-30 15:48:04: core_temp = 25.0 C
2019-12-30 15:48:04: core_temp = 24.0 C
2019-12-30 15:48:04: core_temp = 24.0 C
2019-12-30 15:48:04: core_temp = 29.0 C
2019-12-30 15:48:04: core_temp = 29.0 C
2019-12-30 15:48:04: core_temp = 27.0 C
2019-12-30 15:48:04: core_temp = 27.0 C
2019-12-30 15:48:04: CPU Temp: 29.0
2019-12-30 15:48:04: CPU Fan: low
2019-12-30 15:48:05: core_temps:
25.0
26.0
27.0
27.0
27.0
27.0
27.0
27.0
2019-12-30 15:48:05: core_temp = 25.0 C
2019-12-30 15:48:05: core_temp = 26.0 C
2019-12-30 15:48:05: core_temp = 27.0 C
2019-12-30 15:48:05: core_temp = 27.0 C
2019-12-30 15:48:05: core_temp = 27.0 C
2019-12-30 15:48:05: core_temp = 27.0 C
2019-12-30 15:48:05: core_temp = 27.0 C
2019-12-30 15:48:05: core_temp = 27.0 C
2019-12-30 15:48:05: CPU Temp: 27.0
2019-12-30 15:48:05: CPU Fan: low
2019-12-30 15:48:05: fan_speed = 1900
2019-12-30 15:48:05: CPU Fan speed: 1900 RPM
2019-12-30 15:48:06: fan_speed = 1400
2019-12-30 15:48:06: HD Fan speed: 1400 RPM
2019-12-30 15:48:06: CPU fan speed should be low, but 1900 > 1600.
2019-12-30 15:48:06: HD fan speed should be low, but 1400 > 1200.
2019-12-30 15:48:06: bmc_fail_count:  2, bmc_fail_threshold: 1
2019-12-30 15:48:06: Fan speeds are still not where they should be after 2 attempts, will reboot BMC.
2019-12-30 15:48:06: fanmode: full = 1
2019-12-30 15:48:06: Setting fan mode to 1 (full)
2019-12-30 15:48:11: Resetting BMC
2019-12-30 15:48:12: core_temps:
27.0
27.0
26.0
26.0
27.0
27.0
27.0
27.0
2019-12-30 15:48:12: core_temp = 27.0 C
2019-12-30 15:48:12: core_temp = 27.0 C
2019-12-30 15:48:12: core_temp = 26.0 C
2019-12-30 15:48:12: core_temp = 26.0 C
2019-12-30 15:48:12: core_temp = 27.0 C
2019-12-30 15:48:12: core_temp = 27.0 C
2019-12-30 15:48:12: core_temp = 27.0 C
2019-12-30 15:48:12: core_temp = 27.0 C
2019-12-30 15:48:12: CPU Temp: 27.0
2019-12-30 15:48:12: CPU Fan: low
2019-12-30 15:48:13: core_temps:
24.0
24.0
27.0
27.0
28.0
28.0
26.0
26.0
2019-12-30 15:48:13: core_temp = 24.0 C
2019-12-30 15:48:13: core_temp = 24.0 C
2019-12-30 15:48:13: core_temp = 27.0 C
2019-12-30 15:48:13: core_temp = 27.0 C
2019-12-30 15:48:13: core_temp = 28.0 C
2019-12-30 15:48:13: core_temp = 28.0 C
2019-12-30 15:48:13: core_temp = 26.0 C
2019-12-30 15:48:13: core_temp = 26.0 C
2019-12-30 15:48:13: CPU Temp: 28.0
2019-12-30 15:48:13: CPU Fan: low
2019-12-30 15:48:14: core_temps:
25.0
25.0
25.0
25.0
28.0
28.0
29.0
29.0
2019-12-30 15:48:14: core_temp = 25.0 C
2019-12-30 15:48:14: core_temp = 25.0 C
2019-12-30 15:48:14: core_temp = 25.0 C
2019-12-30 15:48:14: core_temp = 25.0 C
2019-12-30 15:48:14: core_temp = 28.0 C
2019-12-30 15:48:14: core_temp = 28.0 C
2019-12-30 15:48:14: core_temp = 29.0 C
2019-12-30 15:48:14: core_temp = 29.0 C
2019-12-30 15:48:14: CPU Temp: 29.0
2019-12-30 15:48:14: CPU Fan: low
2019-12-30 15:48:15: core_temps:
24.0
24.0
26.0
26.0
28.0
28.0
26.0
26.0
2019-12-30 15:48:15: core_temp = 24.0 C
2019-12-30 15:48:15: core_temp = 24.0 C
2019-12-30 15:48:15: core_temp = 26.0 C
2019-12-30 15:48:15: core_temp = 26.0 C
2019-12-30 15:48:15: core_temp = 28.0 C
2019-12-30 15:48:15: core_temp = 28.0 C
2019-12-30 15:48:15: core_temp = 26.0 C
2019-12-30 15:48:15: core_temp = 26.0 C
2019-12-30 15:48:15: CPU Temp: 28.0
2019-12-30 15:48:15: CPU Fan: low
2019-12-30 15:48:16: core_temps:
25.0
25.0
25.0
25.0
28.0
28.0
27.0
27.0
2019-12-30 15:48:16: core_temp = 25.0 C
2019-12-30 15:48:16: core_temp = 25.0 C
2019-12-30 15:48:16: core_temp = 25.0 C
2019-12-30 15:48:16: core_temp = 25.0 C
2019-12-30 15:48:16: core_temp = 28.0 C
2019-12-30 15:48:16: core_temp = 28.0 C
2019-12-30 15:48:16: core_temp = 27.0 C
2019-12-30 15:48:16: core_temp = 27.0 C
2019-12-30 15:48:16: CPU Temp: 28.0
2019-12-30 15:48:16: CPU Fan: low
2019-12-30 15:48:17: core_temps:
26.0
26.0
26.0
26.0
27.0
27.0
27.0
27.0
2019-12-30 15:48:17: core_temp = 26.0 C
2019-12-30 15:48:17: core_temp = 26.0 C
2019-12-30 15:48:17: core_temp = 26.0 C
2019-12-30 15:48:17: core_temp = 26.0 C
2019-12-30 15:48:17: core_temp = 27.0 C
2019-12-30 15:48:17: core_temp = 27.0 C
2019-12-30 15:48:17: core_temp = 27.0 C
2019-12-30 15:48:17: core_temp = 27.0 C
2019-12-30 15:48:17: CPU Temp: 27.0
2019-12-30 15:48:17: CPU Fan: low
2019-12-30 15:48:18: core_temps:
24.0
24.0
24.0
24.0
28.0
30.0
27.0
27.0
2019-12-30 15:48:18: core_temp = 24.0 C
2019-12-30 15:48:18: core_temp = 24.0 C
2019-12-30 15:48:18: core_temp = 24.0 C
2019-12-30 15:48:18: core_temp = 24.0 C
2019-12-30 15:48:18: core_temp = 28.0 C
2019-12-30 15:48:18: core_temp = 30.0 C
2019-12-30 15:48:18: core_temp = 27.0 C
2019-12-30 15:48:18: core_temp = 27.0 C
2019-12-30 15:48:18: CPU Temp: 30.0
2019-12-30 15:48:18: CPU Fan: low
2019-12-30 15:48:19: core_temps:
24.0
24.0
25.0
25.0
30.0
30.0
26.0
26.0
2019-12-30 15:48:19: core_temp = 24.0 C
2019-12-30 15:48:19: core_temp = 24.0 C
2019-12-30 15:48:19: core_temp = 25.0 C
2019-12-30 15:48:19: core_temp = 25.0 C
2019-12-30 15:48:19: core_temp = 30.0 C
2019-12-30 15:48:19: core_temp = 30.0 C
2019-12-30 15:48:19: core_temp = 26.0 C
2019-12-30 15:48:19: core_temp = 26.0 C
2019-12-30 15:48:19: CPU Temp: 30.0
2019-12-30 15:48:19: CPU Fan: low
2019-12-30 15:48:20: core_temps:
25.0
25.0
24.0
24.0
28.0
29.0
26.0
26.0
2019-12-30 15:48:20: core_temp = 25.0 C
2019-12-30 15:48:20: core_temp = 25.0 C
2019-12-30 15:48:20: core_temp = 24.0 C
2019-12-30 15:48:20: core_temp = 24.0 C
2019-12-30 15:48:20: core_temp = 28.0 C
2019-12-30 15:48:20: core_temp = 29.0 C
2019-12-30 15:48:20: core_temp = 26.0 C
2019-12-30 15:48:20: core_temp = 26.0 C
2019-12-30 15:48:20: CPU Temp: 29.0
2019-12-30 15:48:20: CPU Fan: low
2019-12-30 15:48:21: core_temps:
24.0
24.0
25.0
27.0
26.0
26.0
29.0
29.0
2019-12-30 15:48:21: core_temp = 24.0 C
2019-12-30 15:48:21: core_temp = 24.0 C
2019-12-30 15:48:21: core_temp = 25.0 C
2019-12-30 15:48:21: core_temp = 27.0 C
2019-12-30 15:48:21: core_temp = 26.0 C
2019-12-30 15:48:21: core_temp = 26.0 C
2019-12-30 15:48:21: core_temp = 29.0 C
2019-12-30 15:48:21: core_temp = 29.0 C
2019-12-30 15:48:21: CPU Temp: 29.0
2019-12-30 15:48:21: CPU Fan: low
2019-12-30 15:48:22: core_temps:
24.0
24.0
24.0
26.0
28.0
28.0
26.0
26.0
2019-12-30 15:48:22: core_temp = 24.0 C
2019-12-30 15:48:22: core_temp = 24.0 C
2019-12-30 15:48:22: core_temp = 24.0 C
2019-12-30 15:48:22: core_temp = 26.0 C
2019-12-30 15:48:22: core_temp = 28.0 C
2019-12-30 15:48:22: core_temp = 28.0 C
2019-12-30 15:48:22: core_temp = 26.0 C
2019-12-30 15:48:22: core_temp = 26.0 C
2019-12-30 15:48:22: CPU Temp: 28.0
2019-12-30 15:48:22: CPU Fan: low
2019-12-30 15:48:23: fan_speed = 1900
2019-12-30 15:48:23: CPU Fan speed: 1900 RPM
2019-12-30 15:48:23: fan_speed = 1500
2019-12-30 15:48:23: HD Fan speed: 1500 RPM
2019-12-30 15:48:23: CPU fan speed should be low, but 1900 > 1600.
2019-12-30 15:48:23: HD fan speed should be low, but 1500 > 1200.
2019-12-30 15:48:23: bmc_fail_count:  1, bmc_fail_threshold: 1
2019-12-30 15:48:23: Fan speeds are not where they should be, will try again.
2019-12-30 15:48:23: fanmode: full = 1
2019-12-30 15:48:23: Setting fan mode to 1 (full)
2019-12-30 15:48:28: Setting Zone 0 duty cycle to 30%
2019-12-30 15:48:28: Setting Zone 1 duty cycle to 30%
2019-12-30 15:48:29: core_temps:
24.0
26.0
26.0
26.0
26.0
26.0
27.0
27.0
2019-12-30 15:48:29: core_temp = 24.0 C
2019-12-30 15:48:29: core_temp = 26.0 C
2019-12-30 15:48:29: core_temp = 26.0 C
2019-12-30 15:48:29: core_temp = 26.0 C
2019-12-30 15:48:29: core_temp = 26.0 C
2019-12-30 15:48:29: core_temp = 26.0 C
2019-12-30 15:48:29: core_temp = 27.0 C
2019-12-30 15:48:29: core_temp = 27.0 C
2019-12-30 15:48:29: CPU Temp: 27.0
2019-12-30 15:48:29: CPU Fan: low
2019-12-30 15:48:30: core_temps:
26.0
26.0
28.0
28.0
29.0
29.0
29.0
30.0
2019-12-30 15:48:30: core_temp = 26.0 C
2019-12-30 15:48:30: core_temp = 26.0 C
2019-12-30 15:48:30: core_temp = 28.0 C
2019-12-30 15:48:30: core_temp = 28.0 C
2019-12-30 15:48:30: core_temp = 29.0 C
2019-12-30 15:48:30: core_temp = 29.0 C
2019-12-30 15:48:30: core_temp = 29.0 C
2019-12-30 15:48:30: core_temp = 30.0 C
2019-12-30 15:48:30: CPU Temp: 30.0
2019-12-30 15:48:30: CPU Fan: low
2019-12-30 15:48:32: core_temps:
24.0
24.0
24.0
24.0
29.0
29.0
26.0
26.0
2019-12-30 15:48:32: core_temp = 24.0 C
2019-12-30 15:48:32: core_temp = 24.0 C
2019-12-30 15:48:32: core_temp = 24.0 C
2019-12-30 15:48:32: core_temp = 24.0 C
2019-12-30 15:48:32: core_temp = 29.0 C
2019-12-30 15:48:32: core_temp = 29.0 C
2019-12-30 15:48:32: core_temp = 26.0 C
2019-12-30 15:48:32: core_temp = 26.0 C
2019-12-30 15:48:32: CPU Temp: 29.0
2019-12-30 15:48:32: CPU Fan: low
2019-12-30 15:48:32: da0 da1 da2 da3 da4 da5 da6 da7 ada0 ada1 ada2 ada3 ada4 ada5
2019-12-30 15:48:32: da0
2019-12-30 15:48:32: da1
2019-12-30 15:48:32: da2
2019-12-30 15:48:32: da3
2019-12-30 15:48:32: da4
2019-12-30 15:48:32: da5
2019-12-30 15:48:32: da6
2019-12-30 15:48:32: da7
2019-12-30 15:48:32: ada0
2019-12-30 15:48:32: ada1
2019-12-30 15:48:32: ada2
2019-12-30 15:48:32: ada3
2019-12-30 15:48:32: ada4
2019-12-30 15:48:32: ada5
2019-12-30 15:48:33: temperature error = -4.25
2019-12-30 15:48:33: PID corrections are P = -34, I = 0 and D = 0
2019-12-30 15:48:33: Setting Zone 1 duty cycle to 30%
2019-12-30 15:48:44: core_temps:
28.0
27.0
28.0
28.0
29.0
29.0
32.0
32.0
2019-12-30 15:48:44: core_temp = 28.0 C
2019-12-30 15:48:44: core_temp = 27.0 C
2019-12-30 15:48:44: core_temp = 28.0 C
2019-12-30 15:48:44: core_temp = 28.0 C
2019-12-30 15:48:44: core_temp = 29.0 C
2019-12-30 15:48:44: core_temp = 29.0 C
2019-12-30 15:48:44: core_temp = 32.0 C
2019-12-30 15:48:44: core_temp = 32.0 C
2019-12-30 15:48:44: CPU Temp: 32.0
2019-12-30 15:48:45: fan_speed = 1900
2019-12-30 15:48:45: CPU Fan speed: 1900 RPM
2019-12-30 15:48:45: fan_speed = 1500
2019-12-30 15:48:45: HD Fan speed: 1500 RPM
2019-12-30 15:48:45: CPU fan speed should be low, but 1900 > 1600.
2019-12-30 15:48:45: HD fan speed should be low, but 1500 > 1200.
2019-12-30 15:48:45: bmc_fail_count:  2, bmc_fail_threshold: 1
2019-12-30 15:48:45: Fan speeds are still not where they should be after 2 attempts, will reboot BMC.
2019-12-30 15:48:45: fanmode: full = 1
2019-12-30 15:48:45: Setting fan mode to 1 (full)
2019-12-30 15:48:50: Resetting BMC
2019-12-30 15:48:51: core_temps:
25.0
25.0
24.0
25.0
27.0
27.0
27.0
27.0
2019-12-30 15:48:51: core_temp = 25.0 C
2019-12-30 15:48:51: core_temp = 25.0 C
2019-12-30 15:48:51: core_temp = 24.0 C
2019-12-30 15:48:51: core_temp = 25.0 C
2019-12-30 15:48:51: core_temp = 27.0 C
2019-12-30 15:48:51: core_temp = 27.0 C
2019-12-30 15:48:51: core_temp = 27.0 C
2019-12-30 15:48:51: core_temp = 27.0 C
2019-12-30 15:48:51: CPU Temp: 27.0
2019-12-30 15:48:51: CPU Fan: low


Code:

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | na         |            | na    | na        | na        | na        | na        | na        | na
FANA             | na         |            | na    | na        | na        | na        | na        | na        | na

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 2900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000

 
Joined
Dec 2, 2015
Messages
730
Yes, X11 board.

Low duty is now set to 30.

Do I restart freenas to engage the updated script?
Restarting is one option. If you are familiar with tmux (or are prepared to learn about it), you could do the following:

In the console, find the process ID for the current script and kill it - run ps aux | grep PID. Inspect the output of that command, and identify the PID for the one that has a command that looks something like "/usr/local/bin/perl /root/bin/PID_fan_control.pl". Note that the location of the script in that command will depend on where you have placed your script.

Once you know the PID, kill it with kill -9 PID - replacing PID with the numerical PID you found.

Then start tmux tmux new -s fan_control. In the resulting tmux console, cd to the location of your script and then start it with ./PID_fan_control.pl or /usr/local/bin/perl PID_fan_control.pl

If you need to kill and restart the script, in the tmux window just use Ctrl-C to kill it, and then restart it as above. You can close the tmux window with Ctrl-b d, ie. press Ctrl and b at the same time, release them, then press d. The fan control script will keep running even after you close tmux. To get back to it, use tmux attach -t fan_control, or just tmux attach -t f
 
Joined
Dec 2, 2015
Messages
730
Are the (3) Noctua NH-D9L and (2) Noctua NF-A6x25 all running off the FANA header? If so, it is anyone's guess which fan the reported rpm belongs to. It is possible that it is the NF-A6-25 whose rpm we are seeing. The specs list a max speed of 3000 rpm, so you may need to set $hd_max_fan_speed = 3000
 

thepixelgeek

Patron
Joined
Jan 21, 2016
Messages
271
3 Noctua NH-D9L are FANA
CPU FAN and 2 NF-A6 (rated at 3000rpm) are on FAN1, 4
 

thepixelgeek

Patron
Joined
Jan 21, 2016
Messages
271
Set $hd_max_fan_speed = 3000.

Code:
root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 3000.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 500.000    | RPM        | cr    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 3000.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000



Code:
2019-12-30 16:48:09: da0 da1 da2 da3 da4 da5 da6 da7 ada0 ada1 ada2 ada3 ada4 ada5
2019-12-30 16:48:09: da0
2019-12-30 16:48:09: da1
2019-12-30 16:48:09: da2
2019-12-30 16:48:09: da3
2019-12-30 16:48:09: da4
2019-12-30 16:48:09: da5
2019-12-30 16:48:09: da6
2019-12-30 16:48:09: da7
2019-12-30 16:48:09: ada0
2019-12-30 16:48:09: ada1
2019-12-30 16:48:09: ada2
2019-12-30 16:48:09: ada3
2019-12-30 16:48:09: ada4
2019-12-30 16:48:09: ada5
2019-12-30 16:48:09: fanmode: full = 1
2019-12-30 16:48:09: Setting fan mode to 1 (full)
2019-12-30 16:48:15: core_temps:
23.0
23.0
25.0
25.0
25.0
26.0
25.0
25.0
2019-12-30 16:48:15: core_temp = 23.0 C
2019-12-30 16:48:15: core_temp = 23.0 C
2019-12-30 16:48:15: core_temp = 25.0 C
2019-12-30 16:48:15: core_temp = 25.0 C
2019-12-30 16:48:15: core_temp = 25.0 C
2019-12-30 16:48:15: core_temp = 26.0 C
2019-12-30 16:48:15: core_temp = 25.0 C
2019-12-30 16:48:15: core_temp = 25.0 C
2019-12-30 16:48:15: CPU Temp: 26.0
2019-12-30 16:48:15: CPU Temp: 26.0 <= 35, CPU Fan going low.
2019-12-30 16:48:15: CPU Fan: low
2019-12-30 16:48:15: CPU Fan changing... (low)
2019-12-30 16:48:15: Setting Zone 0 duty cycle to 30%
2019-12-30 16:48:15: da0 da1 da2 da3 da4 da5 da6 da7 ada0 ada1 ada2 ada3 ada4 ada5
2019-12-30 16:48:15: da0
2019-12-30 16:48:15: da1
2019-12-30 16:48:15: da2
2019-12-30 16:48:15: da3
2019-12-30 16:48:15: da4
2019-12-30 16:48:15: da5
2019-12-30 16:48:15: da6
2019-12-30 16:48:15: da7
2019-12-30 16:48:15: ada0
2019-12-30 16:48:15: ada1
2019-12-30 16:48:15: ada2
2019-12-30 16:48:15: ada3
2019-12-30 16:48:15: ada4
2019-12-30 16:48:15: ada5
2019-12-30 16:48:16: temperature error = -5.5
2019-12-30 16:48:16: PID corrections are P = -44, I = 0 and D = 0
2019-12-30 16:48:16: PID control new duty cycle is 30%
2019-12-30 16:48:16: Setting Zone 1 duty cycle to 30%
2019-12-30 16:48:28: core_temps:
26.0
26.0
26.0
26.0
32.0
32.0
27.0
27.0
2019-12-30 16:48:28: core_temp = 26.0 C
2019-12-30 16:48:28: core_temp = 26.0 C
2019-12-30 16:48:28: core_temp = 26.0 C
2019-12-30 16:48:28: core_temp = 26.0 C
2019-12-30 16:48:28: core_temp = 32.0 C
2019-12-30 16:48:28: core_temp = 32.0 C
2019-12-30 16:48:28: core_temp = 27.0 C
2019-12-30 16:48:28: core_temp = 27.0 C
2019-12-30 16:48:28: CPU Temp: 32.0
2019-12-30 16:48:28: fan_speed = 1900
2019-12-30 16:48:28: CPU Fan speed: 1900 RPM
2019-12-30 16:48:28: fan_speed = 1500
2019-12-30 16:48:28: HD Fan speed: 1500 RPM
2019-12-30 16:48:28: CPU fan speed should be low, but 1900 > 1600.
2019-12-30 16:48:28: bmc_fail_count:  1, bmc_fail_threshold: 1
2019-12-30 16:48:28: Fan speeds are not where they should be, will try again.
2019-12-30 16:48:28: fanmode: full = 1
2019-12-30 16:48:28: Setting fan mode to 1 (full)
2019-12-30 16:48:34: Setting Zone 0 duty cycle to 30%
2019-12-30 16:48:34: Setting Zone 1 duty cycle to 30%
2019-12-30 16:48:35: core_temps:
25.0
25.0
22.0
23.0
25.0
25.0
27.0
27.0
2019-12-30 16:48:35: core_temp = 25.0 C
2019-12-30 16:48:35: core_temp = 25.0 C
2019-12-30 16:48:35: core_temp = 22.0 C
2019-12-30 16:48:35: core_temp = 23.0 C
2019-12-30 16:48:35: core_temp = 25.0 C
2019-12-30 16:48:35: core_temp = 25.0 C
2019-12-30 16:48:35: core_temp = 27.0 C
2019-12-30 16:48:35: core_temp = 27.0 C
2019-12-30 16:48:35: CPU Temp: 27.0
2019-12-30 16:48:35: CPU Fan: low
2019-12-30 16:48:36: core_temps:
22.0
22.0
23.0
23.0
27.0
27.0
27.0
27.0
2019-12-30 16:48:36: core_temp = 22.0 C
2019-12-30 16:48:36: core_temp = 22.0 C
2019-12-30 16:48:36: core_temp = 23.0 C
2019-12-30 16:48:36: core_temp = 23.0 C
2019-12-30 16:48:36: core_temp = 27.0 C
2019-12-30 16:48:36: core_temp = 27.0 C
2019-12-30 16:48:36: core_temp = 27.0 C
2019-12-30 16:48:36: core_temp = 27.0 C
2019-12-30 16:48:36: CPU Temp: 27.0
2019-12-30 16:48:36: CPU Fan: low
2019-12-30 16:48:37: core_temps:
23.0
23.0
25.0
25.0
26.0
26.0
25.0
25.0
2019-12-30 16:48:37: core_temp = 23.0 C
2019-12-30 16:48:37: core_temp = 23.0 C
2019-12-30 16:48:37: core_temp = 25.0 C
2019-12-30 16:48:37: core_temp = 25.0 C
2019-12-30 16:48:37: core_temp = 26.0 C
2019-12-30 16:48:37: core_temp = 26.0 C
2019-12-30 16:48:37: core_temp = 25.0 C
2019-12-30 16:48:37: core_temp = 25.0 C
2019-12-30 16:48:37: CPU Temp: 26.0
2019-12-30 16:48:37: CPU Fan: low
2019-12-30 16:48:38: core_temps:
23.0
23.0
24.0
24.0
24.0
24.0
25.0
26.0
2019-12-30 16:48:38: core_temp = 23.0 C
2019-12-30 16:48:38: core_temp = 23.0 C
2019-12-30 16:48:38: core_temp = 24.0 C
2019-12-30 16:48:38: core_temp = 24.0 C
2019-12-30 16:48:38: core_temp = 24.0 C
2019-12-30 16:48:38: core_temp = 24.0 C
2019-12-30 16:48:38: core_temp = 25.0 C
2019-12-30 16:48:38: core_temp = 26.0 C
2019-12-30 16:48:38: CPU Temp: 26.0
2019-12-30 16:48:38: CPU Fan: low
2019-12-30 16:48:39: core_temps:
23.0
23.0
25.0
25.0
24.0
24.0
26.0
26.0
2019-12-30 16:48:39: core_temp = 23.0 C
2019-12-30 16:48:39: core_temp = 23.0 C
2019-12-30 16:48:39: core_temp = 25.0 C
2019-12-30 16:48:39: core_temp = 25.0 C
2019-12-30 16:48:39: core_temp = 24.0 C
2019-12-30 16:48:39: core_temp = 24.0 C
2019-12-30 16:48:39: core_temp = 26.0 C
2019-12-30 16:48:39: core_temp = 26.0 C
2019-12-30 16:48:39: CPU Temp: 26.0
2019-12-30 16:48:39: CPU Fan: low
2019-12-30 16:48:40: core_temps:
25.0
25.0
22.0
22.0
26.0
26.0
26.0
26.0
2019-12-30 16:48:40: core_temp = 25.0 C
2019-12-30 16:48:40: core_temp = 25.0 C
2019-12-30 16:48:40: core_temp = 22.0 C
2019-12-30 16:48:40: core_temp = 22.0 C
2019-12-30 16:48:40: core_temp = 26.0 C
2019-12-30 16:48:40: core_temp = 26.0 C
2019-12-30 16:48:40: core_temp = 26.0 C
2019-12-30 16:48:40: core_temp = 26.0 C
2019-12-30 16:48:40: CPU Temp: 26.0
2019-12-30 16:48:40: CPU Fan: low
2019-12-30 16:48:41: core_temps:
23.0
23.0
23.0
23.0
27.0
27.0
24.0
24.0
2019-12-30 16:48:41: core_temp = 23.0 C
2019-12-30 16:48:41: core_temp = 23.0 C
2019-12-30 16:48:41: core_temp = 23.0 C
2019-12-30 16:48:41: core_temp = 23.0 C
2019-12-30 16:48:41: core_temp = 27.0 C
2019-12-30 16:48:41: core_temp = 27.0 C
2019-12-30 16:48:41: core_temp = 24.0 C
2019-12-30 16:48:41: core_temp = 24.0 C
2019-12-30 16:48:41: CPU Temp: 27.0
2019-12-30 16:48:41: CPU Fan: low
2019-12-30 16:48:42: core_temps:
22.0
22.0
25.0
25.0
26.0
26.0
25.0
25.0
2019-12-30 16:48:42: core_temp = 22.0 C
2019-12-30 16:48:42: core_temp = 22.0 C
2019-12-30 16:48:42: core_temp = 25.0 C
2019-12-30 16:48:42: core_temp = 25.0 C
2019-12-30 16:48:42: core_temp = 26.0 C
2019-12-30 16:48:42: core_temp = 26.0 C
2019-12-30 16:48:42: core_temp = 25.0 C
2019-12-30 16:48:42: core_temp = 25.0 C
2019-12-30 16:48:42: CPU Temp: 26.0
2019-12-30 16:48:42: CPU Fan: low
2019-12-30 16:48:43: core_temps:
23.0
23.0
22.0
22.0
28.0
28.0
26.0
26.0
2019-12-30 16:48:43: core_temp = 23.0 C
2019-12-30 16:48:43: core_temp = 23.0 C
2019-12-30 16:48:43: core_temp = 22.0 C
2019-12-30 16:48:43: core_temp = 22.0 C
2019-12-30 16:48:43: core_temp = 28.0 C
2019-12-30 16:48:43: core_temp = 28.0 C
2019-12-30 16:48:43: core_temp = 26.0 C
2019-12-30 16:48:43: core_temp = 26.0 C
2019-12-30 16:48:43: CPU Temp: 28.0
2019-12-30 16:48:43: CPU Fan: low
2019-12-30 16:48:44: core_temps:
22.0
22.0
23.0
23.0
25.0
25.0
27.0
27.0
2019-12-30 16:48:44: core_temp = 22.0 C
2019-12-30 16:48:44: core_temp = 22.0 C
2019-12-30 16:48:44: core_temp = 23.0 C
2019-12-30 16:48:44: core_temp = 23.0 C
2019-12-30 16:48:44: core_temp = 25.0 C
2019-12-30 16:48:44: core_temp = 25.0 C
2019-12-30 16:48:44: core_temp = 27.0 C
2019-12-30 16:48:44: core_temp = 27.0 C
2019-12-30 16:48:44: CPU Temp: 27.0
2019-12-30 16:48:44: CPU Fan: low
2019-12-30 16:48:45: core_temps:
23.0
23.0
24.0
24.0
28.0
28.0
25.0
25.0
2019-12-30 16:48:45: core_temp = 23.0 C
2019-12-30 16:48:45: core_temp = 23.0 C
2019-12-30 16:48:45: core_temp = 24.0 C
2019-12-30 16:48:45: core_temp = 24.0 C
2019-12-30 16:48:45: core_temp = 28.0 C
2019-12-30 16:48:45: core_temp = 28.0 C
2019-12-30 16:48:45: core_temp = 25.0 C
2019-12-30 16:48:45: core_temp = 25.0 C
2019-12-30 16:48:45: CPU Temp: 28.0
2019-12-30 16:48:45: CPU Fan: low
2019-12-30 16:48:46: fan_speed = 1900
2019-12-30 16:48:46: CPU Fan speed: 1900 RPM
2019-12-30 16:48:46: fan_speed = 1500
2019-12-30 16:48:46: HD Fan speed: 1500 RPM
2019-12-30 16:48:46: CPU fan speed should be low, but 1900 > 1600.
2019-12-30 16:48:46: bmc_fail_count:  2, bmc_fail_threshold: 1
2019-12-30 16:48:46: Fan speeds are still not where they should be after 2 attempts, will reboot BMC.
2019-12-30 16:48:46: fanmode: full = 1
2019-12-30 16:48:46: Setting fan mode to 1 (full)
2019-12-30 16:48:51: Resetting BMC
2019-12-30 16:48:52: core_temps:
23.0
23.0
24.0
24.0
24.0
26.0
26.0
26.0
2019-12-30 16:48:52: core_temp = 23.0 C
2019-12-30 16:48:52: core_temp = 23.0 C
2019-12-30 16:48:52: core_temp = 24.0 C
2019-12-30 16:48:52: core_temp = 24.0 C
2019-12-30 16:48:52: core_temp = 24.0 C
2019-12-30 16:48:52: core_temp = 26.0 C
2019-12-30 16:48:52: core_temp = 26.0 C
2019-12-30 16:48:52: core_temp = 26.0 C
2019-12-30 16:48:52: CPU Temp: 26.0
2019-12-30 16:48:52: CPU Fan: low
2019-12-30 16:48:53: core_temps:
22.0
22.0
23.0
23.0
28.0
28.0
26.0
26.0
2019-12-30 16:48:53: core_temp = 22.0 C
2019-12-30 16:48:53: core_temp = 22.0 C
2019-12-30 16:48:53: core_temp = 23.0 C
2019-12-30 16:48:53: core_temp = 23.0 C
2019-12-30 16:48:53: core_temp = 28.0 C
2019-12-30 16:48:53: core_temp = 28.0 C
2019-12-30 16:48:53: core_temp = 26.0 C
2019-12-30 16:48:53: core_temp = 26.0 C
2019-12-30 16:48:53: CPU Temp: 28.0
2019-12-30 16:48:53: CPU Fan: low
2019-12-30 16:48:54: core_temps:
23.0
23.0
24.0
24.0
25.0
25.0
26.0
26.0
2019-12-30 16:48:54: core_temp = 23.0 C
2019-12-30 16:48:54: core_temp = 23.0 C
2019-12-30 16:48:54: core_temp = 24.0 C
2019-12-30 16:48:54: core_temp = 24.0 C
2019-12-30 16:48:54: core_temp = 25.0 C
2019-12-30 16:48:54: core_temp = 25.0 C
2019-12-30 16:48:54: core_temp = 26.0 C
2019-12-30 16:48:54: core_temp = 26.0 C
2019-12-30 16:48:54: CPU Temp: 26.0
2019-12-30 16:48:54: CPU Fan: low
2019-12-30 16:48:55: core_temps:
24.0
24.0
24.0
24.0
27.0
27.0
24.0
24.0
2019-12-30 16:48:55: core_temp = 24.0 C
2019-12-30 16:48:55: core_temp = 24.0 C
2019-12-30 16:48:55: core_temp = 24.0 C
2019-12-30 16:48:55: core_temp = 24.0 C
2019-12-30 16:48:55: core_temp = 27.0 C
2019-12-30 16:48:55: core_temp = 27.0 C
2019-12-30 16:48:55: core_temp = 24.0 C
2019-12-30 16:48:55: core_temp = 24.0 C
2019-12-30 16:48:55: CPU Temp: 27.0
2019-12-30 16:48:55: CPU Fan: low
2019-12-30 16:48:57: core_temps:
26.0
26.0
23.0
23.0
26.0
26.0
24.0
24.0
2019-12-30 16:48:57: core_temp = 26.0 C
2019-12-30 16:48:57: core_temp = 26.0 C
2019-12-30 16:48:57: core_temp = 23.0 C
2019-12-30 16:48:57: core_temp = 23.0 C
2019-12-30 16:48:57: core_temp = 26.0 C
2019-12-30 16:48:57: core_temp = 26.0 C
2019-12-30 16:48:57: core_temp = 24.0 C
2019-12-30 16:48:57: core_temp = 24.0 C
2019-12-30 16:48:57: CPU Temp: 26.0
2019-12-30 16:48:57: CPU Fan: low
2019-12-30 16:48:58: core_temps:
25.0
26.0
23.0
23.0
25.0
25.0
25.0
25.0
2019-12-30 16:48:58: core_temp = 25.0 C
2019-12-30 16:48:58: core_temp = 26.0 C
2019-12-30 16:48:58: core_temp = 23.0 C
2019-12-30 16:48:58: core_temp = 23.0 C
2019-12-30 16:48:58: core_temp = 25.0 C
2019-12-30 16:48:58: core_temp = 25.0 C
2019-12-30 16:48:58: core_temp = 25.0 C
2019-12-30 16:48:58: core_temp = 25.0 C
2019-12-30 16:48:58: CPU Temp: 26.0
2019-12-30 16:48:58: CPU Fan: low
2019-12-30 16:48:59: core_temps:
23.0
23.0
26.0
26.0
26.0
26.0
24.0
24.0
2019-12-30 16:48:59: core_temp = 23.0 C
2019-12-30 16:48:59: core_temp = 23.0 C
2019-12-30 16:48:59: core_temp = 26.0 C
2019-12-30 16:48:59: core_temp = 26.0 C
2019-12-30 16:48:59: core_temp = 26.0 C
2019-12-30 16:48:59: core_temp = 26.0 C
2019-12-30 16:48:59: core_temp = 24.0 C
2019-12-30 16:48:59: core_temp = 24.0 C
2019-12-30 16:48:59: CPU Temp: 26.0
2019-12-30 16:48:59: CPU Fan: low
2019-12-30 16:49:00: core_temps:
23.0
23.0
23.0
23.0
25.0
26.0
27.0
27.0
2019-12-30 16:49:00: core_temp = 23.0 C
2019-12-30 16:49:00: core_temp = 23.0 C
2019-12-30 16:49:00: core_temp = 23.0 C
2019-12-30 16:49:00: core_temp = 23.0 C
2019-12-30 16:49:00: core_temp = 25.0 C
2019-12-30 16:49:00: core_temp = 26.0 C
2019-12-30 16:49:00: core_temp = 27.0 C
2019-12-30 16:49:00: core_temp = 27.0 C
2019-12-30 16:49:00: CPU Temp: 27.0
2019-12-30 16:49:00: CPU Fan: low
2019-12-30 16:49:01: core_temps:
23.0
24.0
24.0
24.0
25.0
25.0
26.0
26.0
2019-12-30 16:49:01: core_temp = 23.0 C
2019-12-30 16:49:01: core_temp = 24.0 C
2019-12-30 16:49:01: core_temp = 24.0 C
2019-12-30 16:49:01: core_temp = 24.0 C
2019-12-30 16:49:01: core_temp = 25.0 C
2019-12-30 16:49:01: core_temp = 25.0 C
2019-12-30 16:49:01: core_temp = 26.0 C
2019-12-30 16:49:01: core_temp = 26.0 C
2019-12-30 16:49:01: CPU Temp: 26.0
2019-12-30 16:49:01: CPU Fan: low
2019-12-30 16:49:02: core_temps:
24.0
24.0
25.0
25.0
28.0
28.0
26.0
26.0
2019-12-30 16:49:02: core_temp = 24.0 C
2019-12-30 16:49:02: core_temp = 24.0 C
2019-12-30 16:49:02: core_temp = 25.0 C
2019-12-30 16:49:02: core_temp = 25.0 C
2019-12-30 16:49:02: core_temp = 28.0 C
2019-12-30 16:49:02: core_temp = 28.0 C
2019-12-30 16:49:02: core_temp = 26.0 C
2019-12-30 16:49:02: core_temp = 26.0 C
2019-12-30 16:49:02: CPU Temp: 28.0
2019-12-30 16:49:02: CPU Fan: low


Code:
PID Fan Controller Log  ---  Target 4 Disk HD Temperature = 37.50 deg C  ---  PID Control Gains: Kp =  5.333, Ki =  0.000, Kd =  96.0
                                                                                 Max   Ave  Temp   Fan   Fan  Fan %   CPU    P      I      D      Fan
2019-12-30 da0  da1  da2  da3  da4  da5  da6  da7 ada0 ada1 ada2 ada3 ada4 ada5 Temp  Temp   Err  Mode   RPM Old/New Temp  Corr   Corr   Corr    Duty
16:48:16   28   30   29   30   34   34   28   28   26   25   27   27   27   27  ^34  32.00 -5.50  Full   466  60/30   32 -44.00  -0.00    0.00   30.00%
16:49:47   28   30   29   30   34   34   28   28   26   25   27   27   27   27  ^34  32.00 -5.50  Full   500  30/30   30 -44.00  -0.00    0.00   30.00%
16:51:16   28   30   29   30   34   34   28   28   26   26   27   27   27   27  ^34  32.00 -5.50  Full   166  30/30   30 -44.00  -0.00    0.00   30.00%
16:52:46   28   30   29   30   34   34   28   28   26   26   27   27   27   27  ^34  32.00 -5.50  Full   500  30/30   31 -44.00   0.00    0.00   30.00%
16:54:16   28   30   29   30   34   34   28   28   26   26   28   27   27   27  ^34  32.00 -5.50  Full   500  30/30   30 -44.00  -0.00    0.00   30.00%
16:55:46   28   30   29   30   34   34   28   28   26   26   28   27   27   27  ^34  32.00 -5.50  Full   500  30/30   30 -44.00  -0.00    0.00   30.00%
16:58:03   28   30   29   30   34   35   28   28   27   26   28   28   27   27  ^35  32.25 -5.25  Full     0  30/30   35 -42.00  -0.00   16.00   30.00%
16:58:46   28   30   29   30   34   34   28   28   27   26   28   28   27   27  ^34  32.00 -5.50  Full   500  30/30   32 -44.00  -0.00  -16.00   30.00%
17:00:16   28   30   29   31   34   35   29   28   27   26   28   28   27   27  ^35  32.50 -5.00  Full   500  30/30   31 -40.00  -0.00   32.00   30.00%
17:01:46   28   30   29   31   35   35   29   28   26   26   28   28   27   27  ^35  32.75 -4.75  Full   500  30/30   33 -38.00  -0.00   16.00   30.00%
17:03:16   28   30   29   31   35   35   29   28   26   26   28   28   28   27  ^35  32.75 -4.75  Full     0  30/30   31 -38.00  -0.00    0.00   30.00%
17:04:46   28   30   29   31   35   35   29   29   26   26   28   28   28   27  ^35  32.75 -4.75  Full   500  30/30   32 -38.00  -0.00    0.00   30.00%
 
Last edited:

thepixelgeek

Patron
Joined
Jan 21, 2016
Messages
271
Leaving tmux open, I eventually see this and script appears to stop running :

root@freenas# ./PID_fan_control.pl
No data available
Get Device ID command failed
No data available
No data available
No valid response received
 
Last edited:
Joined
Dec 2, 2015
Messages
730
Something is definetly amiss, as the script does not believe the fan speeds are responding to the commands.

Let's go back to basics, and run some fan speed commands manually, to attempt to determine what is going on.

Stop the fan speed script.

Log into the IPMI GUI using a web broswer. Set the fan mode to Full Speed.

In a terminal, run the following commands in sequence, and report all output:

ipmitool sdr | grep FAN # check fan speeds
ipmitool raw 0x30 0x70 0x66 0x01 0x00 50 # this sets Fan Zone 0 to 50% duty cycle
ipmitool sdr | grep FAN # check fan speeds
ipmitool raw 0x30 0x70 0x66 0x01 0x00 25 # this sets Fan Zone 0 to 25% duty cycle
ipmitool sdr | grep FAN # check fan speeds
ipmitool raw 0x30 0x70 0x66 0x01 0x00 75 # this sets Fan Zone 0 to 75% duty cycle
ipmitool sdr | grep FAN # check fan speeds
ipmitool raw 0x30 0x70 0x66 0x01 0x00 100 # this sets Fan Zone 0 to 100% duty cycle
ipmitool sdr | grep FAN # check fan speeds
ipmitool raw 0x30 0x70 0x66 0x01 0x01 50 # this sets Fan Zone 1 to 50% duty cycle
ipmitool sdr | grep FAN # check fan speeds
ipmitool raw 0x30 0x70 0x66 0x01 0x01 25 # this sets Fan Zone 1 to 25% duty cycle
ipmitool sdr | grep FAN # check fan speeds
ipmitool raw 0x30 0x70 0x66 0x01 0x01 75 # this sets Fan Zone 1 to 75% duty cycle
ipmitool sdr | grep FAN # check fan speeds
ipmitool raw 0x30 0x70 0x66 0x01 0x01 100 # this sets Fan Zone 1 to 100% duty cycle
ipmitool sdr | grep FAN # check fan speeds
 

thepixelgeek

Patron
Joined
Jan 21, 2016
Messages
271
Code:
root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 3000.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000

root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x00 50

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1100.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 1700.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000

root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x00 25

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 3000.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000

root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x00 75

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1600.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 2400.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000

root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x00 100

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 3000.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000

root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x01 50

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1100.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 1600.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 800.000    | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000

root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x01 25

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 2900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000

root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x01 75

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 2900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1100.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000

root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x01 100

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 3000.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000

 
Joined
Dec 2, 2015
Messages
730
Code:
root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 3000.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000

root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x00 50

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1100.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 1700.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000

root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x00 25

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 3000.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000

root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x00 75

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1600.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 2400.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000

root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x00 100

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 3000.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000

root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x01 50

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1100.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 1600.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 800.000    | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000

root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x01 25

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 2900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000

root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x01 75

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 2900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1100.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000

root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x01 100

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 3000.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000

We have learned a few things from this test:

  1. The X11 boards use the same ipmitool raw codes to control fan duty cycles as the X10 boards. This is very good news, as it offers some hope that this script could work.
  2. Fan zone 0 is comprised of Fans 1 through 4. Fan zone 1 is comprised of Fan A.
  3. The board is not allowing us to completely control fan speed. The results show that the rpm responds to commands to set 50%, 75% and 100% duty cycle. But if we command 25% duty cycle, the speed goes back to 100%. I had the same issue on my X10 board until I experimented with the IPMI fan modes and found the one that worked.
Homework for you - try all the different fan modes that the IPMI has. After setting a fan mode, try commanding various duty cycles in fan zone 1, with ipmitool raw 0x30 0x70 0x66 0x01 0x01 duty_cycle, replacing "duty_cycle" with a numeric value from 25 to 100, checking fan speed with ipmitool sdr | grep FAN. Once you find a fan mode that works, experiment to find the lowest duty cycle that the fan will tolerate without stalling. One of my systems works down to 16% duty cycle. The other works to 20%. A different fan I tried stalls at anything less than 30%.

Then repeat with Fan zone 0, but being careful to not have much load on the CPU, lest we cook it.

Report back once you find the correct IPMI fan mode, or if you learn that none work.
 

thepixelgeek

Patron
Joined
Jan 21, 2016
Messages
271
When setting the new FAN mode under supermicro > configuration > fans, do I need to reset anything so it engages the new mode, other than saving of course? Thought I may have read that somewhere.

After saving new mode, while doing my homework, supermicro ipmi restarted. After signing in again the FAN mode was set back to Full.

Also, fans cycle low to high constantly and appear to alter the grep FAN report. So, hard to tell if the raw duty cycle command is changing speeds.

Supermicro ipmi restarted 3x now since running the fan script. Could it possibly be related?

Note, nothing is hitting my server, it's unused at the moment.
 
Last edited:

thepixelgeek

Patron
Joined
Jan 21, 2016
Messages
271
Here's the output when set to Standard fan mode:

Code:
root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 2900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
root@freenas[~]# clear
root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 3000.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x00 50

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 2000.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 2900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1400.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x00 25

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 900.000    | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 800.000    | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1400.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x00 75

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1600.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 2400.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000

root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x00 100

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 3000.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x01  100

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 2900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x01  50

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 2900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 800.000    | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x01  25

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 2900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 400.000    | RPM        | cr    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x01  75

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 2900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1100.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x01  100

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 3000.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
 

thepixelgeek

Patron
Joined
Jan 21, 2016
Messages
271
Changed to Optimal fan mode, but Supermicro ipmi reset again. No doubt it's changing the mode back to full.
 

thepixelgeek

Patron
Joined
Jan 21, 2016
Messages
271
Changed to Optimal fan mode, Here's the readout except for this since it restarted (auto-set to Full) again:
ipmitool raw 0x30 0x70 0x66 0x01 0x01 100


Code:
root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 3000.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x00 50

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 3000.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x00 25

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1300.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 1100.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 400.000    | RPM        | cr    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x00 75

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1600.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 2400.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1400.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x00 100

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 3000.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1500.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x01 50

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 600.000    | RPM        | nc    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 1000.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 800.000    | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x01 25

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 600.000    | RPM        | nc    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 400.000    | RPM        | cr    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x01 75

root@freenas[~]# ipmitool sensor | grep FAN
FAN1             | 1900.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN3             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN4             | 3000.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FANA             | 1100.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
root@freenas[~]# ipmitool raw 0x30 0x70 0x66 0x01 0x01 100
 

thepixelgeek

Patron
Joined
Jan 21, 2016
Messages
271
Reading about using ipmiutil, here, but not sure it will help, yet. Looks to be just thresholds. Still trying to figure out why it reverts back to Full fan setting all the time, and kills the script (appears to).
 
Last edited:
Joined
Dec 2, 2015
Messages
730
Reading about using ipmiutil, here, but not sure it will help, yet. Looks to be just thresholds. Still trying to figure out why it reverts back to Full fan setting all the time, and kills the script (appears to).
You might try lowering the low speed thresholds for FANA, to ensure all the values are lower than the lowest speed that FANA will run. Try ipmitool sensor thresh "FANA" lower 100 200 300

You need to find a situation where you can set the FANA duty cycle to a value, and the BMC will not mess with it for an indefinite period. After setting fan duty cycle, you could run while :; do date; ipmitool sdr | grep FANA;sleep 10;done to display the fan speed every 10s to confirm the speed stays as set.

You'll need to kill that loop with Ctrl-c when you want it to stop
 
Top