[Plugin] IPMI for unRAID 6.1+


Recommended Posts

Believe it or not you were half way there on page 9 in April 2016 - you have a post with a mix of x10/11 and x9 raw commands you asked people to test. which includes the x9 raw strings. You must have found a relevant resource back then. I only found the raw commands after a long and protracted search hidden in the depths of a supermicro FAQ post in response to a query a user raised on another x9 board. It wasn't obvious.

 

I have also noted that ipmi_helpers.php will also need to be updated as it saves the config set by the user assuming 64 steps as well. I have not spent much time tweaking as I am hoping this is a heck of a lot easier for you to update than for me to continue modding.

 

Much appreciated - this is a really great looking plugin for my use case (and obviously for a heck of a lot of other people out there too).

Link to comment
5 hours ago, gmk2 said:

Believe it or not you were half way there on page 9 in April 2016 - you have a post with a mix of x10/11 and x9 raw commands you asked people to test. which includes the x9 raw strings. You must have found a relevant resource back then. I only found the raw commands after a long and protracted search hidden in the depths of a supermicro FAQ post in response to a query a user raised on another x9 board. It wasn't obvious.

 

I have also noted that ipmi_helpers.php will also need to be updated as it saves the config set by the user assuming 64 steps as well. I have not spent much time tweaking as I am hoping this is a heck of a lot easier for you to update than for me to continue modding.

 

Much appreciated - this is a really great looking plugin for my use case (and obviously for a heck of a lot of other people out there too).

I have a list of a bunch of Supermicro and ASRock commands. I knew I had those commands but didn't realize the range was 0 - 255 (00-ff). I updated the plugin with changes for X9 boards. If you have any trouble you can run ipmifan --debug from the command line.  It will show all the variables on the console and log the command string to the fanlog.

Link to comment

I am having issues with the latest update 20180520. The plugin no longer controls my fans all are running at full RPM. I have tried uninstalling and re-installing. This is on a Supermicro X11SSH-F.

 

EDIT

Fixed now. I had to reset all temp and fan settings.

 

Edited by Lothar
Now Fixed
Link to comment
I am having issues with the latest update 20180520. The plugin no longer controls my fans all are running at full RPM. I have tried uninstalling and re-installing. This is on a Supermicro X11SSH-F.
 
EDIT
Fixed now. I had to reset all temp and fan settings.
 
You'll have to give me a little more info. I have the exact board and it's working for me. What are your fan settings? What does the ipmifan log say? Clear the log and start and stop the fan control. You can also stop fan control and run ipmifan - - debug and post the ipmifan log.
Link to comment
1 hour ago, dmacias said:
1 hour ago, Lothar said:
I am having issues with the latest update 20180520. The plugin no longer controls my fans all are running at full RPM. I have tried uninstalling and re-installing. This is on a Supermicro X11SSH-F.
 
EDIT
Fixed now. I had to reset all temp and fan settings.
 

You'll have to give me a little more info. I have the exact board and it's working for me. What are your fan settings? What does the ipmifan log say? Clear the log and start and stop the fan control. You can also stop fan control and run ipmifan - - debug and post the ipmifan log.

I did get it working, just moved fan control settings around it started functioning normally. 

Link to comment
1 hour ago, Lothar said:
I did get it working, just moved fan control settings around it started functioning normally. 

That's good to hear. What was your interval? If it was 3 or 5 min it might have taken that long to adjust.

Edited by dmacias
Link to comment
18 hours ago, dmacias said:

That's good to hear. What was your interval? If it was 3 or 5 min it might have taken that long to adjust.

30 sec. on temp. and 2 min. on HD. The fans were at full RPM for 15-20 min. While I was troubleshooting. I had the same thing happen on my backup server that I updated after. It may have something to do with going from 2 decimal places to one, as the settings were saved from the previous version at 2 decimals but when moved were corrected to one. 

Link to comment
30 sec. on temp. and 2 min. on HD. The fans were at full RPM for 15-20 min. While I was troubleshooting. I had the same thing happen on my backup server that I updated after. It may have something to do with going from 2 decimal places to one, as the settings were saved from the previous version at 2 decimals but when moved were corrected to one. 
I'll look into it more. The decimal places should have no effect as the underlying values for the selections were still 1-64 or 1-255
Link to comment

Hi dmacias,

 

I am currently away on work travel, however, a mate is setting up an identical server to mine and has kindly tested the x9 update and everything looks to be working properly.

 

Hooray for fan control!

 

I'll have a bit more time at the end of the week to take a closer look but so far all looks good.

 

Thanks!

Link to comment
Hi dmacias,
 
Thanks for the plugin. I can confirm that it is working on my Supermicro X9DRi-LN4+.  Thanks to gmk2 for finding the X9 specific raw codes.
You're welcome. And yes thanks for confirming it's working and thanks to gmk2.
Link to comment

Hi dmacias,

 

Can I make another request? I've had a look at the fan control logic and essentially what it is doing is saying:

- if the temp is <= templo apply fanmin

- if the temp is >= temphi apply fanmax, 

- if the temp is within the range, calculate (reading - templo)/(temphi - templo)

------> then check if the pct is outside the fanmin / fanmax and apply this over the top

 

What this does is any temp just over templo will essentially always calculate as a number below fanmin, so instead of a gradient from fanmin to fanmax occuring from templo to temphi you get a flat line of fanmin until the calculation reaches fanmin.

 

To correct this, the code can be adjusted to use fanmin and fanmax to define the range produced and give a nice gradient.

 

In ipmifan change:

                    $pct = ($reading-$templo)/($temphi-$templo);
 

To:

                    $pct = ($reading-$templo)/($temphi-$templo)*($fanmax-$fanmin)/$range + $fanmin/$range;

 

What does this do?

 

I set templo to 30 and temphi to 55 with a fanmin of 51.3. The existing code will apply fanmin from 31 through 42 degrees while the new code will step up from 51.3 % to 61% fan in the same temp range. The below table shows how the existing logic is flatlined on fanmin for ~ half the range vs the proposed logic which will progressively step up fans throughout the range.

 

Temp		Existing:	Proposed
19		FANMIN		FANMIN
20		FANMIN		FANMIN
21		FANMIN		FANMIN
22		FANMIN		FANMIN
23		FANMIN		FANMIN
24		FANMIN		FANMIN
25		FANMIN		FANMIN
26		FANMIN		FANMIN
27		FANMIN		FANMIN
28		FANMIN		FANMIN
29		FANMIN		FANMIN
30		FANMIN		FANMIN
31		130.815		135.7824
32		130.815		140.7498
33		130.815		145.7172
34		130.815		150.6846
35		130.815		155.652
36		130.815		160.6194
37		130.815		165.5868
38		130.815		170.5542
39		130.815		175.5216
40		130.815		180.489
41		130.815		185.4564
42		130.815		190.4238
43		132.6		195.3912
44		142.8		200.3586
45		153		205.326
46		163.2		210.2934
47		173.4		215.2608
48		183.6		220.2282
49		193.8		225.1956
50		204		230.163
51		214.2		235.1304
52		224.4		240.0978
53		234.6		245.0652
54		244.8		250.0326
55		FANMAX		FANMAX
56		FANMAX		FANMAX
57		FANMAX		FANMAX
58		FANMAX		FANMAX
59		FANMAX		FANMAX
60		FANMAX		FANMAX
61		FANMAX		FANMAX
62		FANMAX		FANMAX
63		FANMAX		FANMAX

I'm trialing this code now and it seems to be working nicely.

 

Happy to debate / discuss further :). Again I want to reiterate this is an awesome plugin and much appreciated!

 

 

 

Link to comment
3 hours ago, gmk2 said:

Hi dmacias,

 

Can I make another request? I've had a look at the fan control logic and essentially what it is doing is saying:

- if the temp is <= templo apply fanmin

- if the temp is >= temphi apply fanmax, 

- if the temp is within the range, calculate (reading - templo)/(temphi - templo)

------> then check if the pct is outside the fanmin / fanmax and apply this over the top

 

What this does is any temp just over templo will essentially always calculate as a number below fanmin, so instead of a gradient from fanmin to fanmax occuring from templo to temphi you get a flat line of fanmin until the calculation reaches fanmin.

 

To correct this, the code can be adjusted to use fanmin and fanmax to define the range produced and give a nice gradient.

 

In ipmifan change:

                    $pct = ($reading-$templo)/($temphi-$templo);
 

To:

                    $pct = ($reading-$templo)/($temphi-$templo)*($fanmax-$fanmin)/$range + $fanmin/$range;

 

What does this do?

 

I set templo to 30 and temphi to 55 with a fanmin of 51.3. The existing code will apply fanmin from 31 through 42 degrees while the new code will step up from 51.3 % to 61% fan in the same temp range. The below table shows how the existing logic is flatlined on fanmin for ~ half the range vs the proposed logic which will progressively step up fans throughout the range.

 


Temp		Existing:	Proposed
19		FANMIN		FANMIN
20		FANMIN		FANMIN
21		FANMIN		FANMIN
22		FANMIN		FANMIN
23		FANMIN		FANMIN
24		FANMIN		FANMIN
25		FANMIN		FANMIN
26		FANMIN		FANMIN
27		FANMIN		FANMIN
28		FANMIN		FANMIN
29		FANMIN		FANMIN
30		FANMIN		FANMIN
31		130.815		135.7824
32		130.815		140.7498
33		130.815		145.7172
34		130.815		150.6846
35		130.815		155.652
36		130.815		160.6194
37		130.815		165.5868
38		130.815		170.5542
39		130.815		175.5216
40		130.815		180.489
41		130.815		185.4564
42		130.815		190.4238
43		132.6		195.3912
44		142.8		200.3586
45		153		205.326
46		163.2		210.2934
47		173.4		215.2608
48		183.6		220.2282
49		193.8		225.1956
50		204		230.163
51		214.2		235.1304
52		224.4		240.0978
53		234.6		245.0652
54		244.8		250.0326
55		FANMAX		FANMAX
56		FANMAX		FANMAX
57		FANMAX		FANMAX
58		FANMAX		FANMAX
59		FANMAX		FANMAX
60		FANMAX		FANMAX
61		FANMAX		FANMAX
62		FANMAX		FANMAX
63		FANMAX		FANMAX

I'm trialing this code now and it seems to be working nicely.

 

Happy to debate / discuss further :). Again I want to reiterate this is an awesome plugin and much appreciated!

 

 

 

I'll look at it more tomorrow. It's late and I'm a bit tired to do math ?. I think I see what you want to do. Rescale it and I was just applying the min till it went above.  Makes sense. Do you have a github account? You could do a pull request.  Replace that line and remove the 2 if statements imposing the limits just below it.

 

 

Edited by dmacias
Link to comment
On 5/20/2018 at 3:59 PM, Lothar said:

I am having issues with the latest update 20180520. The plugin no longer controls my fans all are running at full RPM. I have tried uninstalling and re-installing. This is on a Supermicro X11SSH-F.

 

EDIT

Fixed now. I had to reset all temp and fan settings.

 

 

I am having a similar issue running another X11 board, the Supermicro X11SSM-F. My other fans are working fine, but the CPU fan is pegged at full throttle. I haven't changed any settings, and doing a cold-reset doesn't seem to help either.

Link to comment
 
I am having a similar issue running another X11 board, the Supermicro X11SSM-F. My other fans are working fine, but the CPU fan is pegged at full throttle. I haven't changed any settings, and doing a cold-reset doesn't seem to help either.
Try applying all settings again and stopping and starting the fancontrol service. I had a similar experience but I gave it a minute and the fan returned to normal control
Link to comment
44 minutes ago, dmacias said:
49 minutes ago, cyriouslydylan said:
 
I am having a similar issue running another X11 board, the Supermicro X11SSM-F. My other fans are working fine, but the CPU fan is pegged at full throttle. I haven't changed any settings, and doing a cold-reset doesn't seem to help either.

Try applying all settings again and stopping and starting the fancontrol service. I had a similar experience but I gave it a minute and the fan returned to normal control

hmm doesn't seem to have done the trick for me, been testing various options for the last hour or so on and off, giving it time to poll again (my poll times are 1 and 3 minutes).

Link to comment
hmm doesn't seem to have done the trick for me, been testing various options for the last hour or so on and off, giving it time to poll again (my poll times are 1 and 3 minutes).
Which fan connector is it on 1 2 3 or 4? You can also stop the fancontrol service and run ipmifan --debug from the console. It will log more info in the fan log and display lots of info in the terminal. Also is the bios and bmc updated.
Link to comment
30 minutes ago, dmacias said:

Which fan connector is it on 1 2 3 or 4? You can also stop the fancontrol service and run ipmifan --debug from the console. It will log more info in the fan log and display lots of info in the terminal. Also is the bios and bmc updated.

 

It is Fan Connector A, that's the CPU fan on the motherboard, and I have case fans in 2, 3, and 4.

Just to make sure I am stopping the fancontrol service correctly - that's going to the fan control tab and and setting fan control to "no", correct?

Attached are the debug results.

DECLARED VARIABLES:
Array
(
    [debug] => 1
    [prog] => ipmifan
    [lockfile] => /var/run/ipmifan.pid
    [log] => /var/log/ipmifan
    [service] => /usr/local/emhttp/plugins/ipmi/scripts/ipmifan
    [usage] =>
Process settings in ipmi plugin fan config.
Control fans based on config values and [options].

Usage: ipmifan [options]

  -a, --auto       set fans to auto
      --full       set fans to full speed
  -q, --quiet      suppress all messages
      --debug      turn on debugging
      --daemon     run in the background
      --help       display this help and exit
      --quit       stop daemon if running
      --version    output version information and exit


    [shortopts] => adfq
    [longopts] => Array
        (
            [0] => auto
            [1] => daemon
            [2] => debug
            [3] => full
            [4] => help
            [5] => quit
            [6] => quiet
            [7] => version
        )

    [args] => Array
        (
            [debug] =>
        )

    [arga] =>
    [argf] =>
    [argq] =>
    [daemon] =>
    [quit] =>
    [raw] => 00 30 70 66 01
    [board_json] => Array
        (
            [Supermicro] => Array
                (
                    [raw] => 00 30 70 66 01
                    [auto] => 00 30 45 01
                    [full] => 00 30 45 01 01
                    [fans] => Array
                        (
                            [FAN1234] => 00
                            [FANA] => 01
                        )

                )

        )

    [board] => Supermicro
    [board_file_status] => 1
    [msg] => Fan:Temp, FAN1234(48%):HDD Temp(32°C), FANA(13%):CPU Temp(28°C)
    [MD5] => 9519d86c45bf4e5c4f74c2f3ebd5d298
    [fancfg_file] => /boot/config/plugins/ipmi/fan.cfg
    [hdds] => Array
        (
            [WDC_WD80EFAX-68LHPN0_7SGH7P2C] => sdb
            [ADATA_SP550_2G2220008952] => sdc
            [WDC_WD40EFRX-68N32N0_WD-WCC7K2CLPU58] => sdd
            [WDC_WD40EFRX-68WT0N0_WD-WCC4E799AZ3T] => sde
            [WDC_WD80EFAX-68LHPN0_7SGES7BC] => sdf
            [WDC_WD80EFAX-68LHPN0_7SGR21AC] => sdg
            [WDC_WD80EFAX-68LHPN0_7SGPUWGC] => sdh
            [HGST_HDN724040ALE640_PK1334PEHPALZS] => sdi
        )

    [hdd_temp] => 32
    [sensors] => Array
        (
            [4] => Array
                (
                    [ID] => 4
                    [Name] => CPU Temp
                    [Type] => Temperature
                    [Reading] => 28.00
                    [Units] => C
                    [Event] => 'OK'
                )

            [71] => Array
                (
                    [ID] => 71
                    [Name] => PCH Temp
                    [Type] => Temperature
                    [Reading] => 28.00
                    [Units] => C
                    [Event] => 'OK'
                )

            [138] => Array
                (
                    [ID] => 138
                    [Name] => System Temp
                    [Type] => Temperature
                    [Reading] => 23.00
                    [Units] => C
                    [Event] => 'OK'
                )

            [205] => Array
                (
                    [ID] => 205
                    [Name] => Peripheral Temp
                    [Type] => Temperature
                    [Reading] => 26.00
                    [Units] => C
                    [Event] => 'OK'
                )

            [272] => Array
                (
                    [ID] => 272
                    [Name] => VcpuVRM Temp
                    [Type] => Temperature
                    [Reading] => 26.00
                    [Units] => C
                    [Event] => 'OK'
                )

            [339] => Array
                (
                    [ID] => 339
                    [Name] => DIMMA1 Temp
                    [Type] => Temperature
                    [Reading] => 23.00
                    [Units] => C
                    [Event] => 'OK'
                )

            [406] => Array
                (
                    [ID] => 406
                    [Name] => DIMMA2 Temp
                    [Type] => Temperature
                    [Reading] => N/A
                    [Units] => C
                    [Event] => N/A
                )

            [473] => Array
                (
                    [ID] => 473
                    [Name] => DIMMB1 Temp
                    [Type] => Temperature
                    [Reading] => 23.00
                    [Units] => C
                    [Event] => 'OK'
                )

            [540] => Array
                (
                    [ID] => 540
                    [Name] => DIMMB2 Temp
                    [Type] => Temperature
                    [Reading] => N/A
                    [Units] => C
                    [Event] => N/A
                )

            [607] => Array
                (
                    [ID] => 607
                    [Name] => FAN1
                    [Type] => Fan
                    [Reading] => N/A
                    [Units] => RPM
                    [Event] => N/A
                )

            [674] => Array
                (
                    [ID] => 674
                    [Name] => FAN2
                    [Type] => Fan
                    [Reading] => 1200.00
                    [Units] => RPM
                    [Event] => 'At or Above (>=) Upper Non-Critical Threshold'
                )

            [741] => Array
                (
                    [ID] => 741
                    [Name] => FAN3
                    [Type] => Fan
                    [Reading] => 1200.00
                    [Units] => RPM
                    [Event] => 'At or Above (>=) Upper Non-Critical Threshold'
                )

            [808] => Array
                (
                    [ID] => 808
                    [Name] => FAN4
                    [Type] => Fan
                    [Reading] => 1200.00
                    [Units] => RPM
                    [Event] => 'At or Above (>=) Upper Non-Critical Threshold'
                )

            [875] => Array
                (
                    [ID] => 875
                    [Name] => FANA
                    [Type] => Fan
                    [Reading] => 2900.00
                    [Units] => RPM
                    [Event] => 'At or Above (>=) Upper Critical Threshold'
                )

            [99] => Array
                (
                    [ID] => 99
                    [Name] => HDD Temperature
                    [Type] => Temperature
                    [Reading] =>  32
                    [Units] => C
                    [Event] => Ok
                )

        )

    [ipmipoll] => 6
    [fanpoll] => 6
    [hddpoll] => 18
    [fan_count] => 2
    [hdd_count] => 180
    [i] => 1
    [board0] => Supermicro
    [fans] => Array
        (
            [FAN1234] => 00
            [FANA] => 01
        )

    [hex] =>
    [cmd] => ipmi-raw 00 30 70 66 01 00 32  2>&1; ipmi-raw 00 30 70 66 01 01 08                                                                                                   2>&1;
    [exec] => 1
    [value] => 01
    [fan] => FANA
    [temp] => 4
    [fancfg] => Array
        (
            [FANCONTROL] => disable
            [FANPOLL] => 6
            [FANIP] =>
            [HDDPOLL] => 18
            [HDDIGNORE] =>
            [HARDDRIVES] => enable
            [FAN_FAN1234] => 674
            [TEMP_FAN1234] => 99
            [TEMPHI_FAN1234] => 45
            [TEMPLO_FAN1234] => 20
            [FANMAX_FAN1234] => 64
            [FANMIN_FAN1234] => 1
            [FAN_FANA] => 875
            [TEMP_FANA] => 4
            [TEMPHI_FANA] => 80
            [TEMPLO_FANA] => 20
            [FANMAX_FANA] => 57
            [FANMIN_FANA] => 1
        )

    [templo] => 20
    [temphi] => 80
    [fanmin] => 1
    [fanmax] => 57
    [range] => 64
    [reading] => 28
    [name] => CPU Temp
    [pct] => 13
    [pwm] => 08
    [cmd_count] => 0
    [cmd_str] => ipmi-raw 00 30 70 66 01 01 08  2>&1;
    [fanopts] =>
    [current_pwm] => 32
    [current_pwm2] => 08
    [plg_path] => /boot/config/plugins/ipmi
    [cfg_file] => /boot/config/plugins/ipmi/ipmi.cfg
    [cfg] => Array
        (
            [IPMISELD] => enable
            [IPMIPOLL] => 180
            [NETWORK] => disable
            [LOCAL] => disable
            [IPADDR] =>
            [USER] =>
            [PASSWORD] =>
            [DISP_SENSOR1] => 875
            [DISP_SENSOR2] => 674
            [LOADCFG] => disable
            [IGNORE] => 406,540,607,1612
            [DIGNORE] => 406,540,607,1612
            [DASH] => enable
            [DEVIGNORE] =>
            [DEVS] => enable
            [DISP_SENSOR3] => 741
            [DISP_SENSOR4] => 808
        )

    [netsvc] => disable
    [ipaddr] =>
    [user] =>
    [password] =>
    [ignore] => 406,540,607,1612
    [dignore] => 406,540,607,1612
    [devignore] =>
    [devs] => enable
    [ipmi] => 1
    [netopts] =>
    [fanctrl] => disable
    [hddignore] =>
    [harddrives] => enable
    [fanip] =>
    [board_model] => 1
    [boards] => Array
        (
            [ASRock] =>
            [ASRockRack] =>
            [Supermicro] =>
        )

    [board_status] => 1
)

And I believe yes the bios and BMC are updated, that is at least the IPMI fan config plugin is updated, I'm not sure how to update beyond that.

 

Thank you by the way, for the quick responses. I'm not the most knowledgeable, but I'll do my best to give you the right information.

Link to comment



 
It is Fan Connector A, that's the CPU fan on the motherboard, and I have case fans in 2, 3, and 4.
Just to make sure I am stopping the fancontrol service correctly - that's going to the fan control tab and and setting fan control to "no", correct?
Attached are the debug results.

And I believe yes the bios and BMC are updated, that is at least the IPMI fan config plugin is updated, I'm not sure how to update beyond that.
 
Thank you by the way, for the quick responses. I'm not the most knowledgeable, but I'll do my best to give you the right information.


Yes that's how you stop the service. Also what's the recent fan log say when you ran debug. You might also need to use the sensor config editor and set the thresholds for your fans. I need to make a guide how to do that but there's some info earlier in the thread. FANA worked in the previous release?
Link to comment
57 minutes ago, dmacias said:


 

 


Yes that's how you stop the service. Also what's the recent fan log say when you ran debug. You might also need to use the sensor config editor and set the thresholds for your fans. I need to make a guide how to do that but there's some info earlier in the thread. FANA worked in the previous release?

 

 

I'm not sure how to pull the fan specific log - is that through the IPMI plugin? The Event log only shows "Upper Critical - going high ; Sensor Reading = 2900.00 RPM ; Threshold = 2500.00 RPM"

 

Fan A is the CPU fan and it's an intel stock cooler, which should have an RPM range of 800-2500. I have the thresholds set for that as follows:

	Lower_Non_Critical_Threshold                                                700.000000
	## Give valid input for sensor type = Fan; units = RPM
	Lower_Critical_Threshold                                                    500.000000
	## Give valid input for sensor type = Fan; units = RPM
	Lower_Non_Recoverable_Threshold                                             300.000000
	## Give valid input for sensor type = Fan; units = RPM
	Upper_Non_Critical_Threshold                                                2400.000000
	## Give valid input for sensor type = Fan; units = RPM
	Upper_Critical_Threshold                                                    2500.000000
	## Give valid input for sensor type = Fan; units = RPM
	Upper_Non_Recoverable_Threshold                                             3000.000000

 

The CPU fan worked fine in the last release yeah. It might be worth me pulling an entirely new config file and resetting everything. I think my other fans are still set to a lower threshold because they were low RPM fans (which I had trouble adjusting for) and are now normal case fans.

 

EDIT: Here is the fan log

ErrorWarningSystemArrayLogin


2018-05-27 18:42:38 Setting fans to full speed
2018-05-27 18:42:38 Fan:Temp, FAN1234(48%):HDD Temp(32°C), FANA(13%):CPU Temp(28°C)
2018-05-27 18:43:08 fan control config file updated, reloading settings
2018-05-27 18:44:52 Stopping Fan Control
2018-05-27 18:44:52 Setting fans to auto
2018-05-27 18:47:27 Starting Fan Control
2018-05-27 18:47:27 Setting fans to full speed
2018-05-27 18:47:27 Fan:Temp, FAN1234(48%):HDD Temp(32°C), FANA(13%):CPU Temp(28°C)
2018-05-27 18:57:04 Stopping Fan Control
2018-05-27 18:57:04 Setting fans to auto
2018-05-27 18:58:12 Starting Fan Control
2018-05-27 18:58:12 Setting fans to full speed
2018-05-27 18:58:12 Fan:Temp, FAN1234(48%):HDD Temp(32°C), FANA(13%):CPU Temp(28°C)
2018-05-27 19:41:16 Stopping Fan Control
2018-05-27 19:41:16 Setting fans to auto
2018-05-27 19:42:04 Starting Fan Control
2018-05-27 19:42:04 Setting fans to full speed
2018-05-27 19:42:04 ipmi-raw 00 30 70 66 01 00 32 2>&1; ipmi-raw 00 30 70 66 01 01 08 2>&1; 
2018-05-27 19:42:04 Fan:Temp, FAN1234(48%):HDD Temp(32°C), FANA(13%):CPU Temp(28°C)
2018-05-27 20:00:10 ipmi-raw 00 30 70 66 01 01 12 2>&1; 
2018-05-27 20:00:10 Fan:Temp, FAN1234(48%):HDD Temp(32°C), FANA(17%):CPU Temp(30°C)
2018-05-27 20:01:10 ipmi-raw 00 30 70 66 01 01 08 2>&1; 
2018-05-27 20:01:10 Fan:Temp, FAN1234(48%):HDD Temp(32°C), FANA(12%):CPU Temp(27°C)
2018-05-27 20:15:14 ipmi-raw 00 30 70 66 01 01 12 2>&1; 
2018-05-27 20:15:14 Fan:Temp, FAN1234(52%):HDD Temp(33°C), FANA(18%):CPU Temp(31°C)
2018-05-27 20:16:14 ipmi-raw 00 30 70 66 01 01 08 2>&1; 
2018-05-27 20:16:14 Fan:Temp, FAN1234(52%):HDD Temp(33°C), FANA(13%):CPU Temp(28°C)
2018-05-27 20:39:20 ipmi-raw 00 30 70 66 01 01 12 2>&1; 
2018-05-27 20:39:20 Fan:Temp, FAN1234(52%):HDD Temp(33°C), FANA(17%):CPU Temp(30°C)
2018-05-27 20:40:20 ipmi-raw 00 30 70 66 01 01 08 2>&1; 
2018-05-27 20:40:20 Fan:Temp, FAN1234(52%):HDD Temp(33°C), FANA(13%):CPU Temp(28°C)
2018-05-27 20:48:23 ipmi-raw 00 30 70 66 01 01 12 2>&1; 
2018-05-27 20:48:23 Fan:Temp, FAN1234(52%):HDD Temp(33°C), FANA(18%):CPU Temp(31°C)
2018-05-27 20:49:23 ipmi-raw 00 30 70 66 01 01 08 2>&1; 
2018-05-27 20:49:23 Fan:Temp, FAN1234(52%):HDD Temp(33°C), FANA(13%):CPU Temp(28°C)
2018-05-27 20:54:24 ipmi-raw 00 30 70 66 01 01 12 2>&1; 
2018-05-27 20:54:24 Fan:Temp, FAN1234(52%):HDD Temp(33°C), FANA(17%):CPU Temp(30°C)
2018-05-27 20:55:24 ipmi-raw 00 30 70 66 01 01 08 2>&1; 
2018-05-27 20:55:24 Fan:Temp, FAN1234(52%):HDD Temp(33°C), FANA(15%):CPU Temp(29°C)
2018-05-27 20:55:34 fan control config file updated, reloading settings

 

Edited by cyriouslydylan
Link to comment

Hi cyriouslydylan,

 

Your minimum fan setting for Fan A is way way too low - at 15% I'd be suprised if the fan even spins. Remember the % is of PWM and PWM doesn't equal RPM. You need to set this up to something more realistic - start with 50% PWM and check what rpm you get.

Link to comment
1 hour ago, gmk2 said:

Hi cyriouslydylan,

 

Your minimum fan setting for Fan A is way way too low - at 15% I'd be suprised if the fan even spins. Remember the % is of PWM and PWM doesn't equal RPM. You need to set this up to something more realistic - start with 50% PWM and check what rpm you get.

 

OK so I changed my minimum for both sets of fans to be 50%, and also changed the threshold settings for the CPU fan. It doesn't seem to have helped thus far, but here are the new settings:

 

Section 875_FANA
	## Possible values: Yes/No
	Enable_All_Event_Messages                                                   Yes
	## Possible values: Yes/No
	Enable_Scanning_On_This_Sensor                                              Yes
	## Possible values: Yes/No
	Enable_Assertion_Event_Lower_Critical_Going_Low                             Yes
	## Possible values: Yes/No
	Enable_Assertion_Event_Lower_Non_Recoverable_Going_Low                      Yes
	## Possible values: Yes/No
	Enable_Assertion_Event_Upper_Critical_Going_High                            Yes
	## Possible values: Yes/No
	Enable_Assertion_Event_Upper_Non_Recoverable_Going_High                     Yes
	## Possible values: Yes/No
	Enable_Deassertion_Event_Lower_Critical_Going_Low                           Yes
	## Possible values: Yes/No
	Enable_Deassertion_Event_Lower_Non_Recoverable_Going_Low                    Yes
	## Possible values: Yes/No
	Enable_Deassertion_Event_Upper_Critical_Going_High                          Yes
	## Possible values: Yes/No
	Enable_Deassertion_Event_Upper_Non_Recoverable_Going_High                   Yes
	## Give valid input for sensor type = Fan; units = RPM
	Lower_Non_Critical_Threshold                                                1000.000000
	## Give valid input for sensor type = Fan; units = RPM
	Lower_Critical_Threshold                                                    900.000000
	## Give valid input for sensor type = Fan; units = RPM
	Lower_Non_Recoverable_Threshold                                             800.000000
	## Give valid input for sensor type = Fan; units = RPM
	Upper_Non_Critical_Threshold                                                2400.000000
	## Give valid input for sensor type = Fan; units = RPM
	Upper_Critical_Threshold                                                    2500.000000
	## Give valid input for sensor type = Fan; units = RPM
	Upper_Non_Recoverable_Threshold                                             2800.000000
	## Give valid input for sensor type = Fan; units = RPM; 'None' to not use hysteresis
	Positive_Going_Threshold_Hysteresis                                         100.000000
	## Give valid input for sensor type = Fan; units = RPM; 'None' to not use hysteresis
	Negative_Going_Threshold_Hysteresis                                         100.000000
EndSection

 

2018-05-27 22:53:06 Starting Fan Control
2018-05-27 22:53:06 Setting fans to full speed
2018-05-27 22:53:06 Fan:Temp, FAN1234(50%):HDD Temp(34°C), FANA(50%):CPU Temp(29°C)

It also seems that as soon as I start fan control it immediately puts all of the fans to full speed.

It's probably unrelated but also worth mentioning that the "reset bmc" button doesn't seem to work for me. Whenever I try and do it, after I confirm through the gui that I want to do a cold reset, I get a red x in a circle.

Edited by cyriouslydylan
Link to comment

Do your fans drop down from max when you enable fan control before roaring back to full noise? If so this is likely the classic supermicro fan speed falling below threshold forcing max fan speed..

 

With 50% PWM and your now increased lower thresholds you may be doing exactly this. You can check the ipmi log to see if it is logging threshold events, and check the sensor readings to see the actual fan rpm (rather than the config).

 

If you want to adjust your thresholds, set your fanmin to 85% and see if the rpm fall from max. Check what the rpm value is. Progressively change the fanmin down by 10% and check the rpm and you should find the threshold point. Unless the PWM% is low enough for your need this may be a trigger to drop your thresholds. For me, I looked up my fan specification and set the thresholds 150 rpm below. The threshold is intended as a safety feature in case the fan control doesn't apply enough PWM to get the fan to start, its not intended to define the minimum rpm you want to run the fans at.

 

It does take a little tweaking to get right. I have a few pages in a notebook of trialing PWM % settings to see what rpm my case fans vs cpu fans returned.

 

Good luck.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.