Supermicro fan control, IPMIUTIL or FEEIPMI?

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
Yeah, I've seen that youtube video. The Onion is awesome!
 

yc3948

Cadet
Joined
Sep 14, 2014
Messages
6
Hi I want to set my NOCTUA REDUX NF-R8 REDUX-1800 PWM 80X80X25MM, 4-PIN PWM, 1800RPM MAX. FAN speed run 800 or between 300 to 1200, could you please advice how can I set lower threshold and upper threshold, many thanks

And here it is:

My server's fans keep spinning up and down
Fan thresholds are set to unrealistic values, how do I change them?
Setting IPMI sensor thresholds


Supermicro X10 motherboards have their fans monitored by the BMC, which automatically attempts to recover stalling (of the motor, not in the aerodynamic sense) fans by spinning them up to maximum (PWM set to 100% speed). This behavior is determined by the sensor thresholds.

Supermicro X10 motherboard fan profiles are controlled via IPMI. Unfortunately, only very basic functions are exposed via its web interface and Supermicro's own IPMI utility is superbly well hidden on Supermicro's website and uses Java. The pragmatists among us would complain about Java, use the application, and move on - for some reason (*cough* Java *cough*) Supermicro application and its nice GUI do not always work properly. For this reason, third-party universal IPMI tools are needed.

I will be using IPMIUTIL.
While I will provide the necessary steps and explain some options, I recommend you read through the appropriate man page sections (included in README.txt) to learn about the various options.

Download the appropriate version for your client computer's OS and browse to the appropriate folder using the command line. The following examples are from Windows 7 x64, but the application should display identical behavior on all OSes.

My IPMIUTIL folder is C:\Users\Eric\Desktop\IPMIUTIL

Run the following command to get a list of all sensors (Append "-g fan" if you only want to see fans. Similar strings can be used for other sensor types.):

Code:
C:\Users\Eric\Desktop\ipmiutil>   ipmiutil sensor -N *IP address* -U *Username* -P *Password* -c


The -c option presents the results in a much friendlier format than the default format.
Replace *IP address*, *Username* and *Password* with the appropriate values for your server's IPMI.

You'll get a list like this:

Code:
ipmiutil ver 2.93
isensor: version 2.93
Opening lan connection to node 192.168.1.15 ...
Connecting to node  192.168.1.15
-- BMC version 1.42, IPMI version 2.0
ID  | SDRType | Type            |SNum| Name             |Status| Reading
0004 | Full    | Temperature     | 01 | CPU Temp         | OK   | 37.00 C
0047 | Full    | Temperature     | 0b | System Temp      | OK   | 31.00 C
008a | Full    | Temperature     | 0c | Peripheral Temp  | OK   | 41.00 C
00cd | Full    | Temperature     | 0a | PCH Temp         | OK   | 48.00 C
0110 | Full    | Temperature     | 48 | VRM Temp         | OK   | 40.00 C
0153 | Full    | Temperature     | b0 | DIMMA1 Temp      | Absent | 0.00 na
0196 | Full    | Temperature     | b1 | DIMMA2 Temp      | OK   | 32.00 C
01d9 | Full    | Temperature     | b4 | DIMMB1 Temp      | Absent | 0.00 na
021c | Full    | Temperature     | b5 | DIMMB2 Temp      | OK   | 33.00 C
025f | Full    | Fan             | 41 | FAN1             | Absent | 0.00 na
02a2 | Full    | Fan             | 42 | FAN2             | Absent | 0.00 na
02e5 | Full    | Fan             | 43 | FAN3             | OK   | 1000.00 RPM
0328 | Full    | Fan             | 44 | FAN4             | OK   | 1000.00 RPM
036b | Full    | Fan             | 45 | FANA             | OK   | 1100.00 RPM
03ae | Full    | Voltage         | 20 | Vcpu             | OK   | 1.76 V
03f1 | Full    | Voltage         | 24 | VDIMM            | OK   | 1.45 V
0434 | Full    | Voltage         | 30 | 12V              | OK   | 12.00 V
0477 | Full    | Voltage         | 31 | 5VCC             | OK   | 4.97 V
04ba | Full    | Voltage         | 32 | 3.3VCC           | OK   | 3.34 V
04fd | Full    | Voltage         | 33 | VBAT             | OK   | 3.00 V
0540 | Full    | Voltage         | 35 | AVCC             | OK   | 3.33 V
0583 | Full    | Voltage         | 36 | VSB              | OK   | 3.28 V
05c6 | Full    | Platform Securi | aa | Chassis Intru    | OK   | 0.00 na
ipmiutil sensor, completed successfully

Take note of the SNums for the fans you want to edit (if you don't know which fans you want to edit, I recommend you check the IPMI log in the web interface to see which fans have sensor events being asserted).

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.

Take note of your results and input them in the following commmand:

Code:
C:\Users\Eric\Desktop\ipmiutil>     ipmiutil sensor -N *IP address* -U *Username* -P *Password* -n *snum* -l *lower threshold* -h *upper threshold*


-n selects the appropriate sensor, using its Snum
-l sets the lower thresholds - the input is the highest value, the other, lower thresholds are one notch lower each
-h sets the higher thresholds - the input is the lowest value, the other, higher thresholds are one notch higher each

Repeat this command for all fans who thresholds you wish to change.

Please note that specifying only -l without -h or vice versa will write 0 to the non-specified threshold! This will lead to unwanted behavior.
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,176
You can't directly set a fan range - that would be done by manipulating the exact PWM values for the fan profiles. This is not possible on X10 Supermicros. The fan profiles do seem to act intelligently, so just set your thresholds as I explained.

More information can be found in the Supermicro X10 FAQ sticky.
 

yc3948

Cadet
Joined
Sep 14, 2014
Messages
6
how to set fan speed range?
You can't directly set a fan range - that would be done by manipulating the exact PWM values for the fan profiles. This is not possible on X10 Supermicros. The fan profiles do seem to act intelligently, so just set your thresholds as I explained.

More information can be found in the Supermicro X10 FAQ sticky.
 

yc3948

Cadet
Joined
Sep 14, 2014
Messages
6
did you set lower threshold 600 and upper threshold 3000?
Hi I want to set my NOCTUA REDUX NF-R8 REDUX-1800 PWM 80X80X25MM, 4-PIN PWM, 1800RPM MAX. FAN speed run 800 or between 300 to 1200, could you please advice how can I set lower threshold and upper threshold, many thanks
 

yc3948

Cadet
Joined
Sep 14, 2014
Messages
6
You can't directly set a fan range - that would be done by manipulating the exact PWM values for the fan profiles. This is not possible on X10 Supermicros. The fan profiles do seem to act intelligently, so just set your thresholds as I explained.

More information can be found in the Supermicro X10 FAQ sticky.
did you set lower threshold 600 and upper threshold 3000?
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,176
did you set lower threshold 600 and upper threshold 3000?

Yes, but it doesn't affect the fan's speed - only if it gets "recovered" because it's stalling.
 

vikingboy

Explorer
Joined
Aug 3, 2014
Messages
71
wow...just when you thought something as simple as a simple fan couldn't take more than 2 minutes to plug in!
I have a set of three Supermicro CSE-M35T 5-in-3 cages, each has a contender for world noisiest fan so I thought id swap them out for a set of Arctic F9 PWM PST CO 92mm fans. I stupidly assumed Supermicros PWM control would allow me to set a variable fan limit but of course it doesn't work like that, you get three settings 100%, 50% and 30%....however my fan speeds are 1800/450/300. Once I configured the thresholds to stop the boosting I discovered the cooling in inadequate so I guess I need some different fans. Question is, what 92mm fans when set to 50% spin at circa 700/800rpm?
What happened to things like the zalman pwm mate which offered variable fan setting, does nothing like that exist anymore?

thx in advance for any advice
 

vikingboy

Explorer
Joined
Aug 3, 2014
Messages
71
I don't understand Supermicro and/or PWM fans....can anyone identify what am I missing please?

I have Arctic F12 and Noctua NF-F12 120mm fans.
When I connect either of them to any fan header and set the relevant fan mode setting I get the following results....it appears that 50% and 30% settings are both just dropping to minimum

Code:
                      
               FULL     STD    OPT
Arctic F9      1350     750    750
Noctua NF-F12  1500     300    300



Im also seeing the same results with 92mm fans as well so assume this is operator error where theres a setting somewhere Ive not set correctly?

Should STD be approximately half of FULL????

I have set the min and max limits to 150 / 3000 with IMPIUTIL etc so its not the failsafe boost kicking in.
 
Last edited:

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,176
I assume the fan control logic is based on the various temperatures reported, mostly CPU temp.

I recommend you ask supermicro for details on their fan modes.
 

vikingboy

Explorer
Joined
Aug 3, 2014
Messages
71
I think I understand......
Given my cpu Tcase is 70degrees....
When my cpu thresholds were low=0 and high=100 the fans sat at 300rpm when set to optimal or standard.

Set my cpu limits to lo=0 and high = 65 the fans spin away at 800rpm keeping a fully loaded e6-1620 at 50degC....and silent.

So basically correcting the cpu thresholds is key, right?
 
Last edited:

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,176
I think I understand......
Given my cpu Tcase is 70degrees....
When my cpu thresholds were low=0 and high=100 the fans sat at 300rpm when set to optimal or standard.

Set my cpu limits to lo=0 and high = 65 the fans spin away at 800rpm keeping a fully loaded e6-1620 at 50degC....and silent.

So basically correcting the cpu thresholds is key, right?

No, you don't want to mess with the CPU thresholds too much. Maybe lowering the upper one will help get your fans to spin up a bit, but it's far from certain.
 

vikingboy

Explorer
Joined
Aug 3, 2014
Messages
71
Yeah, this seems like a step too far in terms of a user install process. Thing is, unless I set the fan mode to Full speed the cpu themp hits 70 degC and bounces off the limiter reducing perf to address temps when it seems obvious it should spin up the fan from 300rpm. How much do you safely think this can be reduced by? a 100degrees limit in light of a 70 degrees Tcase seems excessive. I'll experiment a bit.
I'm more concerned right now with the HBA and x520 cards which nearly took the skin of my wrist they are so hot. I guess I need a PCI overhead cooler or something which I can run off FAN-As header.
Do you know if any of the standard supermicro sensors read the PCI card temps?
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
If your CPU, HBA and x520 cards are that hot you have a serious airflow problem on that system. I cringe to ask what your hard drive temps are... lol.
 

vikingboy

Explorer
Joined
Aug 3, 2014
Messages
71
If your CPU, HBA and x520 cards are that hot you have a serious airflow problem on that system. I cringe to ask what your hard drive temps are... lol.

30 idle, smart alerts at 37 per your smart guide. They're fine. The cards sit back in the case away from the drive bays so don't get a lot of air movement over them due to trying to keep fan noise down. They are too hot to hold a finger against the Heat sink hence wanting to address. Rather than blast the hell out of the intake fans I'd rather stimulate a little air closer to the cards.
Adjusting the fan thresholds buggers up noctua fan rpms and I agree, 70deg is way too high. Reducing the CPU thresholds brings it back to a 45deg max but I'm not certain on implications of fiddling here so reading up on it currently. It does seem silly setting a non critical limit at 90 when the cpu throttles at 70 as it will technically never reach that high even if the fan failed it seems.

Anyway...more to learn. If I blow it up, I'll certainly let you guys know so you can learn from my stupid mistakes :)
 

pschatz100

Guru
Joined
Mar 30, 2014
Messages
1,184
This is an interesting thread. Thank you.

Silly question: what fan header do you have your CPU fan plugged into? Maybe my situation isn't comparable because I have an x9scm board, but when I first built my system I put the CPU on Fan A and one case fan on Fan3. The case fan ran at 525rpm and triggered the "low non-critical" warning because that threshold is set to 600. Recently, I read on the Supermicro site that Fan A is for an add-on card and that CPU and case fans should be on Fans 1-4. I put the CPU fan on Fan 2. Now, my case fan runs at 600rpm, which is exactly the low non-critical value - and I don't get any warnings. Either it is a coincidence, or else the Fan controls are working better with the fans on Fan 2 and 3.

I have the Fans set to "standard" performance.
 

Z300M

Guru
Joined
Sep 9, 2011
Messages
882
This is an interesting thread. Thank you.

Silly question: what fan header do you have your CPU fan plugged into? Maybe my situation isn't comparable because I have an x9scm board, but when I first built my system I put the CPU on Fan A and one case fan on Fan3. The case fan ran at 525rpm and triggered the "low non-critical" warning because that threshold is set to 600. Recently, I read on the Supermicro site that Fan A is for an add-on card and that CPU and case fans should be on Fans 1-4. I put the CPU fan on Fan 2. Now, my case fan runs at 600rpm, which is exactly the low non-critical value - and I don't get any warnings. Either it is a coincidence, or else the Fan controls are working better with the fans on Fan 2 and 3.

I have the Fans set to "standard" performance.
I'm almost certain that Supermicro Tech Support told me that FANA is for the CPU. That's where I have it, anyway.
 

vikingboy

Explorer
Joined
Aug 3, 2014
Messages
71
So what super micro told me in my support request is that FANA is controlled separately to the numbered headers. The only difference between Standard and Optimal is that with normal all fans are treated equal. The system checks all temperature sensors and the fans are adjusted for the highest temperature. With Optimal you divide the motherboard in 2 cooling zones, the peripheral side with the lettered fan headers and the memory/CPU side with the numbered fan headers. In Optimal mode the 2 zones are monitored individually and the fans are controlled accordingly.

The optimal setting mostly makes sense in 1U or 2U chassis with hardware RAID controllers or high speed networking cards (like 10Gbe or Infiniband).
In a large data center with many servers the optimal setting can save power as usually fans on the peripheral side will spin slower.

Ive read a lot of stuff on the internet the last week or so that contradicts the above.
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,176
Fan A is meant for the CPU fan.
 
Top