Resource icon

How To: Change IPMI Sensor Thresholds using ipmitool

francisaugusto

Contributor
Joined
Nov 16, 2018
Messages
153
The best answer might be to replace the current CPU fan with something quieter and let the BMC control the fan speed as the CPU temp varies.

I just did it. Got a Noctua A6x25 PWM, and replaced the original Supermicro cooler.


It wasn't necessary to unscrew the whole heatsync. It was a hard job to unscrew the cage, but it worked. The A6x25 PWM fitted perfectly - same mounting hole.

I am just not sure it was worth it, though. When the fan is at max speed, It's the same noise, or maybe a tiny bit quieter, than when I had the supermicro fan running at 2200 rpm using
Code:
ipmitool -H 192.168.1.80 raw 0x30 0x70 0x66 0x01 0x00 0x2
and full speed. Then, my temps would oscilate between 43 and 47 degrees Celsius.

Now, with the Noctua fan, when I select "optimal" and restore the full cycle, (0x64), I get 1200 rpm and an average of 56º C. And not so quiet as I thought.

I am a bit disappointed, I must say. Not the quietest machine - maybe a bit quieter than when controlling the supermicro fan, and now it runs warmer. I am almost considering going back to the Supermicro fan. But the biggest advantage is that I don't need a script to control the fan, it seems the ipmi is oscilating the fan as the degrees go up and down.
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
Noctua's small fans are less impressive, in comparative terms, than their larger models, that's true. Not that I'm sure there's an easy solution if such a small fan is needed...
 

francisaugusto

Contributor
Joined
Nov 16, 2018
Messages
153
Noctua's small fans are less impressive, in comparative terms, than their larger models, that's true. Not that I'm sure there's an easy solution if such a small fan is needed...

Indeed. I was almost thinking about trying water cooling, but I wonder how much work it will take to make it work.
 

francisaugusto

Contributor
Joined
Nov 16, 2018
Messages
153

MauricioU

Explorer
Joined
May 22, 2017
Messages
64
Hi all,

I am trying to follow this guide to get my fan noise under control but I am a little confused. First I have an Intel s2600CP motherboard. I'm not sure if that changes the order of the thresholds, so if anyone has any information about that I'd be grateful if you could take the moment to share.

I have also purchased some noctua fans, I would like to set up. I have the NF-S12A fans which max out at 1,200 RPMs. I also have some noctua fans that max out at 1,700 RPMs.

I was hoping you can help me determine the guides for the upper thresholds. If I'm not mistaken, based on this guide, I should calculate 20% of the RPM for the LNC, then work my way down for the LC and LNR by subtracting 100 RPMs off that 20% for the LC and another 100 RPMs off the LC number for the LNR, correct?

1,200 RPM Noctua fans:

Lower Non-Recoverable - 40 RPMs
Lower Critical - 140 RPMs
Lower Non-Critical - 240 RPMs

Upper Non-Critical - ?
Upper Critical - ?
Upper Non-Recoverable - ?

Is this correct? Also how do I determine the Upper thresholds?

Here is a screenshot of my sensors without making any changes and using the Low Noise Reducers Noctua includes with the fans:

1642110130769.png



Please let me know what you guys think!
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
First I have an Intel s2600CP motherboard. I'm not sure if that changes the order of the thresholds
I wouldn't expect it to, but you never know what crazy nonsense is implemented inside the BMC.
Also how do I determine the Upper thresholds?
Not hugely relevant, just something above what the fans can do.
Lower Non-Recoverable - 40 RPMs
Lower Critical - 140 RPMs
Lower Non-Critical - 240 RPMs
You may be unable to select those specific values. Play around until you get values that stick and don't worry too much about the specific values.
 

MauricioU

Explorer
Joined
May 22, 2017
Messages
64
I wouldn't expect it to, but you never know what crazy nonsense is implemented inside the BMC.

Not hugely relevant, just something above what the fans can do.

You may be unable to select those specific values. Play around until you get values that stick and don't worry too much about the specific values.
Thank you for answering man!

So what do those values determine if specific values are not too important? How will the motherboard know how to ramp up the fans if things start getting hot?
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
How will the motherboard know how to ramp up the fans if things start getting hot?
They're not used for that, they're for fan failure detection. Fan speed ramping is based on on-board temperatures. Which temperatures will depend on the board.
 

MauricioU

Explorer
Joined
May 22, 2017
Messages
64
They're not used for that, they're for fan failure detection. Fan speed ramping is based on on-board temperatures. Which temperatures will depend on the board.
So the motherboard will automatically ramp up the boards depending on the temps, regardless of the ipmi settings/RPMs, correct?
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
Right, as long as the fan speed is inside the range between both sets of thresholds.
 

MauricioU

Explorer
Joined
May 22, 2017
Messages
64

MauricioU

Explorer
Joined
May 22, 2017
Messages
64
Right, as long as the fan speed is inside the range between both sets of thresholds.
So I am dealing with one problem:

Code:
root@PeyJ[~]# ipmitool sensor thresh "System Fan 5" lower 100 200 300
Locating sensor record 'System Fan 5'...
Setting sensor "System Fan 5" Lower Non-Recoverable threshold to 100.000
Error setting threshold: Command illegal for specified sensor or record type
Setting sensor "System Fan 5" Lower Critical threshold to 200.000
Setting sensor "System Fan 5" Lower Non-Critical threshold to 300.000
root@PeyJ[~]#



It's giving me an error for setting the LNR.

Additionally it doesn't seem to be sticking. Do I need to restart the BMC with this cmd after I'm done?

Code:
ipmitool bmc reset cold


Please let me know! Thank you
 

MauricioU

Explorer
Joined
May 22, 2017
Messages
64
Additionally, I tried ipmiutil without any success. It's as if ipmiutil is not installed.
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
So I am dealing with one problem:

Code:
root@PeyJ[~]# ipmitool sensor thresh "System Fan 5" lower 100 200 300
Locating sensor record 'System Fan 5'...
Setting sensor "System Fan 5" Lower Non-Recoverable threshold to 100.000
Error setting threshold: Command illegal for specified sensor or record type
Setting sensor "System Fan 5" Lower Critical threshold to 200.000
Setting sensor "System Fan 5" Lower Non-Critical threshold to 300.000
root@PeyJ[~]#



It's giving me an error for setting the LNR.

Additionally it doesn't seem to be sticking. Do I need to restart the BMC with this cmd after I'm done?

Code:
ipmitool bmc reset cold


Please let me know! Thank you
One thing to try is to use less granular thresholds, duplicating them if needed,
Additionally, I tried ipmiutil without any success. It's as if ipmiutil is not installed.
It probably isn’t, but you can run it from a client.
 

MauricioU

Explorer
Joined
May 22, 2017
Messages
64
One thing to try is to use less granular thresholds, duplicating them if needed,

It probably isn’t, but you can run it from a client.
Hi Eric, by less granular you mean for example 200 225 250? something like that?
 

MauricioU

Explorer
Joined
May 22, 2017
Messages
64
I tried more granular settings with these commands:

ipmitool sensor thresh "System Fan 5" lower 250 275 300
ipmitool sensor thresh "System Fan 5" lower 350 375 400
ipmitool sensor thresh "System Fan 5" lower 300 300 300
ipmitool sensor thresh "System Fan 5" lower 400 400 400

I get the same error:

1642203337284.png


Any information on this particular error? It says the same thing regardless which fan I try. I have tried them all.
 

MauricioU

Explorer
Joined
May 22, 2017
Messages
64
One more thing , I am unable to send an RAW commands. It tells me "Unable to send RAW command" and "invalid command"

Not sure why
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
So, it turns out that the BMC on that thing is an Emulex Pilot III, as per the board's datasheet.

That doesn't bode well, in that I'd literally never heard of it, meaning that it's unlikely that anyone here will have experience with it, much less know how to fix this.
 

Etorix

Wizard
Joined
Dec 30, 2020
Messages
2,134
I tried more granular settings with these commands:

ipmitool sensor thresh "System Fan 5" lower 250 275 300
ipmitool sensor thresh "System Fan 5" lower 350 375 400
ipmitool sensor thresh "System Fan 5" lower 300 300 300
ipmitool sensor thresh "System Fan 5" lower 400 400 400
The Supermicro IPMI would round all values down to a multiple of 100 and want these thresholds to be differents, in logical order. So something like
impi sensor thresh "FAN" lower 200 300 400
 

MauricioU

Explorer
Joined
May 22, 2017
Messages
64
So, it turns out that the BMC on that thing is an Emulex Pilot III, as per the board's datasheet.

That doesn't bode well, in that I'd literally never heard of it, meaning that it's unlikely that anyone here will have experience with it, much less know how to fix this.
Damn! What does it mean that is is on Emulex Pilot III? Do you have any idea where I could look towards in regards to finding information on how to fix it? Thanks so much for all our help so far @Ericloewe


The Supermicro IPMI would round all values down to a multiple of 100 and want these thresholds to be differents, in logical order. So something like
impi sensor thresh "FAN" lower 200 300 400

Thanks @Etorix for replying. I have tried doing those exact numbers rounded by 100 as well. The only reason why I did numbers like 250, 275, 300 is because, unless i completely misunderstood him, @Ericloewe suggested I use more granular numbers, even if 2 of the numbers are the same. He was just trying to get me to try something that would stick.

The problem now is I am running into this message: "Error setting threshold: Command illegal for specified sensor or record type"

And none of my thresholds stick no matter what. I am desperately trying to figure out why it is doing that and what's behind it.
 
Top