Register for the iXsystems Community to get an ad-free experience and exclusive discounts in our eBay Store.

How To: change sensor thresholds with IPMI using ipmitool

Status
Not open for further replies.

Ericloewe

Not-very-passive-but-aggressive
Moderator
Joined
Feb 15, 2014
Messages
16,949
I discovered that it is possible to control the IPMI fan speed using raw commands in ipmitool.

On my X10SL7-F board, the following command will check the fan speed:
Code:
ipmitool raw 0x30 0x45 0x00

The result should be 00, 01 or 02.
00 = Normal,
01 = Full and
02 = Optimal.

The fan speed may be changed by:
Code:
ipmitool raw 0x30 0x45 0x01 0x00 #set to Normal
ipmitool raw 0x30 0x45 0x01 0x01 #set to Full
ipmitool raw 0x30 0x45 0x01 0x02 #set to Optimal


I'm pondering writing a script that checks hard drive temperatures, and increase the fan speeds if any of them were 40 deg C or higher, and decrease the fan speeds if all were 38 deg or lower. I'd use cron to run the script every X minutes. I'll add a thread to the Scripts section if I get this working.
Unfortunately, that only provides the very coarse control that you get in the web interface.
 

Kevin Horton

Neophyte Sage
Joined
Dec 2, 2015
Messages
690
If only they would update IPMI to allow ipmitool to specify the RPM for each fan.

I don't see a way to submit feature requests to SuperMicro. I'm pretty new to the server game - does SuperMicro have a history of addressing feature requests from users, or would I be wasting my time to even ask them for this?
 

Dice

Neophyte Sage
Joined
Dec 11, 2015
Messages
1,214
ipmitool bmc reset warm
This saved my bacon!

I can confirm pretty much the same problems as described in this thread thus far regarding fans spinning up, cycling.. ending up at full blast applies to the X11SLL-F too.

I really hope @Kevin Horton gets around to produce a neat little script :)


edit:
May also add that I've not managed to set values that really elevates the lower rpms and maintains them steadily.
edit2:
This was a good read on PWM controls. https://forums.freenas.org/index.ph...-ipmiutil-or-feeipmi.18377/page-5#post-144479
edit3:
BAH!
From what I can gather around - there is no reason to have particularly high hopes for these tweaks. Ie, if your motherboard already enables "low fan noise", what's the benefit of this guide? none to me, yet. I guess I'm lucky that my system does not scream at me.
 
Last edited:

Fritzolio

Member
Joined
Oct 12, 2015
Messages
63
I need to do this on a box running Win Server. Would the simplest way be to load Freenas on a flash drive to do the dirty deed?

Thanks
 

Black Ninja

Neophyte Sage
Joined
Nov 11, 2014
Messages
1,174
Very helpful info.Thanks guys.

From what I understood ipmitool can change the threshold, but can you change the actual fan speed somehow ?
Is that even possible ?

For example: you have the proper fans and thresholds are fine , but you don't want fans too be on full speed cause is too loud , and don't want them to be on "optimal" cause air they push is not enough ?!
 

Kevin Horton

Neophyte Sage
Joined
Dec 2, 2015
Messages
690
Very helpful info.Thanks guys.

From what I understood ipmitool can change the threshold, but can you change the actual fan speed somehow ?
Is that even possible ?

For example: you have the proper fans and thresholds are fine , but you don't want fans too be on full speed cause is too loud , and don't want them to be on "optimal" cause air they push is not enough ?!
On my X10SL7-F board, I can set several different fan speeds using ipmitool raw commands. "Optimal" sets my fans to 400 rpm. "Full" sets them to 1400 rpm. I can also set a specified duty cycle that gives me speeds in between those values. For example, if I specify 50% duty cycle, I get 900 rpm.

I've got a cron job that runs every three minutes and adjusts the case fan speeds based on the temperature of the hottest hard drive. That way my fans sit at 400 rpm most of the time, but go to higher speeds if required to keep the hard drive temperatures from exceeding 40 deg C. More info here.
 

Black Ninja

Neophyte Sage
Joined
Nov 11, 2014
Messages
1,174
Ok but , are these the factory presets you are just calling with raw commands, cause if they are then is no different from setting them from ipmi gui: Full,Standart, optimal.

Can you set standard to be 65% speed instead of 50%, or set full to be 90% instead of 100% or something different that the factory presets ?!
 

Kevin Horton

Neophyte Sage
Joined
Dec 2, 2015
Messages
690
Ok but , are these the factory presets you are just calling with raw commands, cause if they are then is no different from setting them from ipmi gui: Full,Standart, optimal.

Can you set standard to be 65% speed instead of 50%, or set full to be 90% instead of 100% or something different that the factory presets ?!
The command for 50% duty cycle is:
Code:
ipmitool raw 0x30 0x70 0x66 0x01 0x00 0x32
.

Yes, the duty cycle can be specified anywhere between 0 and 100% (I'm not sure how many discrete values can be usefully specified - on my machine I seem to be able to get roughly 8 different fan speeds).

The last value in that command sets the duty cycle, with 64 = 100% and 0 =minimum speed. i.e., "0x32" is 50%. "0x64" is 100% duty cycle. "0x48" is 75% duty cycle.
 

Black Ninja

Neophyte Sage
Joined
Nov 11, 2014
Messages
1,174
Oh this sounds very interesting. I am on X9 but I'll do some testing to see if I can make it work.

By the way does this setting persist on ipmi reboot, or ipmi factory reset ?
 

Marcet

Member
Joined
May 31, 2013
Messages
193
The last value in that command sets the duty cycle, with 64 = 100% and 0 =minimum speed. i.e., "0x32" is 50%. "0x64" is 100% duty cycle. "0x48" is 75% duty cycle.
Thanks a lot for these clarifications, I thought fan speed could not be customized.
 

Kevin Horton

Neophyte Sage
Joined
Dec 2, 2015
Messages
690
Oh this sounds very interesting. I am on X9 but I'll do some testing to see if I can make it work.

By the way does this setting persist on ipmi reboot, or ipmi factory reset ?
Interesting question.

I temporarily disabled my fan speed cron job, manually set the duty cycle to 50%, confirmed the fan speed was as expected, then reset the IPMI. The fan speed went to the Optimum value (which is the option that was selected on the IPMI Fan Mode page).

Results: on the X10SL7-F, with BIOS 3.0, the fan speed is reset when the IPMI resets. It doesn't matter for me, as my cron job sets the fan speed every 3 minutes as required to control HD temperatures.
 

Black Ninja

Neophyte Sage
Joined
Nov 11, 2014
Messages
1,174
So when you reboot and when you reset both case you loose the settings , right ?

It shouldn't matter on a normal working system to try to change anything. Unless you MB is bad , or using improper case.
I got this MB from ebay that don't report CPU temp to IPMI , so unless is on full speed it will overheat, so I am trying to sett little bit lower the speed, so it's not too loud, it's for testing anyways. My main system is all new and working fine, so no need to touch anything , ipmi regulates speed automatically when set standard.

P.S. In your case you are not trying to cool the cpu , but your hdd , interesting ?! Something wrong with the case ?
 
Last edited:

Kevin Horton

Neophyte Sage
Joined
Dec 2, 2015
Messages
690
So when you reboot and when you reset both case you loose the settings , right ?

It shouldn't matter on a normal working system to try to change anything. Unless you MB is bad , or using improper case.
I got this MB from ebay that don't report CPU temp to IPMI , so unless is on full speed it will overheat, so I am trying to sett little bit lower the speed, so it's not too loud, it's for testing anyways. My main system is all new and working fine, so no need to touch anything , ipmi regulates speed automatically when set standard.

P.S. In your case you are not trying to cool the cpu , but your hdd , interesting ?! Something wrong with the case ?
I've got a Fractal-Design Node 804 case, which has the HD in a separate bay with its own ventilation. IPMI controls the CPU and chassis fan speed as a function of CPU temperature. But, depending on what type of workload the system is doing (in particular, what the jails are doing), there may not be good correlation between CPU temperature and HD temperature. I found that my HDs stay in mid 30s deg C the vast majority of the time with the chassis fans at 400 rpm. But, there is the occasional workload that stresses the HD for long periods, and their temperature starts to rise. If the HD temperature starts to rise, my fan control script increases the chassis fan speed.
 

Black Ninja

Neophyte Sage
Joined
Nov 11, 2014
Messages
1,174
Lot of people have the opinion that 40 C is too hot for hdd, but is not true. Is actually perfect temp. You hdd is designed to work up to 70 C by the manufacturer and while 70 C is not recommended too cold also have negative defect. Try to be around 30-40 C but don't worry if you are under 50 C. Dont take my word for it, my experience is base on around 100 hdds, check the google study on temps and reliability based on thousands of drives in their datacenters.
 

Marcet

Member
Joined
May 31, 2013
Messages
193
Lot of people have the opinion that 40 C is too hot for hdd, but is not true. Is actually perfect temp. You hdd is designed to work up to 70 C by the manufacturer and while 70 C is not recommended too cold also have negative defect. Try to be around 30-40 C but don't worry if you are under 50 C. Dont take my word for it, my experience is base on around 100 hdds, check the google study on temps and reliability based on thousands of drives in their datacenters.
Here is the link : http://static.googleusercontent.com/media/research.google.com/fr//archive/disk_failures.pdf
 

Bidule0hm

Server Electronics Sorcerer
Joined
Aug 5, 2013
Messages
3,710
The failure rate rise when temp is below roughly 30 °C, it rises even faster if the temp is over 40 °C.

But I always wondered if it's because of the temp, or because of the temp changes, or both.
 

Bidule0hm

Server Electronics Sorcerer
Joined
Aug 5, 2013
Messages
3,710
Ahhh, forum software from hell...

Mods: you can delete this post.
 

Dice

Neophyte Sage
Joined
Dec 11, 2015
Messages
1,214
@Kevin Horton : Would you care to share some further details on how your cronjob works? (<- newbie lvl plz)
 

Black Ninja

Neophyte Sage
Joined
Nov 11, 2014
Messages
1,174
The failure rate rise when temp is below roughly 30 °C, it rises even faster if the temp is over 40 °C.

But I always wondered if it's because of the temp, or because of the temp changes, or both.
The statistics speaks for it selft but , basically you rather be close to 40 °C than close to 30 °C. But still hdd can operate safely with much wider range. And talking about reliability, some drives are way more reliable than others, I bet I can run quality hdd at 60 °C longer than some crappy ones at 30 ° C, but don't another topic I wouldn't want to go in to.:)
 

Bidule0hm

Server Electronics Sorcerer
Joined
Aug 5, 2013
Messages
3,710
What you want is also a stable temp, it doesn't matter much that you are at 35 °C if the temp oscillate between 30 and 40 °C every minute... you're much better at 30 or 40 °C with a rock stable temp.

60 °C is cooking it, even a good quality one. Fans are cheap, drives aren't, and your data is probably priceless...
 
Status
Not open for further replies.
Top