[Plugin] IPMI for unRAID 6.1+


Recommended Posts

12 hours ago, SimonF said:

For Dell users it looks lke support has been removed from iDrac > 3.30.30.30. for controlling fans.

 

Anyone know of a way to get firmware level of iDrac?

Manual setting doesn't seem to work for me, but fan offset can be set (e.g. +20% fan speed).

I'm on idrac 2.83.83.83

image.png.a5e8d00b3d57925780bef344759474d4.png

 

I think snmp is the only way to get firmware level, this doc covers idrac 7+8
https://dl.dell.com/topicspdf/dell-opnmang-sw-v8.1_connectivity-guide_en-us.pdf

Link to comment
15 hours ago, tjb_altf4 said:

Manual setting doesn't seem to work for me, but fan offset can be set (e.g. +20% fan speed).

I'm on idrac 2.83.83.83

image.png.a5e8d00b3d57925780bef344759474d4.png

 

I think snmp is the only way to get firmware level, this doc covers idrac 7+8
https://dl.dell.com/topicspdf/dell-opnmang-sw-v8.1_connectivity-guide_en-us.pdf

Thanks, 

 

So this works to set speed offset?

 

To set value to Low FAN speed offset run command:

ipmitool -I lanplus -H <IPADDRESS> -U <USERNAME> -P <PASSWORD> raw 0x30 0xCE 0x00 0x09 0x07 0x00 0x00 0x00 0x07 0x00 0x02 0x02 0x02 0x00 0x00

 

To set value to high FAN speed offset run command:

ipmitool -I lanplus -H <IPADDRESS> -U <USERNAME> -P <PASSWORD> raw 0x30 0xCE 0x00 0x09 0x07 0x00 0x00 0x00 0x07 0x00 0x02 0x02 0x02 0x01 0x00

Link to comment
22 hours ago, SimonF said:

Are you able try commands from spxlabs to see if it changes?

https://www.spxlabs.com/blog/2019/3/16/silence-your-dell-poweredge-server

That page is what I used to get me where I am now, which is working fairly well.
I use those IPMI commands to set a manual fan value, based on the time of year and how hot it's likely to be in my server room at the time. ;)

What I haven't done is try the stuff where they talk about chron tasks and scripts.  They kinda lost me there....

Link to comment
  • 1 month later...

Hi all, just wanted to register my interest in adding support for Dell servers.

 

I've got an R520 and had been using a crude script to get me by.

 

This plugin is installed but I have no idea how to setup a JSON for fan control. Reading is working fine though.

 

For whatever reason, my script has randomly stopped working twice now. Logs say it's ran, and it outputs/prints the temps but that's it.

 

No errors seen in iDRAC, no change if I reboot the iDRAC or even uninstall ipmitool, the plugin or a combination of all.

 

I ended up installing PowerEdge-shutup but struggling to fine-tune is as it seems pretty aggressive.

PowerEdge-shutup with log output.sh Original with log output

Link to comment
  • 4 weeks later...
  • 1 month later...
On 2/7/2021 at 1:20 PM, Saeros said:

Hi, i have a little problem with the plugin, any help appreciated.

I have noctua fans in the ports FAN1-4 and FANB

In the plugin settings in Unraid i can only configure FAN1234 (one config for all of them) but FANB does not show up there....

I have a Supermicro X11SCH-LN4F (same as X11SCH-F only with more LAN ports).

 

Would be great if i can find a solution to configure FANB and in the best case it would be great to control FANS 1-4 individually.... 

 

any help appreciated!

 

I have the exact same board with Noctua fans as well and noticed the same problem today. I am pretty shure there were 2 separate fan control channel for FAN1234 and FANAB before. I am not shure when the controls for FANAB have disappeared in the plugin. According the the readings FANB is still running but was hitting the lower limit 2 times in the last 2 hours. But this seems to be normal at least for Noctua fans and I usually then adjust the minimum fan speed. But it is the first time I am not able to do this for Chanel FANAB.

Link to comment
  • 1 month later...

Hello,

I recently purchased a Supermicro X11SCA-F from eBay and noticed that I've lost the fan config tab in IPMI Tools.  Doing some digging through this thread, it seems that this may be because the plugin is not detecting a supported manufacturer when it initializes.  Running one of the commands I found on this thread, I'm seeing the following:

 

dmidecode -t 2 | grep 'Manufacturer' | awk -F 'r:' '{print $2}' | awk '{print $1}'
Enginetech

 

I'm not sure why this is returning Enginetech (EG320W-G20) instead of Supermicro (X11SCA-F)... I think the likely reason is that this board was refurbished in some way and it was changed as a part of that process.  I'm wondering if there's any way to work around this to be able to configure the fans using the IPMI plugin.

 

Thanks!

 

image.png.32b4f0b661b85c24bb6ef544faed56d1.png

Edited by mergleh
Link to comment
10 hours ago, mergleh said:

Hello,

I recently purchased a Supermicro X11SCA-F from eBay and noticed that I've lost the fan config tab in IPMI Tools.  Doing some digging through this thread, it seems that this may be because the plugin is not detecting a supported manufacturer when it initializes.  Running one of the commands I found on this thread, I'm seeing the following:

 

dmidecode -t 2 | grep 'Manufacturer' | awk -F 'r:' '{print $2}' | awk '{print $1}'
Enginetech

 

I'm not sure why this is returning Enginetech (EG320W-G20) instead of Supermicro (X11SCA-F)... I think the likely reason is that this board was refurbished in some way and it was changed as a part of that process.  I'm wondering if there's any way to work around this to be able to configure the fans using the IPMI plugin.

 

Thanks!

 

image.png.32b4f0b661b85c24bb6ef544faed56d1.png

 

For anyone that may run into this, I was able to resolve this by using the SUM tool to update the DMI information.

 

Download SUM here https://www.supermicro.com/en/solutions/management-software/supermicro-update-manager

Execute

1) ./sum -i <IPMI_IP> -u <admin_username> -p <admin_password> -c GetDmiInfo --file dmi.txt

     a) This downloads the DMI info to a text file.

2) Open dmi.txt and update the information here - in my case, there were 3 examples of the problematic manufacturer name... I'm not sure which of the 3 was the right one so I just updated them all.

3) ./sum -i <IPMI_IP> -u <admin_username> -p <admin_password> -c ChangeDmiInfo --file dmi.txt --reboot

     b) This will write the changes you made to the txt file to DMI and trigger a reboot of the BMC.  Obviously, you should make sure Unraid isn't running in the background.

 

I don't think updating FRU info is necessary as I did that first with no luck (makes sense given that the plugin is using dmidecode).

Edited by mergleh
Link to comment
  • 2 months later...

Just wanted to confirm with everyone that it's true that the automatic fan control portion of this plugin does not work will Dell servers utilizing iDRAC? I receive the error message regarding the JSON fan control file missing, but there is not configure button. I'm running a Dell XC730xd-12 (Nuantix version of R730XD) server utilizing iDRAC 8.

 

In the meantime I've been utilizing a Docker image to control the fans, but it isn't ideal. If Docker or the array crashes then I lose automatic fan control. Luckily the last manual fan configuration kicks in if that happens. I set the fans to 50% during array start via a user script.

 

Here is the GitHub page for the Docker image I've been referencing. It's already set up on CA in Unraid.

https://github.com/tigerblue77/Dell_iDRAC_fan_controller_Docker

Link to comment
3 hours ago, OcifferAction said:

Just wanted to confirm with everyone that it's true that the automatic fan control portion of this plugin does not work will Dell servers utilizing iDRAC? I receive the error message regarding the JSON fan control file missing, but there is not configure button. I'm running a Dell XC730xd-12 (Nuantix version of R730XD) server utilizing iDRAC 8.

 

In the meantime I've been utilizing a Docker image to control the fans, but it isn't ideal. If Docker or the array crashes then I lose automatic fan control. Luckily the last manual fan configuration kicks in if that happens. I set the fans to 50% during array start via a user script.

 

Here is the GitHub page for the Docker image I've been referencing. It's already set up on CA in Unraid.

https://github.com/tigerblue77/Dell_iDRAC_fan_controller_Docker

Yes that is correct, have a look at this thread 

 

Link to comment
On 11/29/2023 at 2:12 PM, OcifferAction said:

Just wanted to confirm with everyone that it's true that the automatic fan control portion of this plugin does not work will Dell servers utilizing iDRAC? I receive the error message regarding the JSON fan control file missing, but there is not configure button. I'm running a Dell XC730xd-12 (Nuantix version of R730XD) server utilizing iDRAC 8.

 

In the meantime I've been utilizing a Docker image to control the fans, but it isn't ideal. If Docker or the array crashes then I lose automatic fan control. Luckily the last manual fan configuration kicks in if that happens. I set the fans to 50% during array start via a user script.

 

Here is the GitHub page for the Docker image I've been referencing. It's already set up on CA in Unraid.

https://github.com/tigerblue77/Dell_iDRAC_fan_controller_Docker

I have added support in 2023.12.02

Link to comment

My mainboard: Supermicro H12SSL-NT Gen:12

with fans 1,2,3,4 and A,B

After the update from a few days ago, I get the error:

FANA (3640 RPM): (fan is not configured!)

 

3640RPM is full speed and very loud

 

Fans 1-4 work as they should and can be controlled, but no setting I try with FANA has any consequence.

 

The plugin version before did not have this problem. What could be done?

  • Like 1
Link to comment
On 10/15/2020 at 11:09 PM, cakes044 said:

FWIW, I was being facetious when I said "hacked" around, was meaning that I dug into the code and figured out a way to do it just not clean yet.

 

This is the result of that command by the way:

 

root@tower:~# dmidecode -qt2|awk -F: '/^\tProduct Name:/ {print $2}'
 X570D4U

 

So, I made the ipmi2json script generate the correct json object and then modified the ipmifan tool as well to run with the correct commands.

There are some caveats and changes to the way this board needs to run.

 

1. Fan needs to be put in "manual" mode before the values will actually work. So thats an extra step that needs to take place. In the below I just put ALL the fans in manual mode.

$manual_cmd = "ipmi-raw 00 3a d8 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 2>&1 >/dev/null;";

2. It uses different hex codes for setting manual and auto commands.

$auto_cmd = "ipmi-raw 00 3a d8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2>&1 >/dev/null;";

3. The minimum value for all fan values are now 20% which equals 14 in the hex code, for instance, if I were to only want to change the fan value of the first fan to full speed, it would look like this, even if you aren't using the fans they must be set like this:

ipmi-raw 00 3a d6 64 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14

 

So my "hack" was just shoving them in the code to see it all work. Obviously that wouldn't fly with the current ASRock boards and would actually break the implementation of the existing boards. I'm thinking we might need an extra key in the array to indicate some of this stuff, not sure. I'd look to you for what you reckon? First time looking at PHP in like 10 years, so I'm sure you'd do a better job than me. But hopefully thats enough to go on :)

 

Let me know if you need anything else.

 

Some extra commands you might care about too.

 

Get the fan duty for all fans while in manual mode:

$ ipmi-raw 00 3a d7
 24 32 32 14 14 14 14 14 14 14 14 14 14 14 14 14

Get the fan control mode:

$ ipmi-raw 00 3a db
 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01

Clean all fans (reset to defaults):

ipmi-raw 00 3a dc

 

P.S. In bash a semicolon or an ampersand are command terminators, so some of the commands where you do this is gonna give a syntax error:

$cmd   .= "ipmi-raw $raw $full $fanopts 2>&1 >/dev/null &; ";

Just remove the semi-colon after the ampersands and you're good to go 👍

I will look to add your changes to my repo, do you still use the board?

 

Could you supply board.json?

Link to comment

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.