Resource icon

How To: Change IPMI Sensor Thresholds using ipmiutil

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
It's always the least critical, so non-critical.
 

Jim_Lafleur

Dabbler
Joined
Jun 14, 2015
Messages
20
In my case, with the Noctua NF-F12 IndustrialPPC 3000 PWM, I had to set the lower threshold to 400RPM. At 500RPM the fan speed was going up and down all the time. Works good now.

Update: Oops! Had forgotten to update the Bios after updating IPMI firmware. Afer I've updated the bios I could set the lower threshold to 600RPM and the fan runs normally now.
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
In my case, with the Noctua NF-F12 IndustrialPPC 3000 PWM, I had to set the lower threshold to 400RPM. At 500RPM the fan speed was going up and down all the time. Works good now.
Mine always hover around 900 RPM. Your post does alert me to the fact that I never did check mine at minimum PWM. :p

That said, 500 RPM sounds rather low, given the fans' specs. Interesting data point...
 

Jim_Lafleur

Dabbler
Joined
Jun 14, 2015
Messages
20
Mine always hover around 900 RPM. Your post does alert me to the fact that I never did check mine at minimum PWM. :p

That said, 500 RPM sounds rather low, given the fans' specs. Interesting data point...

My fan is running at 600RPM when the server is doing nothing. But when setting the lower threshold to 600 or 500RPM the fan speed was going up and down all the time. At 400 it works fine.
 

Jim_Lafleur

Dabbler
Joined
Jun 14, 2015
Messages
20
Oops! Had forgotten to update the Bios after updating IPMI firmware. Afer I've updated the bios I could set the lower threshold to 600RPM and the fan runs normally now.
 

Z300M

Guru
Joined
Sep 9, 2011
Messages
882
Oops! Had forgotten to update the Bios after updating IPMI firmware. Afer I've updated the bios I could set the lower threshold to 600RPM and the fan runs normally now.
What versions of IPMI an BIOS are you on now?
 

Thinkcat

Dabbler
Joined
Aug 3, 2015
Messages
47
I am trying to connect using ipmiutil, but no matter what I do, I get GetSessChallenge: Invalid user name.

Is it speficied like this: ipmiutil sensor -N 192.168.1.15 -U ADMIN -P password

or do I need to put quotes somewhere? Usernames and passwords that work on ipmiview do not work with ipmiutil. What can I do?
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
I'd try quotes and pay attention to case-sensitivity.
 

SomeRandomBS

Dabbler
Joined
Sep 1, 2016
Messages
12
Can someone possibly help me with this? I am trying to force my fans to a % but I am not having any luck. My chassis has 5x 8400RPM fans and for some reason they seem to want to run at 3400RPM when I set my X10SRL-F to Optimal Mode. I would like to force them to max out around 2000-2500RPM.

Can someone please help with the values?


FAN1 Normal 3000 R.P.M 300 500 25400 25500
FAN2 Normal 3100 R.P.M 300 500 25400 25500
FAN3 Normal 3000 R.P.M 300 500 25400 25500
FAN4 Normal 3000 R.P.M 300 500 25400 25500
FAN5 Normal 2000 R.P.M 300 500 25400 25500
FANA Normal 1000 R.P.M 300 500 25400 25500

03f1 SDR Full 01 01 20 a 04 snum 41 FAN1 = 1c OK 2800.00 RPM
hi-unrec 25500.00 hi-crit 25400.00 hi-noncr 25300.00 lo-noncr 700.00 lo-crit 500.00 lo-unrec 300.00
0434 SDR Full 01 01 20 a 04 snum 42 FAN2 = 1c OK 2800.00 RPM
hi-unrec 25500.00 hi-crit 25400.00 hi-noncr 25300.00 lo-noncr 700.00 lo-crit 500.00 lo-unrec 300.00
0477 SDR Full 01 01 20 a 04 snum 43 FAN3 = 1c OK 2800.00 RPM
hi-unrec 25500.00 hi-crit 25400.00 hi-noncr 25300.00 lo-noncr 700.00 lo-crit 500.00 lo-unrec 300.00
04ba SDR Full 01 01 20 a 04 snum 44 FAN4 = 1c OK 2800.00 RPM
hi-unrec 25500.00 hi-crit 25400.00 hi-noncr 25300.00 lo-noncr 700.00 lo-crit 500.00 lo-unrec 300.00
04fd SDR Full 01 01 20 a 04 snum 45 FAN5 = 14 OK 2000.00 RPM
hi-unrec 25500.00 hi-crit 25400.00 hi-noncr 25300.00 lo-noncr 700.00 lo-crit 500.00 lo-unrec 300.00
0540 SDR Full 01 01 20 a 04 snum 47 FANA = 0a OK 1000.00 RPM
hi-unrec 25500.00 hi-crit 25400.00 hi-noncr 25300.00 lo-noncr 700.00 lo-crit 500.00 lo-unrec 300.00
 

Stux

MVP
Joined
Jun 2, 2016
Messages
4,419
With my noctua 120mm fans I had to set the two lowest thresholds to 0.

0 0 200 IIRC.

They spin down to 300rpm.
 

SomeRandomBS

Dabbler
Joined
Sep 1, 2016
Messages
12
With my noctua 120mm fans I had to set the two lowest thresholds to 0.

0 0 200 IIRC.

They spin down to 300rpm.

Perhaps I am missing something. Can you help me with the code?

ipmiutil sensor -N IP -U USER -P PASS -n 41 -l 0 -h 2400.00 <- Is this correct?
 

Stux

MVP
Joined
Jun 2, 2016
Messages
4,419
These are the fan threshold commands I used for my fans. Assuming you have the same fans, on the same headers, which is probably unlikely, you just enter these commands into a root shell/prompt on freenas.

NF-F12 PWM Specs
1500RPM +-10%
Min 300RPM +-20%

Originally I tried ipmitool sensor thresh "FANA" lower 100 200 300, but ended up getting false critical assertions in Optimal mode. So tried ipmitool sensor thresh "FANA" lower 000 000 300. This worked okay, but 300 caused it to sense low speed (ie 300) as "non critical" event when it'd be better if it was "ok", thus I use 200 now.

ipmitool sensor thresh "FANA" lower 000 000 200
ipmitool sensor thresh "FANA" upper 1600 1700 1800

NF-B9 PWM Specs
1600RPM +-10%
Min 300RPM +-20%

I found it was possible for the fans to go to 1800/1900. When this happens, the IPMI spins all the fans up and makes
a log. I noticed that I solve this in the FAN A by setting the upper critical to ABOVE the real. So the solution is to use 2000 as the upper non-critical.


ipmitool sensor thresh "FAN1" lower 100 200 300
ipmitool sensor thresh "FAN2" lower 100 200 300
ipmitool sensor thresh "FAN1" upper 2000 2200 2400
ipmitool sensor thresh "FAN2" upper 2000 2200 2400



NF-A8 PWM Specs
2200RPM +10
Min 450RPM+-20

ipmitool sensor thresh "FAN3" lower 200 300 400
ipmitool sensor thresh "FAN3" upper 2400 2500 2600
ipmitool sensor thresh "FAN4" lower 200 300 400
ipmitool sensor thresh "FAN4" upper 2400 2500 2600
 

SomeRandomBS

Dabbler
Joined
Sep 1, 2016
Messages
12
These are the fan threshold commands I used for my fans. Assuming you have the same fans, on the same headers, which is probably unlikely, you just enter these commands into a root shell/prompt on freenas.

NF-F12 PWM Specs
1500RPM +-10%
Min 300RPM +-20%

Originally I tried ipmitool sensor thresh "FANA" lower 100 200 300, but ended up getting false critical assertions in Optimal mode. So tried ipmitool sensor thresh "FANA" lower 000 000 300. This worked okay, but 300 caused it to sense low speed (ie 300) as "non critical" event when it'd be better if it was "ok", thus I use 200 now.

ipmitool sensor thresh "FANA" lower 000 000 200
ipmitool sensor thresh "FANA" upper 1600 1700 1800

NF-B9 PWM Specs
1600RPM +-10%
Min 300RPM +-20%

I found it was possible for the fans to go to 1800/1900. When this happens, the IPMI spins all the fans up and makes
a log. I noticed that I solve this in the FAN A by setting the upper critical to ABOVE the real. So the solution is to use 2000 as the upper non-critical.


ipmitool sensor thresh "FAN1" lower 100 200 300
ipmitool sensor thresh "FAN2" lower 100 200 300
ipmitool sensor thresh "FAN1" upper 2000 2200 2400
ipmitool sensor thresh "FAN2" upper 2000 2200 2400



NF-A8 PWM Specs
2200RPM +10
Min 450RPM+-20

ipmitool sensor thresh "FAN3" lower 200 300 400
ipmitool sensor thresh "FAN3" upper 2400 2500 2600
ipmitool sensor thresh "FAN4" lower 200 300 400
ipmitool sensor thresh "FAN4" upper 2400 2500 2600

Thank you for your help. I am using ipmiutil which is slightly different. I guess what I am trying to do is set the -h tval however I am not sure of the format.

-h tval should allow me to set a max RPM, correct?


-h tval
Highest threshold value to set for the specified sensor. This
tval can be in decimal, or of the form 0x1a, to match the raw
reading value shown by sensor following the " = ". The value
passed is set as the non-critical threshold value, with the more
critical ones set by the utility as incrementally lower. This
simplifies the interface and ensures that the threshold values
do not get out of order. This requires specifying the sensor
number via -n.

If I run ipmiutil sensor -N IP -U USER -P PASS -n 41 -h 2800.00 -l 1000.00 - From my understanding this should set the max to 2800RPM? However when I do this once the fan exceeds 2800RPM it will unrecoverable fault and immediately go to full speed 8400RPM.

I want to force the fans to either max out at a specific RPM OR always run at a specific RPM. Is it possible to edit the Full Speed profile?
 

AJC

Cadet
Joined
Dec 29, 2016
Messages
7
Thank you for your help. I am using ipmiutil which is slightly different. I guess what I am trying to do is set the -h tval however I am not sure of the format.

-h tval should allow me to set a max RPM, correct?


-h tval
Highest threshold value to set for the specified sensor. This
tval can be in decimal, or of the form 0x1a, to match the raw
reading value shown by sensor following the " = ". The value
passed is set as the non-critical threshold value, with the more
critical ones set by the utility as incrementally lower. This
simplifies the interface and ensures that the threshold values
do not get out of order. This requires specifying the sensor
number via -n.

If I run ipmiutil sensor -N IP -U USER -P PASS -n 41 -h 2800.00 -l 1000.00 - From my understanding this should set the max to 2800RPM? However when I do this once the fan exceeds 2800RPM it will unrecoverable fault and immediately go to full speed 8400RPM.

I want to force the fans to either max out at a specific RPM OR always run at a specific RPM. Is it possible to edit the Full Speed profile?
I too am interested in taming down the full speed profile - did you ever get this answered?
 

Stux

MVP
Joined
Jun 2, 2016
Messages
4,419
Setting the thresholds does not affect fan speeds, it merely affects what fans speeds trigger what events
 

ZeroBit

Dabbler
Joined
Nov 6, 2016
Messages
28
I seemed to have run into the PWM Fans Revving problem described by others here on the their SuperMicro X9 and X10 motherboards, with one difference being that I'm using a SuperMicro X11SSM-F motherboard. Also, I'm using an Intel E3-1245 V5 boxed processor, with the packaged heatsink and PWM fan (can't seem to find specs on that fan). I picked up a trio of Noctua fans (NF-F12 PWM, NF-P12 PWM and NF-A14 PWM), in the hopes of quieting my system a bit further than what the three Fractal Design Silent Series R2 non-PWM fans were producing. I've tried using:
  • IPMI Web/GUI interface (changing between Optimal and Standard)
  • ipmitool in Part 1 of @Ericloewe 's post on how to change sensor thresholds
  • ipmiutil mentioned in this thread (Part 2)
Both the ipmitool and ipmiutil utilities did change the threshold settings, according to the sensor listings, and I honestly can't tell if the IPMI Web/GUI interface made any difference (from what I read, it's just changing the default power setting between 30% and 50%). Before changing any settings, when I turned on the system, the fans each went to a high RPM, but once I power-cycled the system (unplugging the system to get IPMI to reboot/reset) it started revving instead. :(

Currently, my fans are configured thus:
Code:
ipmiutil ver 3.01
isensor: version 3.01
Connecting to node  192.168.0.211
-- BMC version 1.13, IPMI version 2.0
ID  | SDRType | Type			|SNum| Name			 |Status| Reading
025f | Full	| Fan			 | 41 | FAN1			 | OK   | 1900.00 RPM
		| Entity ID 29.1 (Fan), Capab: arm=auto thr=write evts=state
		| Volatile | hi-unrec 25500.00 | hi-crit 25400.00 | hi-noncr 25300.00 | lo-noncr 700.00 | lo-crit 500.00 | lo-unrec 300.00
		| SdrThres | hi-unrec 25500.00 | hi-crit 25400.00 | hi-noncr 25300.00 | lo-noncr 700.00 | lo-crit 500.00 | lo-unrec 300.00
		| nom 12800.00 | nmax 17000.00 | nmin 2000.00 | smax 25500.00 | smin 0.00
02a2 | Full	| Fan			 | 42 | FAN2			 | OK   | 1400.00 RPM
		| Entity ID 29.2 (Fan), Capab: arm=auto thr=write evts=state
		| Volatile | hi-unrec 1900.00 | hi-crit 1800.00 | hi-noncr 1700.00 | lo-noncr 200.00 | lo-crit 100.00 | lo-unrec 0.00
		| SdrThres | hi-unrec 1900.00 | hi-crit 1800.00 | hi-noncr 1700.00 | lo-noncr 200.00 | lo-crit 100.00 | lo-unrec 0.00
		| nom 12800.00 | nmax 17000.00 | nmin 2000.00 | smax 25500.00 | smin 0.00
02e5 | Full	| Fan			 | 43 | FAN3			 | Absent | 0.00 na
		| Entity ID 29.3 (Fan), Capab: arm=auto thr=write evts=state
		| SdrThres | hi-unrec 25500.00 | hi-crit 25400.00 | hi-noncr 25300.00 | lo-noncr 700.00 | lo-crit 500.00 | lo-unrec 300.00
		| nom 12800.00 | nmax 17000.00 | nmin 2000.00 | smax 25500.00 | smin 0.00
0328 | Full	| Fan			 | 44 | FAN4			 | OK   | 1200.00 RPM
		| Entity ID 29.4 (Fan), Capab: arm=auto thr=write evts=state
		| Volatile | hi-unrec 1600.00 | hi-crit 1500.00 | hi-noncr 1400.00 | lo-noncr 200.00 | lo-crit 100.00 | lo-unrec 0.00
		| SdrThres | hi-unrec 1600.00 | hi-crit 1500.00 | hi-noncr 1400.00 | lo-noncr 200.00 | lo-crit 100.00 | lo-unrec 0.00
		| nom 12800.00 | nmax 17000.00 | nmin 2000.00 | smax 25500.00 | smin 0.00
036b | Full	| Fan			 | 45 | FANA			 | OK   | 1400.00 RPM
		| Entity ID 29.5 (Fan), Capab: arm=auto thr=write evts=state
		| Volatile | hi-unrec 1900.00 | hi-crit 1800.00 | hi-noncr 1700.00 | lo-noncr 200.00 | lo-crit 100.00 | lo-unrec 0.00
		| SdrThres | hi-unrec 1900.00 | hi-crit 1800.00 | hi-noncr 1700.00 | lo-noncr 200.00 | lo-crit 100.00 | lo-unrec 0.00
		| nom 12800.00 | nmax 17000.00 | nmin 2000.00 | smax 25500.00 | smin 0.00


FAN1 is the Processor/Heat Sink fan, FAN2 is the NF-F12 PWM, FAN3 is empty, FAN4 is the NF-P12 PWM, and FANA is the NF-A14 PWM.

Taking the Noctua RPM specs for each fan, and what @Ericloewe posted, I believe my settings with ipmiutil should be as follows:
  1. Noctua NF-F12 PWM (FAN2)
    Code:
    ipmiutil sensor -N 192.168.0.211 -U user -P pass -n 42 -l 240 -h 1650
  • Noctua NF-P12 PWM (FAN4)
    Code:
    ipmiutil sensor -N 192.168.0.211 -U user -P pass -n 44 -l 240 -h 1430
  • Noctua NF-A14 PWM (FANA)
    Code:
    ipmiutil sensor -N 192.168.0.211 -U user -P pass -n 45 -l 240 -h 1650
IPMI seems to round to the nearest 100, which is why the lower thresholds went to 200, 100 and 0. Alternatively, I tried using ipmitool:
  1. Noctua NF-F12 PWM (FAN2)
    Code:
    ipmitool sensor thresh "FAN2" lower 200 100 0
  2. Noctua NF-F12 PWM (FAN2)
    Code:
    ipmitool sensor thresh "FAN2" upper 1700 1800 1900
  3. Noctua NF-P12 PWM (FAN4)
    Code:
    ipmitool sensor thresh "FAN4" lower 200 100 0
  4. Noctua NF-P12 PWM (FAN4)
    Code:
    ipmitool sensor thresh "FAN4" upper 1400 1500 1600
  5. Noctua NF-A14 PWM (FANA)
    Code:
    ipmitool sensor thresh "FANA" lower 200 100 0
  6. Noctua NF-A14 PWM (FANA)
    Code:
    ipmitool sensor thresh "FANA" upper 1700 1800 1900
I also tried using the -u option with ipmiutil (e.g.
Code:
ipmiutil sensor -N 192.168.0.211 -U user -P pass -n 42 -u 200:100:0:1700:1800:1900
), as well as varying the lower values to get rid of the 0 and try different values (e.g. 300:200:100, 200:100:100). After that I tried playing with the upper values as well, but with no successful results at stopping the revving. In between each attempt I:
  1. powered off the system
  2. flipped the power-switch off on the power-supply
  3. unplugged the power
  4. waited 5 or more seconds
  5. plugged the power back in
  6. flipped the power-switch on on the power-supply
  7. waited for IPMI to startup
  8. booted the system
So the system seems to be taking the threshold values, updating its internal tables, and putting those new values into service when the system is power-cycled. But, checking the Event Log, it seems to keep getting "Lower Critical - Going Low - Assertion", and "Lower Non-Recoverable - Going Low - Assertion" events, before kicking the fans up. From what I can see in the IPMI Web/GUI interface, the sensors are reporting the RPMs on FAN2 and FAN4 varying between 0, 200 and 300 on the low end, when it gets the events.

Anyone have any ideas on how to get this poor system to not rev the fans, and still utilize the PWM feature of the fans?


Also, a note to anyone with an X11SSM-F motherboard, while poking around the IPMI Web/GUI interface, I discovered under Maintenance there is an option called Unit Reset, with the description "Reboot IPMI Device"; this seems to have the same effect on the system as power-cycling, and might be worth further investigation.
 
Top