Resource icon

How To: Change IPMI Sensor Thresholds using ipmiutil

Z300M

Guru
Joined
Sep 9, 2011
Messages
882
Yes the fans are all PWM ones and yes, I did set both thresholds.

The fans were spinning up and down but stopped doing that after I changed the thresholds using ipmiutil (a few days ago).
I just checked the fan setting and it had flipped to "Full Speed". After changing it back to "Optimal Speed" the fans slowed down to 300 rpm.

Here is a dump I just did of the sensor settings for the fans :
Record ID: 808
ID String: FAN 1
Sensor Type: Fan (4h)
Sensor Number: 65
IPMB Slave Address: 10h
Sensor Owner ID: 20h
Sensor Owner LUN: 0h
Channel Number: 0h
Entity ID: fan/cooling device (29)
Entity Instance: 1
Entity Instance Type: Physical Entity
Event/Reading Type Code: 1h
Lower Critical Threshold: 150.000000 RPM
Upper Critical Threshold: 450.000000 RPM
Lower Non-Critical Threshold: 225.000000 RPM
Upper Non-Critical Threshold: 375.000000 RPM
Lower Non-Recoverable Threshold: 75.000000 RPM
Upper Non-Recoverable Threshold: 525.000000 RPM
Sensor Min. Reading: 0.000000 RPM
Sensor Max. Reading: 19125.000000 RPM
Normal Min.: 1500.000000 RPM
Normal Max.: 12750.000000 RPM
Nominal Reading: 9600.000000 RPM
Sensor Reading: 300.000000 RPM
Sensor Event: 'OK'

Record ID: 875
ID String: FAN 2
Sensor Type: Fan (4h)
Sensor Number: 66
IPMB Slave Address: 10h
Sensor Owner ID: 20h
Sensor Owner LUN: 0h
Channel Number: 0h
Entity ID: fan/cooling device (29)
Entity Instance: 2
Entity Instance Type: Physical Entity
Event/Reading Type Code: 1h
Lower Critical Threshold: 150.000000 RPM
Upper Critical Threshold: 450.000000 RPM
Lower Non-Critical Threshold: 225.000000 RPM
Upper Non-Critical Threshold: 375.000000 RPM
Lower Non-Recoverable Threshold: 75.000000 RPM
Upper Non-Recoverable Threshold: 525.000000 RPM
Sensor Min. Reading: 0.000000 RPM
Sensor Max. Reading: 19125.000000 RPM
Normal Min.: 1500.000000 RPM
Normal Max.: 12750.000000 RPM
Nominal Reading: 9600.000000 RPM
Sensor Reading: 300.000000 RPM
Sensor Event: 'OK'

Record ID: 942
ID String: FAN 3
Sensor Type: Fan (4h)
Sensor Number: 67
IPMB Slave Address: 10h
Sensor Owner ID: 20h
Sensor Owner LUN: 0h
Channel Number: 0h
Entity ID: fan/cooling device (29)
Entity Instance: 3
Entity Instance Type: Physical Entity
Event/Reading Type Code: 1h
Lower Critical Threshold: 150.000000 RPM
Upper Critical Threshold: 450.000000 RPM
Lower Non-Critical Threshold: 225.000000 RPM
Upper Non-Critical Threshold: 375.000000 RPM
Lower Non-Recoverable Threshold: 75.000000 RPM
Upper Non-Recoverable Threshold: 525.000000 RPM
Sensor Min. Reading: 0.000000 RPM
Sensor Max. Reading: 19125.000000 RPM
Normal Min.: 1500.000000 RPM
Normal Max.: 12750.000000 RPM
Nominal Reading: 9600.000000 RPM
Sensor Reading: 300.000000 RPM
Sensor Event: 'OK'

Record ID: 1009
ID String: FAN 4
Sensor Type: Fan (4h)
Sensor Number: 68
IPMB Slave Address: 10h
Sensor Owner ID: 20h
Sensor Owner LUN: 0h
Channel Number: 0h
Entity ID: fan/cooling device (29)
Entity Instance: 4
Entity Instance Type: Physical Entity
Event/Reading Type Code: 1h
Lower Critical Threshold: 150.000000 RPM
Upper Critical Threshold: 450.000000 RPM
Lower Non-Critical Threshold: 225.000000 RPM
Upper Non-Critical Threshold: 375.000000 RPM
Lower Non-Recoverable Threshold: 75.000000 RPM
Upper Non-Recoverable Threshold: 525.000000 RPM
Sensor Min. Reading: 0.000000 RPM
Sensor Max. Reading: 19125.000000 RPM
Normal Min.: 1500.000000 RPM
Normal Max.: 12750.000000 RPM
Nominal Reading: 9600.000000 RPM
Sensor Reading: 375.000000 RPM
Sensor Event: 'At or Above (>=) Upper Non-Critical Threshold'

Record ID: 1076
ID String: FAN A
Sensor Type: Fan (4h)
Sensor Number: 70
IPMB Slave Address: 10h
Sensor Owner ID: 20h
Sensor Owner LUN: 0h
Channel Number: 0h
Entity ID: fan/cooling device (29)
Entity Instance: 5
Entity Instance Type: Physical Entity
Event/Reading Type Code: 1h
Lower Critical Threshold: 150.000000 RPM
Upper Critical Threshold: 450.000000 RPM
Lower Non-Critical Threshold: 225.000000 RPM
Upper Non-Critical Threshold: 375.000000 RPM
Lower Non-Recoverable Threshold: 75.000000 RPM
Upper Non-Recoverable Threshold: 525.000000 RPM
Sensor Min. Reading: 0.000000 RPM
Sensor Max. Reading: 19125.000000 RPM
Normal Min.: 1500.000000 RPM
Normal Max.: 12750.000000 RPM
Nominal Reading: 9600.000000 RPM
Sensor Reading: 300.000000 RPM
Sensor Event: 'OK'

FAN models:
  • FAN A : NF-A14 PWM
  • FAN 1 : NF-A14 PWM
  • FAN 2 : NH-U12DX i4
  • FAN 3 : NF-A14 PWM
  • FAN 4 : NF8 redux-1800 PWM (2 of them on a PWM splitter)

Here are the thresholds I'd ideally like to set based on Noctua's datasheets for each fan type:
NF8 redux-1800 PWM
Lower_Non_Critical_Threshold325
Lower_Critical_Threshold260
Lower_Non_Recoverable_Threshold185
Upper_Non_Critical_Threshold1800
Upper_Critical_Threshold1980
Upper_Non_Recoverable_Threshold2055

NF-A14 PWM & NH-U12DX i4 :
Lower_Non_Critical_Threshold300
Lower_Critical_Threshold240
Lower_Non_Recoverable_Threshold165
Upper_Non_Critical_Threshold1500
Upper_Critical_Threshold1650
Upper_Non_Recoverable_Threshold1725

When I try pushing these settings I get the following error message:
Code:
Out of Range value '240.000000' for key 'Lower_Critical_Threshold' in section '808_FAN_1'
Out of Range value '165.000000' for key 'Lower_Non_Recoverable_Threshold' in section '808_FAN_1'
Out of Range value '240.000000' for key 'Lower_Critical_Threshold' in section '875_FAN_2'
Out of Range value '165.000000' for key 'Lower_Non_Recoverable_Threshold' in section '875_FAN_2'
Out of Range value '240.000000' for key 'Lower_Critical_Threshold' in section '942_FAN_3'
Out of Range value '165.000000' for key 'Lower_Non_Recoverable_Threshold' in section '942_FAN_3'
Out of Range value '325.000000' for key 'Lower_Non_Critical_Threshold' in section '1009_FAN_4'
Out of Range value '260.000000' for key 'Lower_Critical_Threshold' in section '1009_FAN_4'
Out of Range value '185.000000' for key 'Lower_Non_Recoverable_Threshold' in section '1009_FAN_4'
Out of Range value '240.000000' for key 'Lower_Critical_Threshold' in section '1076_FAN_A'
Out of Range value '165.000000' for key 'Lower_Non_Recoverable_Threshold' in section '1076_FAN_A'


That's when I switched to your method which is obviously more efficient.
I'll give it another go over the next few days...
ISTR that the acceptable values changed between IPMI firmware versions, but with ver. 1.23 the acceptable values are multiples of 150. Later version(s) may accept different values.
 

Yatti420

Wizard
Joined
Aug 12, 2012
Messages
1,437
Ipmi should always be updated for security purposes..

Sent from my SGH-I257M using Tapatalk 2
 

B34N

Dabbler
Joined
Jul 6, 2014
Messages
32
Thank you for this thread. This is my first system build in a decade and thanks to the resources on this forum, the only issue that I had was my case fan cycling every ten seconds because SM's low threshold was 600 and my fan runs at 600. Your instructions were spot on. Too bad a typo on my part resulted in hours of trying to find alternatives. Darn "-n" instead of "-N".
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
Thank you for this thread. This is my first system build in a decade and thanks to the resources on this forum, the only issue that I had was my case fan cycling every ten seconds because SM's low threshold was 600 and my fan runs at 600. Your instructions were spot on. Too bad a typo on my part resulted in hours of trying to find alternatives. Darn "-n" instead of "-N".

I've added a note about case-sensitivity, thanks for the warning.

I've also posted the ipmitool version of the guide, which has the advantage of not requiring any new software, since ipmitool is included in FreeNAS.

http://forums.freenas.org/index.php...s-with-ipmi-using-ipmitool.23571/#post-143246
 

DJABE

Contributor
Joined
Jan 28, 2014
Messages
154
BUT Supermicro says to update IPMI firmware (and BIOS) only to remedy a known problem. I did update my IPMI firmware to 1.23 (latest is 1.42) to deal with the Java "complaint," and I've never updated the BIOS (still on 1.1; latest is 2.0). It's a pity that SM doesn't publish Release Notes for its IPMI and BIOS updates. Did you have any reason to update yours? Do you have a list of changes?

Hello,
I got an similar issue after upgrading IPMI firmware to the latest available.
MoBo is X10SLM-F.

First - upgraded BIOS from 1.1a to 2.0. Seems to be all good.
But with IPMI 1.12 -> 1.35 lots of things are out of order.

First I had an issue with one FAN slowing down and IPMI blowing up and down all fans to 100%. I asserted that with a little help from this thread.
But I cannot seem to read CPU and PCH temps anymore! I can't even read voltages! Like my server is powered off - LOL :D

ipmiutil ver 2.94
isensor: version 2.94
Opening lan connection to node 192.168.2.222 ...
Connecting to node 192.168.2.222
-- BMC version 1.35, IPMI version 2.0
ID | SDRType | Type |SNum| Name |Status| Reading
0004 | Full | Temperature | 01 | CPU Temp | Absent | 0.00 na
0047 | Full | Temperature | 0b | System Temp | OK | 26.00 C
008a | Full | Temperature | 0c | Peripheral Temp | OK | 33.00 C
00cd | Full | Temperature | 0a | PCH Temp | Absent | 0.00 na
0110 | Full | Temperature | b0 | P1-DIMMA1 Temp | OK | 25.00 C
0153 | Full | Temperature | b1 | P1-DIMMA2 Temp | Absent | 0.00 na
0196 | Full | Temperature | b4 | P1-DIMMB1 Temp | OK | 24.00 C
01d9 | Full | Temperature | b5 | P1-DIMMB2 Temp | Absent | 0.00 na
021c | Full | Fan | 41 | FAN1 | OK | 1000.00 RPM
025f | Full | Fan | 42 | FAN2 | OK | 1400.00 RPM
02a2 | Full | Fan | 43 | FAN3 | OK | 600.00 RPM
02e5 | Full | Fan | 44 | FAN4 | OK | 1000.00 RPM
0328 | Full | Fan | 45 | FANA | OK | 1000.00 RPM
036b | Full | Voltage | 20 | Vcpu | Absent | 0.00 na
03ae | Full | Voltage | 24 | VDIMM | Absent | 0.00 na
03f1 | Full | Voltage | 30 | 12V | Absent | 0.00 na
0434 | Full | Voltage | 31 | 5VCC | Absent | 0.00 na
0477 | Full | Voltage | 32 | 3.3VCC | Absent | 0.00 na
04ba | Full | Voltage | 33 | VBAT | Absent | 0.00 na
04fd | Full | Voltage | 37 | 5V Dual | Absent | 0.00 na
0540 | Full | Voltage | 38 | 3.3V AUX | Absent | 0.00 na
0583 | Full | Voltage | 39 | 1.2V BMC | Absent | 0.00 na
05c6 | Full | Voltage | 3a | 1.05V PCH | Absent | 0.00 na
0609 | Full | Platform Securi | aa | Chassis Intru | OK | 0.00 na
ipmiutil sensor, completed successfully


Anyone with similar issues after upgrading IPMI firmware to 1.35?!
P.S. gonna write a real nasty email to SM support with screenshots, I just feel like I did hack on my own and not off the official site of theirs... xD
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
Hello,
I got an similar issue after upgrading IPMI firmware to the latest available.
MoBo is X10SLM-F.

First - upgraded BIOS from 1.1a to 2.0. Seems to be all good.
But with IPMI 1.12 -> 1.35 lots of things are out of order.

First I had an issue with one FAN slowing down and IPMI blowing up and down all fans to 100%. I asserted that with a little help from this thread.
But I cannot seem to read CPU and PCH temps anymore! I can't even read voltages! Like my server is powered off - LOL :D

ipmiutil ver 2.94
isensor: version 2.94
Opening lan connection to node 192.168.2.222 ...
Connecting to node 192.168.2.222
-- BMC version 1.35, IPMI version 2.0
ID | SDRType | Type |SNum| Name |Status| Reading
0004 | Full | Temperature | 01 | CPU Temp | Absent | 0.00 na
0047 | Full | Temperature | 0b | System Temp | OK | 26.00 C
008a | Full | Temperature | 0c | Peripheral Temp | OK | 33.00 C
00cd | Full | Temperature | 0a | PCH Temp | Absent | 0.00 na
0110 | Full | Temperature | b0 | P1-DIMMA1 Temp | OK | 25.00 C
0153 | Full | Temperature | b1 | P1-DIMMA2 Temp | Absent | 0.00 na
0196 | Full | Temperature | b4 | P1-DIMMB1 Temp | OK | 24.00 C
01d9 | Full | Temperature | b5 | P1-DIMMB2 Temp | Absent | 0.00 na
021c | Full | Fan | 41 | FAN1 | OK | 1000.00 RPM
025f | Full | Fan | 42 | FAN2 | OK | 1400.00 RPM
02a2 | Full | Fan | 43 | FAN3 | OK | 600.00 RPM
02e5 | Full | Fan | 44 | FAN4 | OK | 1000.00 RPM
0328 | Full | Fan | 45 | FANA | OK | 1000.00 RPM
036b | Full | Voltage | 20 | Vcpu | Absent | 0.00 na
03ae | Full | Voltage | 24 | VDIMM | Absent | 0.00 na
03f1 | Full | Voltage | 30 | 12V | Absent | 0.00 na
0434 | Full | Voltage | 31 | 5VCC | Absent | 0.00 na
0477 | Full | Voltage | 32 | 3.3VCC | Absent | 0.00 na
04ba | Full | Voltage | 33 | VBAT | Absent | 0.00 na
04fd | Full | Voltage | 37 | 5V Dual | Absent | 0.00 na
0540 | Full | Voltage | 38 | 3.3V AUX | Absent | 0.00 na
0583 | Full | Voltage | 39 | 1.2V BMC | Absent | 0.00 na
05c6 | Full | Voltage | 3a | 1.05V PCH | Absent | 0.00 na
0609 | Full | Platform Securi | aa | Chassis Intru | OK | 0.00 na
ipmiutil sensor, completed successfully


Anyone with similar issues after upgrading IPMI firmware to 1.35?!
P.S. gonna write a real nasty email to SM support with screenshots, I just feel like I did hack on my own and not off the official site of theirs... xD


The answer to that question is in the Supermicro X10 FAQ sticky.
 

DJABE

Contributor
Joined
Jan 28, 2014
Messages
154
Hello,
None of the answers listed on that topic helps me... power cycling the server and clearing CMOS helped in a some way, I can read parameters on IPMI web home page like MAC and IP addresses, BIOS version and date.
But still can't read PCH, CPU temps and voltages!
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
Hello,
None of the answers listed on that topic helps me... power cycling the server and clearing CMOS helped in a some way, I can read parameters on IPMI web home page like MAC and IP addresses, BIOS version and date.
But still can't read PCH, CPU temps and voltages!

In that case, you have to reflash the Management Engine firmware. Read your motherboard's documentation or ask Supermicro for details.
 

DJABE

Contributor
Joined
Jan 28, 2014
Messages
154
Thanks Ericloewe. You say I should flash the same firwmare version?
Perhaps I should do the same with the BIOS :D
Or just RMA the whole thing.. xD
Thanks.
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
Thanks Ericloewe. You say I should flash the same firwmare version?
Perhaps I should do the same with the BIOS :D
Or just RMA the whole thing.. xD
Thanks.

The ME is flashed when you flahs the BIOS and certain jumpers are set.
 

DJABE

Contributor
Joined
Jan 28, 2014
Messages
154
I see. Gonna give it a try. Which version of BIOS then you need to flash, the only one provided on SM official page? With one major difference being this time it will re-flash entire BMC / IPMI firmware alongside BIOS itself...
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
I see. Gonna give it a try. Which version of BIOS then you need to flash, the only one provided on SM official page? With one major difference being this time it will re-flash entire BMC / IPMI firmware alongside BIOS itself...

Yes, the latest BIOS.
 

DJABE

Contributor
Joined
Jan 28, 2014
Messages
154
From X10 FAQ topic... quote:
"If all else fails, reflashing the Management Engine firmware should do the trick."
^^ JUST DID IT! AND IT WORKED ALL WELL! :)
Now everything is just as before stupid BIOS/FW upgrade! Excellent! :cool:
I can see all the voltages on IPMI web page, and at last PCH/CPU temps (again)! :)
Most important - BIOS is able to recognize my CPU properly this time, so I'm up and running on both cores and proper frequency, at last!
Kudos goes to Ericloewe for X10 FAQ sticky topic!;)

P.S. I'm still confused what went wrong at first place while flashing BIOS/IPMI. o_O
I have never ever experienced such weired issues with (in)stability etc. on any other hardware... either you did it right with flashing, or you blew it all away and then have your EEPROM reprogrammed elsewhere, but this was so confusing (and frustrating)!

Thank you Ericloewe, you saved the day!
Cheers
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
From X10 FAQ topic... quote:
"If all else fails, reflashing the Management Engine firmware should do the trick."
^^ JUST DID IT! AND IT WORKED ALL WELL! :)
Now everything is just as before stupid BIOS/FW upgrade! Excellent! :cool:
I can see all the voltages on IPMI web page, and at last PCH/CPU temps (again)! :)
Most important - BIOS is able to recognize my CPU properly this time, so I'm up and running on both cores and proper frequency, at last!
Kudos goes to Ericloewe for X10 FAQ sticky topic!;)

P.S. I'm still confused what went wrong at first place while flashing BIOS/IPMI. o_O
I have never ever experienced such weired issues with (in)stability etc. on any other hardware... either you did it right with flashing, or you blew it all away and then have your EEPROM reprogrammed elsewhere, but this was so confusing (and frustrating)!

Thank you Ericloewe, you saved the day!
Cheers

Something similar happened to me. Never investigated it further as the problem was easily solved, once I'd gotten the instructions from Supermicro.
 

DJABE

Contributor
Joined
Jan 28, 2014
Messages
154
Thanks to your instructions other users will be able to sort things out on their own....
I think SM should publish such how-to on their official page, section BIOS...
Thanks once again :)
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
Thanks to your instructions other users will be able to sort things out on their own....
I think SM should publish such how-to on their official page, section BIOS...
Thanks once again :)

Yeah, I guess the FAQ could be titled "You'll never believe what Supermicro's engineers are not telling you!", for extra click-bait.
 

Jim_Lafleur

Dabbler
Joined
Jun 14, 2015
Messages
20
Now, calculate the lowest and highest angular velocities your fan is rated to run at (check the manufacturer's specs). For instance, my Noctua NF-F12 IndustrialPPC 3000 PWM are rated at 750RPM +-20% at the low end, so 600RPM or less is an appropriate lower threshold value.

I'm sorry Eric but the procedure is not clear to me. I would need more precisions if you'd like. You show how to calculate the lower threshold, but you don't show how to calculate the upper thereshold. Would you please give us an example of what to use for the upper threshold please?
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
I'm sorry Eric but the procedure is not clear to me. I would need more precisions if you'd like. You show how to calculate the lower threshold, but you don't show how to calculate the upper thereshold. Would you please give us an example of what to use for the upper threshold please?

Exact same process. For instance, for 3 000 RPM, consider 1.2x 3 000 = 3 600 RPM.
 

Jim_Lafleur

Dabbler
Joined
Jun 14, 2015
Messages
20
OK thank!

So you say all this command is doing is telling the board "Don't be alarmed if the fan is going as low as 600RPM" right? Do you happen to know what's the difference of using -l and -h compared to using -u?

From the manual: http://ipmiutil.sourceforge.net/ :
Code:
-u       Set unique threshold values. The values are specified in a
string of threshold values. It can be in raw hex characters or
in float values. All 6 possible thresholds must be specified,
but only the ones that are valid for this sensor will be
applied. These values are validated for ordering. For example:
-u 6:5:4:60:65:69 (float) or
-u 0x0605043c4145 (raw hex)
would mean 0x06=noncrit_lo, 0x05=crit_lo, 0x04=nonrec_lo,
0x3c=noncrit_hi, 0x41=crit_hi, 0x45=nonrec_hi.


I see there's also a -p switch. The manual say :
Code:
-p     Persist the threshold being set (as specified  via  -l  or  -h).
          This   writes   a      "sensor   -i"      script   line     to  the  file
          /usr/share/ipmiutil/thresholds.sh, which can then be executed at
          each  reboot  by    starting the /etc/init.d/ipmi_port service for
          the desired runlevels.  For Windows,  the     filename  is  thresh-
          olds.cmd.


Does it mean that if we don't use the -p, that the next time the machine boots it will have forgotten the thresholds we have set?
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
So you say all this command is doing is telling the board "Don't be alarmed if the fan is going as low as 600RPM" right?
Right.

With -u, I think you have to specify all the thresholds, whereas -h and -l only need the first one on each side.

Does it mean that if we don't use the -p, that the next time the machine boots it will have forgotten the thresholds we have set?
I've rebooted the BMC and did not need to redo any of this. I think -p is only for older BMCs which don't store this information, for some reason. The AST2400 in X10 boards seems to store it normally.
 
Top