[Plugin] IPMI for unRAID 6.1+


1420 posts in this topic Last Reply

Recommended Posts

In the latest version I do set the fan profile to full for Supermicro boards before running the script. This was to avoid any bmc interruption which can happen with the other fan modes.

Link to post
  • Replies 1.4k
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

I've been using this plug in for a very long time and absolutely love it.  Thanks so much!   I have a request.  Would it be possible to move the "IPMI Summary" on the Dashboard from the top

IPMI plugin for unRAID 6.1+   This plugin is for viewing the local or remote sensors and event logs of a motherboard with ipmi. Sensors can be viewed in basic or advanced mode. Sensor reading col

I just wrote a basic greasemonkey script to do this:   // ==UserScript== // @name Move IMPI elements to bottom of unRAID dashboard // @include http://YOURHOSTNAMEORIP/Dashboard // @grant

Posted Images

31 minutes ago, gmk2 said:

Do your fans drop down from max when you enable fan control before roaring back to full noise? If so this is likely the classic supermicro fan speed falling below threshold forcing max fan speed..

 

With 50% PWM and your now increased lower thresholds you may be doing exactly this. You can check the ipmi log to see if it is logging threshold events, and check the sensor readings to see the actual fan rpm (rather than the config).

 

If you want to adjust your thresholds, set your fanmin to 85% and see if the rpm fall from max. Check what the rpm value is. Progressively change the fanmin down by 10% and check the rpm and you should find the threshold point. Unless the PWM% is low enough for your need this may be a trigger to drop your thresholds. For me, I looked up my fan specification and set the thresholds 150 rpm below. The threshold is intended as a safety feature in case the fan control doesn't apply enough PWM to get the fan to start, its not intended to define the minimum rpm you want to run the fans at.

 

It does take a little tweaking to get right. I have a few pages in a notebook of trialing PWM % settings to see what rpm my case fans vs cpu fans returned.

 

Good luck.

 

Yeah when I reactivate fan control, usually the fan dips down and then immediately spools up to max - I've been struggling with this issue in the past, and I had to swap out my low-rpm silent case fans for stock ones because I couldn't stop them from going right to max (their max RPM was something low like 1400).

 

I set my fanmin to 85% and it didn't change, I put it all the way up to 95% and also no change.

Link to post

If you click readings you should see your fan rpm. What is this showing when you apply these settings?

 

If you then click events you should get a log - this is where you will see if threshold is being tripped.

Link to post
13 hours ago, gmk2 said:

If you click readings you should see your fan rpm. What is this showing when you apply these settings?

 

If you then click events you should get a log - this is where you will see if threshold is being tripped.

 

Yeah the fan RPM has been constant across any of my changes. Fans 2,3,4 are all at 1200 RPM, and the CPU fan (FANA) is maxed at 2900.

 

I cleared my event log yesterday, and the fan is still up at 2900RPM without anything in the event log. 

Link to post
 
Yeah the fan RPM has been constant across any of my changes. Fans 2,3,4 are all at 1200 RPM, and the CPU fan (FANA) is maxed at 2900.
 
I cleared my event log yesterday, and the fan is still up at 2900RPM without anything in the event log. 
Before you do this make sure you have the threshold for FANA set properly. Here's the raw commands you can test. Just stop the fancontrol service first. Run this first to get the readings

ipmisensors -t fan

Then run this to change the fan setting for FANA to full speed

ipmi-raw 00 30 70 66 01 01 64

Run this to get the reading maybe even a couple times to check

ipmisensors -t fan

Then change the fan speed like this and check the reading again with ipmisensors

ipmi-raw 00 30 70 66 01 01 34

Let me know what you find out.

You can also use this to check FAN1234

ipmi-raw 00 30 70 66 01 00 64

If none of this works, double check bios and bmc are up to date. Try switching fan headers. Not that it matters but all Supermicro boards I have had say to put CPU on fan1 and FANA is for peripherals. So I always have CPU on fan header 1 and case fans on 2, 3, 4 then 2 fans with a splitter (pwm only goes to one fan) on FANA for my hard drives.


Link to post
11 minutes ago, dmacias said:

Before you do this make sure you have the threshold for FANA set properly. Here's the raw commands you can test. Just stop the fancontrol service first. Run this first to get the readings

ipmisensors -t fan

Then run this to change the fan setting for FANA to full speed

ipmi-raw 00 30 70 66 01 01 64

Run this to get the reading maybe even a couple times to check

ipmisensors -t fan

Then change the fan speed like this and check the reading again with ipmisensors

ipmi-raw 00 30 70 66 01 01 34

Let me know what you find out.

You can also use this to check FAN1234

ipmi-raw 00 30 70 66 01 00 64

If none of this works, double check bios and bmc are up to date. Try switching fan headers. Not that it matters but all Supermicro boards I have had say to put CPU on fan1 and FANA is for peripherals. So I always have CPU on fan header 1 and case fans on 2, 3, 4 then 2 fans with a splitter (pwm only goes to one fan) on FANA for my hard drives.

 

 

 

Yeah it looks like none of that has had an effect. I will confirm my bios is up to date - is there a way to update BMC beyond what's in the IPMI Tools plugin? Also, possibly unrelated but I noticed I don't have a "configure" button in the fan control section, for it to automatically calibrate the fans.

 

Here are the results from running those commands:

root@NeverlandUNRAID:~# ipmisensors -t fan
ID  | Name | Type | Reading    | Units | Event
674 | FAN2 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
741 | FAN3 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
808 | FAN4 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
875 | FANA | Fan  | 2900.00    | RPM   | 'At or Above (>=) Upper Non-Recoverable Threshold'
root@NeverlandUNRAID:~# ipmi-raw 00 30 70 66 01 01 64
rcvd: 70 00
root@NeverlandUNRAID:~# ipmisensors -t fan
ID  | Name | Type | Reading    | Units | Event
674 | FAN2 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
741 | FAN3 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
808 | FAN4 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
875 | FANA | Fan  | 2900.00    | RPM   | 'At or Above (>=) Upper Non-Recoverable Threshold'
root@NeverlandUNRAID:~# ipmisensors -t fan
ID  | Name | Type | Reading    | Units | Event
674 | FAN2 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
741 | FAN3 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
808 | FAN4 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
875 | FANA | Fan  | 2900.00    | RPM   | 'At or Above (>=) Upper Non-Recoverable Threshold'
root@NeverlandUNRAID:~# ipmi-raw 00 30 70 66 01 01 34
rcvd: 70 00
root@NeverlandUNRAID:~# ipmisensors -t fan
ID  | Name | Type | Reading    | Units | Event
674 | FAN2 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
741 | FAN3 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
808 | FAN4 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
875 | FANA | Fan  | 2900.00    | RPM   | 'At or Above (>=) Upper Non-Recoverable Threshold'
root@NeverlandUNRAID:~# ipmisensors -t fan
ID  | Name | Type | Reading    | Units | Event
674 | FAN2 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
741 | FAN3 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
808 | FAN4 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
875 | FANA | Fan  | 2900.00    | RPM   | 'At or Above (>=) Upper Non-Recoverable Threshold'
root@NeverlandUNRAID:~# ipmisensors -t fan
ID  | Name | Type | Reading    | Units | Event
674 | FAN2 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
741 | FAN3 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
808 | FAN4 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
875 | FANA | Fan  | 2900.00    | RPM   | 'At or Above (>=) Upper Non-Recoverable Threshold'
root@NeverlandUNRAID:~# ipmi-raw 00 30 70 66 01 00 64
rcvd: 70 00
root@NeverlandUNRAID:~# ipmisensors -t fan
ID  | Name | Type | Reading    | Units | Event
674 | FAN2 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
741 | FAN3 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
808 | FAN4 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
875 | FANA | Fan  | 2900.00    | RPM   | 'At or Above (>=) Upper Non-Recoverable Threshold'
root@NeverlandUNRAID:~# ipmisensors -t fan
ID  | Name | Type | Reading    | Units | Event
674 | FAN2 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
741 | FAN3 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
808 | FAN4 | Fan  | 1200.00    | RPM   | 'At or Above (>=) Upper Non-Critical Threshold'
875 | FANA | Fan  | 2900.00    | RPM   | 'At or Above (>=) Upper Non-Recoverable Threshold'
Link to post

The plugin can't update the bmc. You have to go to Supermicro website and get the bmc file for your board then update through the board's ipmi webpage. The bios has to be done with a dos boot disk or pay SM like $20 for a license to do it through the ipmi webpage.

The configure button is only for ASRock boards. It's for determining which fan header corresponds to which place in the command for those boards. Single core ASRock boards have just a single command and dual socket boards have 2 commands. But each command is able to set several fans to different levels separately.

Link to post
4 hours ago, dmacias said:

The plugin can't update the bmc. You have to go to Supermicro website and get the bmc file for your board then update through the board's ipmi webpage. The bios has to be done with a dos boot disk or pay SM like $20 for a license to do it through the ipmi webpage.

The configure button is only for ASRock boards. It's for determining which fan header corresponds to which place in the command for those boards. Single core ASRock boards have just a single command and dual socket boards have 2 commands. But each command is able to set several fans to different levels separately.

 

OK I will ensure both are up to date, and check back. Thank you again for the help.

 

So the case fans (which weren't an issue) are actually non-pwm fans, that were all running about 1200 RPM. 

 

If I end up going that route, is moving my CPU fan from FANA to FAN1 (which is the same group as the rest) going to adversely affect things? Ideally I'd throw my old low RPM PWM fans back in but I had issues getting them to behave before which is why I swapped them out.

Edited by cyriouslydylan
Link to post

So I ended up installing the new BMC update last night and in that process revered all of the BMC settings to default. Then, through the supermicro IPMI interface, changed my fan mode to "optimal". I'm not sure if this works dynamically with the IPMI tool yet because I haven't hit any temperature marks for them to switch yet, but at least my CPU fan isn't on full blast anymore.

Link to post

For the plugin to work your fans need to be set to "high" as this stops the motherboard fighting to control fan speed. Essentially you need to pick to either use one of the 'out of the box' fan control levels from supermicro OR use the plugin.

 

Out of the motherboard typically CPU temp drives fan headers 1-n and the PCH will drive Fans AB provided your using PWM fans.

 

One of the value adds of this plugin is to be able to change this up; my board is a dual cpu board and I have different fans for the cpu coolers to the case fans. From this use case using Fan headers A and B for the CPU and setting the plugin to drive Fan AB off CPU temp is a good solution. For the case fans I have Fan 1 through 6 - and these I have set on HDD temp. I expect in normal use my board is jammed into a very low U case with a set of tiny screamer fans cooling the whole shooting match.

 

I have also entertained a possible enhancement to fan control to allow a secondary / override temp control for each fan. In my scenario the CPUs when working hard can produce a lot of heat and this is all behind the HDD. What this means is that a high workload on CPU would ideally drive both the CPU fans and lift the case fans. If implemented I would picture that you would want to define two temperature ranges and two min and max fans against the one fan header, the logic would be to take the higher fan pwm calc out of the two so if the HDD are hot it can spin up the fans and if the CPU is hot it can also spin up the fans.

Link to post
  • 3 weeks later...

Since one of the last updates, possibly the last one, every time I reboot unRAID fans goto max before rebooting and stay at max after rebooting, this is on an X11SMM-F, I need to disable and re-enable fan control, and sometimes that isn't enough and need to change and then change back some other setting like fan minimum speed to get it working, let me know if you need anymore info.

Link to post

Hey,

 

I've got a problem and I can not get on with the solution.

 

I am using a X11SSH-CTF as MB and want to toggle the fan speed automatic, depending on CPU and/or HDD temperature.

 

So I installed the ipmitools via the Nerd Tools Plugin and afterwards the IMPI Plugin.

 

I am getting RPM of the fans and a bunch of other values, but after enabling the Fan Control, nothing happens and the fans keep spinning at full speed.

 

This is the generated log:

 

2018-06-17 10:53:36 Starting Fan Control
2018-06-17 10:53:36 Setting fans to full speed
2018-06-17 10:53:36 Fan:Temp, FAN1234( 2%):HDD Temp(28°C), FANA( 2%):HDD Temp(28°C)

 

I have selected the shortest polling time intervals in the drop down so this log should update every 10sec/1min, but nothing happens.

Link to post



Since one of the last updates, possibly the last one, every time I reboot unRAID fans goto max before rebooting and stay at max after rebooting, this is on an X11SMM-F, I need to disable and re-enable fan control, and sometimes that isn't enough and need to change and then change back some other setting like fan minimum speed to get it working, let me know if you need anymore info.


That was partly by design. I found other modes could interfere with fan control. I need to make a setting to choose the fan mode when not running fan control. I'll have to look into it more why it's not working after reboot. I have seen something like you mention but after a bit fan control seems to take over. Sorry I have just been super busy moving.
Link to post
Hey,
 
I've got a problem and I can not get on with the solution.
 
I am using a X11SSH-CTF as MB and want to toggle the fan speed automatic, depending on CPU and/or HDD temperature.
 
So I installed the ipmitools via the Nerd Tools Plugin and afterwards the IMPI Plugin.
 
I am getting RPM of the fans and a bunch of other values, but after enabling the Fan Control, nothing happens and the fans keep spinning at full speed.
 
This is the generated log:
 
2018-06-17 10:53:36 Starting Fan Control
2018-06-17 10:53:36 Setting fans to full speed
2018-06-17 10:53:36 Fan:Temp, FAN1234( 2%):HDD Temp(28°C), FANA( 2%):HDD Temp(28°C)
 
I have selected the shortest polling time intervals in the drop down so this log should update every 10sec/1min, but nothing happens.
Did you set the fan thresholds with the sensor config editor?
Link to post
17 hours ago, dmacias said:
On 6/17/2018 at 10:59 AM, Xuvin said:
Hey,
 
I've got a problem and I can not get on with the solution.
 
I am using a X11SSH-CTF as MB and want to toggle the fan speed automatic, depending on CPU and/or HDD temperature.
 
So I installed the ipmitools via the Nerd Tools Plugin and afterwards the IMPI Plugin.
 
I am getting RPM of the fans and a bunch of other values, but after enabling the Fan Control, nothing happens and the fans keep spinning at full speed.
 
This is the generated log:
 
2018-06-17 10:53:36 Starting Fan Control
2018-06-17 10:53:36 Setting fans to full speed
2018-06-17 10:53:36 Fan:Temp, FAN1234( 2%):HDD Temp(28°C), FANA( 2%):HDD Temp(28°C)
 
I have selected the shortest polling time intervals in the drop down so this log should update every 10sec/1min, but nothing happens.

Did you set the fan thresholds with the sensor config editor?

 

As followed:

FAN.PNG.943693857bc83409f648e0aa75010a61.PNG

 

Settings.png.ff4e4ca7bcd04cb52e3e885e7ecb1cf9.png

 

Link to post

Hi Xuvin,

 

Your fan minimums are way way too low. at 1.5% pwm your fans will not spin at all and your going to be hitting the fan thresholds and the board will override fans to 100%.

 

Try starting at 65% and see what rpm you get. PWM is not linear with RPM.

 

Cheers,

 

gmk2

 

Link to post
On 5/7/2015 at 11:08 AM, dmacias said:

IPMI fan control is supported for ASRock and Supermicro X10/X11 only.

I have a Supermicro X8SIL-F.  Just to clarify, this means that setting the fan control to "YES" will enable this function but there is no support?

Edited by DoItMyselfToo
Link to post
4 hours ago, DoItMyselfToo said:

I have a Supermicro X8SIL-F.  Just to clarify, this means that setting the fan control to "YES" will not enable the function?

 

That is right (it won't work). Currently Supermicro support is enabled for X9 and the X10/X11.

 

You would need to identify the raw ipmi commands for an X8 to have them incorporated into the plugin to get the X8 supported (assuming they are available).

Link to post
20 minutes ago, gmk2 said:

 

That is right (it won't work). Currently Supermicro support is enabled for X9 and the X10/X11.

 

You would need to identify the raw ipmi commands for an X8 to have them incorporated into the plugin to get the X8 supported (assuming they are available).

Thanks.  I wasn't sure if that was the case or "it works but don't ask for help."  Lol.  I'll have to do some searching around.

Link to post
  • 3 weeks later...

Hi,

 

I have an X11SSH running unRaid under ESXi. There is a LSI HBA and USB card passed through, and all works fine.

I have installed the IPMI plugin from the Community Apps section and can see all temperatures / fan speeds fine, but don't have a Fan control tab.

Connection is via network.

 

I know fan control is possible via remote IPMI as I can adjust it manually using ipmitool on a Centos VM...

 

I suspect the board is being detected incorrectly; when I run ipmifan --debug, I get a message:

Your Intel Corporation motherboard is not supported or setup yet

 

Have I missed anything or does this not work under ESXi, even though it uses communication over IP?

 

Cheers

 

Edited by DeeGee
Link to post
5 hours ago, DeeGee said:

Hi,

 

I have an X11SSH running unRaid under ESXi. There is a LSI HBA and USB card passed through, and all works fine.

I have installed the IPMI plugin from the Community Apps section and can see all temperatures / fan speeds fine, but don't have a Fan control tab.

Connection is via network.

 

I know fan control is possible via remote IPMI as I can adjust it manually using ipmitool on a Centos VM...

 

I suspect the board is being detected incorrectly; when I run ipmifan --debug, I get a message:

Your Intel Corporation motherboard is not supported or setup yet

 

Have I missed anything or does this not work under ESXi, even though it uses communication over IP?

 

Cheers

 

The plugin uses this to get the motherboard and model

 

dmidecode -t 2 | grep 'Manufacturer' | awk -F 'r:' '{print $2}'
dmidecode -t 2 | grep 'Product Name' | awk -F 'e:' '{print $2}'

I dont have any experience with ESXI. So I would need to know how to determine in unRAID you are using ESXI and then how to find the motherboard info.

Link to post
4 hours ago, dmacias said:

The plugin uses this to get the motherboard and model

 


dmidecode -t 2 | grep 'Manufacturer' | awk -F 'r:' '{print $2}'
dmidecode -t 2 | grep 'Product Name' | awk -F 'e:' '{print $2}'

I dont have any experience with ESXI. So I would need to know how to determine in unRAID you are using ESXI and then how to find the motherboard info.

 

Thanks for the confirmation.

Thinking about this some more, this affects any host using remote ipmi - you can't assume that the board the plugin is running on is the same as the remote host.

 

Perhaps the best way forward is to have a dropdown on the remote config section that will allow manual setting of the remote host type?

 

 

Link to post
 
Thanks for the confirmation.
Thinking about this some more, this affects any host using remote ipmi - you can't assume that the board the plugin is running on is the same as the remote host.
 
Perhaps the best way forward is to have a dropdown on the remote config section that will allow manual setting of the remote host type?
 
 
I can probably add something like that for when Supermicro or Asrock are not detected. My preference for auto detecting was to make sure the right board was selected and thus the right ipmi commands. There are also different commands for Asrock boards based on number of CPU sockets. If things aren't working right (usually supermicro due to threshold settings) some may just start changing settings randomly which would send the wrong commands. Granted this would probably be benign but you never know. I'll see what I can do but I also want to keep the webgui as simple as possible.
Link to post
5 hours ago, dmacias said:
12 hours ago, DeeGee said:
 
Thanks for the confirmation.
Thinking about this some more, this affects any host using remote ipmi - you can't assume that the board the plugin is running on is the same as the remote host.
 
Perhaps the best way forward is to have a dropdown on the remote config section that will allow manual setting of the remote host type?
 
 

I can probably add something like that for when Supermicro or Asrock are not detected. My preference for auto detecting was to make sure the right board was selected and thus the right ipmi commands. There are also different commands for Asrock boards based on number of CPU sockets. If things aren't working right (usually supermicro due to threshold settings) some may just start changing settings randomly which would send the wrong commands. Granted this would probably be benign but you never know. I'll see what I can do but I also want to keep the webgui as simple as possible.

 

Fair enough - perhaps the best way then would be to have board info in the config file, which can then be edited by hand if its incorrect, along with appropriate disclaimers!

 

Initial value could be set at install time...

 

 

Edited by DeeGee
Link to post
  • 2 weeks later...

Noticed recently (with the help of FCP) that my log folder is filling rather quickly. Finally got a chance to investigate today and it looks like /var/log/ipmifan is creating the problem. Fan speeds and temps are being logged about every 10 seconds. This looks like it corresponds with the polling time I have set. Do I need to change the polling time? What should it be set to?

Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.