[Plugin] IPMI for unRAID 6.1+


Recommended Posts

14 minutes ago, dmacias said:

Where'd you get that info or did you test on an X9SCM-F or similar?

Yep, I tested on one of mine, and as you can see I'd really like it to work 😛:

 

imagem.png.adec78e8e2828abf010ce52064f7241a.png

 

AFAIK these boards only accept these commands:


 

ipmitool raw 0x30 0x45 0x00
Gets the mode 0/1/2/4  Standard/Full/Optimal/Heavy IO

ipmitool raw 0x30 0x45 0x01 0x00
Sets the mode to Standard

ipmitool raw 0x30 0x45 0x01 0x01
Sets the mode to Full

ipmitool raw 0x30 0x45 0x01 0x02
Sets the mode to Optimal

ipmitool raw 0x30 0x45 0x01 0x04
Sets the mode to Heavy IO (not available on these boards)

 

 

Link to comment



Yep, I tested on one of mine, and as you can see I'd really like it to work :
 
AFAIK these boards only accept these commands:

 
ipmitool raw 0x30 0x45 0x00Gets the mode 0/1/2/4  Standard/Full/Optimal/Heavy IOipmitool raw 0x30 0x45 0x01 0x00Sets the mode to Standardipmitool raw 0x30 0x45 0x01 0x01Sets the mode to Fullipmitool raw 0x30 0x45 0x01 0x02Sets the mode to Optimalipmitool raw 0x30 0x45 0x01 0x04Sets the mode to Heavy IO (not available on these boards)

 
 



What, no X10s? I'll see if I can implement the ole hi, med, low I had started before for the X9s
Link to comment
  • 3 weeks later...

A couple of days ago I decided to update BMC firmware after updating bios. Long story short, it didn't go well but was finally able to restore the BMC firmware version that I started with.

 

Now I notice that only HDD temps are working in the IPMI plugin, and only connecting locally when previously I was using a network connection.

 

SafariScreenSnapz137.thumb.jpg.b66346dde753530e2e7cd61b65572a71.jpg

 

IPMI settings are all grayed out and I can't figure out how to make changes to them?

 

EDIT: SuperMicro X10SLL-F motherboard.

Edited by wgstarks
Link to comment
A couple of days ago I decided to update BMC firmware after updating bios. Long story short, it didn't go well but was finally able to restore the BMC firmware version that I started with.
 
Now I notice that only HDD temps are working in the IPMI plugin, and only connecting locally when previously I was using a network connection.
 
SafariScreenSnapz137.thumb.jpg.b66346dde753530e2e7cd61b65572a71.jpg
 
IPMI settings are all grayed out and I can't figure out how to make changes to them?
 
EDIT: SuperMicro X10SLL-F motherboard.
You have to turn off Event Notifications and Fan Control. What was the problem with the newer BMC?
  • Upvote 1
Link to comment
28 minutes ago, dmacias said:

You have to turn off Event Notifications and Fan Control.

Thanks. That worked. It seems that connecting via IP is no longer working but enabling localhost brought back all the sensor readings. Not sure what happened to the IP connection?

 

31 minutes ago, dmacias said:

What was the problem with the newer BMC?

I think I was worried too much about the bios update and didn't realize that the BMC update was actually a downgrade. I have been running a Redfish version (beta I think) supplied by SM tech support a year or so ago (Redfish_X10_352) and the firmware listed on the website for my X10 is Redfish_X10_327. I should have spotted the problem, but didn't until after the install. Once the flash was complete I no longer had access to the IPMI webUI, which removed my ability to easily flash back to 352. After a little digging I found the AlUpdate package for Linux which works great from command line on unRAID. The IPMICFG package could probably flash the firmware as well.

Link to comment
  • 2 weeks later...

Hey there, just upgraded to the X11SCA in my sig and I only see fan control for FAN1234, this board seems to have 5 fans and they show up in the list as FAN1-FAN5 with 1 and 2 being CPU fans and the other 3 case fans.

 

I'd really like to have the MB control all the headers (CPU Side) and have this plugin control one header (I have 6 fans on the drive side of the chassis via a PWM hub).  Is that possible?  Any way to map one of the fan headers to the FANA structure I've read about (But don't see in my settings)?

Link to comment

After reading a great deal of the thread...but not all I admit.  I'm not sure that th X11SCA follows the normal Supermicro setup

539674935_ScreenShot2018-12-21at9_59_35PM.png.b8d031316b0d3cea72de47dd4d929bea.png

 

It looks like IPMI exposes FAN1-5, but they break down like this:

 

FAN1&2: CPU

FAN3-5: System

 

I wouldn't mind doing all fan control via IPMI tool, but with my case (D600) having two sides...one for the system and one for drives, I have to be able to setup two fan profiles.  

 

Is there any way to do that with this plugin?

Link to comment

Less an issue with the plugin and more an issue with the Supermicro BMC only supporting two zones. Asrock, for example, supports individual zones for fans and thus you can assign them individually with this plugin.

 

Though with splitters you can probably at least get the two profiles you want, one for fans on one side and one for the other.

Edited by planetix
Link to comment
7 hours ago, planetix said:

Though with splitters you can probably at least get the two profiles you want, one for fans on one side and one for the other.

That would be fine!  I have one connection for the Drive side anyway.  I think the issue is that this BMC is only exposing one group, or the plugin doesn't know how this new board is splitting them.  Unless I'm missing a configuration somewhere?

 

392174931_ScreenShot2018-12-22at6_58_49AM.thumb.png.232359a805ed0da79f53219ea48a9000.png

Link to comment
After reading a great deal of the thread...but not all I admit.  I'm not sure that th X11SCA follows the normal Supermicro setup

539674935_ScreenShot2018-12-21at9_59_35PM.png.b8d031316b0d3cea72de47dd4d929bea.png

 

It looks like IPMI exposes FAN1-5, but they break down like this:

 

FAN1&2: CPU

FAN3-5: System

 

I wouldn't mind doing all fan control via IPMI tool, but with my case (D600) having two sides...one for the system and one for drives, I have to be able to setup two fan profiles.  

 

Is there any way to do that with this plugin?

Either run ipmisensors -t fan from the command line or post a screenshot from the readings page of the fan header names. Also check the Settings page that you haven't globally disabled any fans. Also make sure your on the latest bios and bmc as sometimes there are changes to the sensor names.

 

Edit: also if you were using this plugin previous to your upgrade, you might want to remove the plugin and delete the ipmi plugin directory on the flash drive. Then reinstall. Or atleast resave all settings.

Link to comment
8 minutes ago, dmacias said:

Either run ipmisensors -t fan from the command line or post a screenshot from the readings page of the fan header names. Also check the Settings page that you haven't globally disabled any fans. Also make sure your on the latest bios and bmc as sometimes there are changes to the sensor names.

Oddly, they show as expected from the documentation!  That might be a first eh?

 

root@Tower:~#  ipmisensors -t fan
ID   | Name     | Type | Reading    | Units | Event
808  | CPU_FAN1 | Fan  | 1000.00    | RPM   | 'OK'
875  | CPU_FAN2 | Fan  | N/A        | RPM   | N/A
942  | SYS_FAN1 | Fan  | 1200.00    | RPM   | 'OK'
1009 | SYS_FAN2 | Fan  | 1400.00    | RPM   | 'OK'
1076 | SYS_FAN3 | Fan  | 1600.00    | RPM   | 'OK'
root@Tower:~#

In this case I have 1 PWM hub in SYS_FAN3 for the Drive side of the case, and 1 PWM hub in SYS_FAN2 for the system side.  SYS_FAN1 is the single fan at the back behind the CPU and CPU_FAN1 is obviously the fan on the cooler.

 

My real goal is to be able to set a profile for SYS_FAN3, I can either let the MB control the rest, or have another profile for them...I'm more than willing to rejigger my hubs/ports/whatever....but without 2+ profiles I'm going to have issues balancing the air flow properly.

Link to comment
1 hour ago, Tybio said:

Oddly, they show as expected from the documentation!  That might be a first eh?

 

root@Server:~# ipmisensors -t fan
ID  | Name | Type | Reading    | Units | Event
607 | FAN1 | Fan  | 1200.00    | RPM   | 'OK'
674 | FAN2 | Fan  | 700.00     | RPM   | 'OK'
808 | FAN4 | Fan  | 1100.00    | RPM   | 'OK'
875 | FANA | Fan  | 500.00     | RPM   | 'OK'

In this case I have 1 PWM hub in SYS_FAN3 for the Drive side of the case, and 1 PWM hub in SYS_FAN2 for the system side.  SYS_FAN1 is the single fan at the back behind the CPU and CPU_FAN1 is obviously the fan on the cooler.

 

My real goal is to be able to set a profile for SYS_FAN3, I can either let the MB control the rest, or have another profile for them...I'm more than willing to rejigger my hubs/ports/whatever....but without 2+ profiles I'm going to have issues balancing the air flow properly.

This is what most X10/X11 boards look like

root@Server:~# ipmisensors -t fan
ID  | Name | Type | Reading    | Units | Event
607 | FAN1 | Fan  | 1200.00    | RPM   | 'OK'
674 | FAN2 | Fan  | 700.00     | RPM   | 'OK'
808 | FAN4 | Fan  | 1100.00    | RPM   | 'OK'
875 | FANA | Fan  | 500.00     | RPM   | 'OK'

Looking at the manual your board is a bit different since only the F model has IPMI. May be the reason the IPMI names don't conform to other X11 boards fan names. Also we need to be sure what commands your board actually supports. For mine there 2 zones as @planetix said. Zone 0 is for system/cpu and includes FAN1-4.  Zone 1 is for peripherals and includes only FANA. Here's the commands

#############################################
# Supermicro X10/X11
# ipmi-raw 00 30 70 66 01 00 64
# ipmi-raw 00 30 70 66 AA BB CC
#
# AA
# 00 - Get value
# 01 - Set value
#
# BB
# 00 - FAN 1/2/3/4
# 01 - FAN A
#
# CC
# 00 to 64 - Set Speed (0-64)
#############################################

So you'll need to run

ipmi-raw 00 30 45 01 01 #  set fans to full then wait a few seconds then run

ipmisensors -t fan # get a basline of the fans on full

ipmi-raw 00 30 70 66 01 00 32 # set zone 0 to half wait a few seconds

ipmisensors -t fan # see what fans are at half speed then

ipmi-raw 00 30 70 66 01 00 64 # set zone 0 back to full

ipmi-raw 00 30 70 66 01 01 32  # set zone 1 to half then run wait a few seconds

ipmisensors -t fan # see what fans are at half speed

ipmi-raw 00 30 70 66 01 01 64 # set  zone 1 back to full

ipmi-raw 00 30 45 01 02 # set fans back to optimal or you can change them back from the supermicro ipmi page

 

Let me know what you find out

Edited by dmacias
Link to comment
6 minutes ago, dmacias said:

Let me know what you find out

Ugh, had some cut-n-paste issues with the hex values, so ended up having to type them all out.  Here you go, looks like it works as expected...though I can't confirm CPU_FAN2 will bundle with CPU_FAN1, but it seems to be likely.

 

root@Tower:~# ipmi-raw 00 30 45 01 01
rcvd: 45 00
root@Tower:~# ipmisensors -t fan
ID   | Name     | Type | Reading    | Units | Event
808  | CPU_FAN1 | Fan  | 1500.00    | RPM   | 'OK'
875  | CPU_FAN2 | Fan  | N/A        | RPM   | N/A
942  | SYS_FAN1 | Fan  | 1800.00    | RPM   | 'OK'
1009 | SYS_FAN2 | Fan  | 2200.00    | RPM   | 'OK'
1076 | SYS_FAN3 | Fan  | 2400.00    | RPM   | 'OK'
root@Tower:~# ipmi-raw 00 30 70 66 01 00 32
rcvd: 70 00
root@Tower:~# ipmisensors -t fan
ID   | Name     | Type | Reading    | Units | Event
808  | CPU_FAN1 | Fan  | 800.00     | RPM   | 'OK'
875  | CPU_FAN2 | Fan  | N/A        | RPM   | N/A
942  | SYS_FAN1 | Fan  | 1800.00    | RPM   | 'OK'
1009 | SYS_FAN2 | Fan  | 2200.00    | RPM   | 'OK'
1076 | SYS_FAN3 | Fan  | 2400.00    | RPM   | 'OK'
root@Tower:~# ipmi-raw 00 30 70 66 01 00 64
rcvd: 70 00
root@Tower:~# ipmi-raw 00 30 70 66 01 01 32
rcvd: 70 00
root@Tower:~# ipmisensors -t fan
ID   | Name     | Type | Reading    | Units | Event
808  | CPU_FAN1 | Fan  | 1500.00    | RPM   | 'OK'
875  | CPU_FAN2 | Fan  | N/A        | RPM   | N/A
942  | SYS_FAN1 | Fan  | 1000.00    | RPM   | 'OK'
1009 | SYS_FAN2 | Fan  | 1100.00    | RPM   | 'OK'
1076 | SYS_FAN3 | Fan  | 1200.00    | RPM   | 'OK'
root@Tower:~# ipmi-raw 00 30 70 66 01 01 64
rcvd: 70 00
root@Tower:~# ipmi-raw 00 30 45 01 02
rcvd: 45 CC

 

 

Link to comment
Ugh, had some cut-n-paste issues with the hex values, so ended up having to type them all out.  Here you go, looks like it works as expected...though I can't confirm CPU_FAN2 will bundle with CPU_FAN1, but it seems to be likely.
 
root@Tower:~# ipmi-raw 00 30 45 01 01rcvd: 45 00root@Tower:~# ipmisensors -t fanID   | Name     | Type | Reading    | Units | Event808  | CPU_FAN1 | Fan  | 1500.00    | RPM   | 'OK'875  | CPU_FAN2 | Fan  | N/A        | RPM   | N/A942  | SYS_FAN1 | Fan  | 1800.00    | RPM   | 'OK'1009 | SYS_FAN2 | Fan  | 2200.00    | RPM   | 'OK'1076 | SYS_FAN3 | Fan  | 2400.00    | RPM   | 'OK'root@Tower:~# ipmi-raw 00 30 70 66 01 00 32rcvd: 70 00root@Tower:~# ipmisensors -t fanID   | Name     | Type | Reading    | Units | Event808  | CPU_FAN1 | Fan  | 800.00     | RPM   | 'OK'875  | CPU_FAN2 | Fan  | N/A        | RPM   | N/A942  | SYS_FAN1 | Fan  | 1800.00    | RPM   | 'OK'1009 | SYS_FAN2 | Fan  | 2200.00    | RPM   | 'OK'1076 | SYS_FAN3 | Fan  | 2400.00    | RPM   | 'OK'root@Tower:~# ipmi-raw 00 30 70 66 01 00 64rcvd: 70 00root@Tower:~# ipmi-raw 00 30 70 66 01 01 32rcvd: 70 00root@Tower:~# ipmisensors -t fanID   | Name     | Type | Reading    | Units | Event808  | CPU_FAN1 | Fan  | 1500.00    | RPM   | 'OK'875  | CPU_FAN2 | Fan  | N/A        | RPM   | N/A942  | SYS_FAN1 | Fan  | 1000.00    | RPM   | 'OK'1009 | SYS_FAN2 | Fan  | 1100.00    | RPM   | 'OK'1076 | SYS_FAN3 | Fan  | 1200.00    | RPM   | 'OK'root@Tower:~# ipmi-raw 00 30 70 66 01 01 64rcvd: 70 00root@Tower:~# ipmi-raw 00 30 45 01 02rcvd: 45 CC

 
 



Ugh, had some cut-n-paste issues with the hex values, so ended up having to type them all out.  Here you go, looks like it works as expected...though I can't confirm CPU_FAN2 will bundle with CPU_FAN1, but it seems to be likely.
 
root@Tower:~# ipmi-raw 00 30 45 01 01rcvd: 45 00root@Tower:~# ipmisensors -t fanID   | Name     | Type | Reading    | Units | Event808  | CPU_FAN1 | Fan  | 1500.00    | RPM   | 'OK'875  | CPU_FAN2 | Fan  | N/A        | RPM   | N/A942  | SYS_FAN1 | Fan  | 1800.00    | RPM   | 'OK'1009 | SYS_FAN2 | Fan  | 2200.00    | RPM   | 'OK'1076 | SYS_FAN3 | Fan  | 2400.00    | RPM   | 'OK'root@Tower:~# ipmi-raw 00 30 70 66 01 00 32rcvd: 70 00root@Tower:~# ipmisensors -t fanID   | Name     | Type | Reading    | Units | Event808  | CPU_FAN1 | Fan  | 800.00     | RPM   | 'OK'875  | CPU_FAN2 | Fan  | N/A        | RPM   | N/A942  | SYS_FAN1 | Fan  | 1800.00    | RPM   | 'OK'1009 | SYS_FAN2 | Fan  | 2200.00    | RPM   | 'OK'1076 | SYS_FAN3 | Fan  | 2400.00    | RPM   | 'OK'root@Tower:~# ipmi-raw 00 30 70 66 01 00 64rcvd: 70 00root@Tower:~# ipmi-raw 00 30 70 66 01 01 32rcvd: 70 00root@Tower:~# ipmisensors -t fanID   | Name     | Type | Reading    | Units | Event808  | CPU_FAN1 | Fan  | 1500.00    | RPM   | 'OK'875  | CPU_FAN2 | Fan  | N/A        | RPM   | N/A942  | SYS_FAN1 | Fan  | 1000.00    | RPM   | 'OK'1009 | SYS_FAN2 | Fan  | 1100.00    | RPM   | 'OK'1076 | SYS_FAN3 | Fan  | 1200.00    | RPM   | 'OK'root@Tower:~# ipmi-raw 00 30 70 66 01 01 64rcvd: 70 00root@Tower:~# ipmi-raw 00 30 45 01 02rcvd: 45 CC

 
 



Yeah sorry, I should have quoted those in code. Since everything is tied to FANA or not FANA I'll see if I can add a check for SYS_FAN* also
Link to comment
3 minutes ago, dmacias said:

Yeah sorry, I should have quoted those in code. Since everything is tied to FANA or not FANA I'll see if I can add a check for SYS_FAN* also

 

 

 

That would be great, I can use the CPU temp/fans for the system side and the disk temps for the drive side....should be perfect if it is possible in the code :).

 

Thanks for looking into this!

Link to comment
On 12/22/2018 at 9:45 AM, Tybio said:

That would be great, I can use the CPU temp/fans for the system side and the disk temps for the drive side....should be perfect if it is possible in the code :).

 

Thanks for looking into this!

I updated the plugin to support your boards fan names.  Give it a try and let me know.

 

edit:  The fan control settings page displays CPU_FAN and SYS_FAN but the fan control log will still show FAN1234 for CPU_FAN and FANA for SYS_FAN.

Edited by dmacias
Link to comment
12 hours ago, dmacias said:

I updated the plugin to support your boards fan names.  Give it a try and let me know.

 

edit:  The fan control settings page displays CPU_FAN and SYS_FAN but the fan control log will still show FAN1234 for CPU_FAN and FANA for SYS_FAN.

I just updated, looks good!  I'll open the system and re-position the fans today or tomorrow and turn on control to test.

 

Thanks for the quick update!

Link to comment

Ok, I re-wored my fan headers this morning, the system side fans are all in the "CPU" ports, and the drive side is in a "SYS" header.

 

The result is all fans on full, it sounds like they are spinning down a bit when the timer hits for the IPMI plugin, but then they spool back up to full.  Is there a special switch I need to dig out to stop the MB from resetting them to 100%?

 

2019-01-02 06:10:05 Starting Fan Control
2019-01-02 06:10:05 Setting fans to full speed
2019-01-02 06:10:15 Fan:Temp, FAN1234(40%):HDD Temp(28°C), FANA(40%):HDD Temp(28°C)
2019-01-02 06:11:26 fan control config file updated, reloading settings
2019-01-02 06:11:26 Fan:Temp, FAN1234(43%):CPU Temp(30°C), FANA(40%):HDD Temp(28°C)
2019-01-02 06:11:46 fan control config file updated, reloading settings
2019-01-02 06:11:46 Fan:Temp, FAN1234(46%):CPU Temp(33°C), FANA(48%):HDD Temp(28°C)
2019-01-02 06:12:46 Fan:Temp, FAN1234(47%):CPU Temp(34°C), FANA(48%):HDD Temp(28°C)
2019-01-02 06:13:06 fan control config file updated, reloading settings
2019-01-02 06:13:56 fan control config file updated, reloading settings
2019-01-02 06:13:56 Fan:Temp, FAN1234(61%):CPU Temp(33°C), FANA(48%):HDD Temp(28°C)
2019-01-02 06:14:16 Fan:Temp, FAN1234(59%):CPU Temp(31°C), FANA(48%):HDD Temp(28°C)
2019-01-02 06:15:57 Fan:Temp, FAN1234(60%):CPU Temp(32°C), FANA(48%):HDD Temp(28°C)
2019-01-02 06:16:17 Fan:Temp, FAN1234(60%):CPU Temp(32°C), FANA(45%):HDD Temp(27°C)
2019-01-02 06:16:47 Fan:Temp, FAN1234(59%):CPU Temp(31°C), FANA(45%):HDD Temp(27°C)
2019-01-02 06:17:27 Fan:Temp, FAN1234(62%):CPU Temp(34°C), FANA(45%):HDD Temp(27°C)
2019-01-02 06:17:37 Fan:Temp, FAN1234(59%):CPU Temp(31°C), FANA(45%):HDD Temp(27°C)

1138983883_ScreenShot2019-01-02at9_18_22AM.thumb.png.40c3dc74a6325312addfdda4a5e4d666.png

Edited by Tybio
Link to comment

As a note, I set both the minimum PWM to 50%...as far as I know that should be fine for the FANs in my case....it was able to go lower with CPU control, so I don't think I'm hitting the erred state...it just feels like the IPMI full speed setting is being re-applied or something.

 

1425149398_ScreenShot2019-01-02at9_25_12AM.thumb.png.45792b1a35fc2b15ec17c2ccc4032a8d.png

Link to comment
Odd, I did a full reset...meaning not just a reboot but powering down the system and unplugging it to force the BMC to reset and it seems to work now!  Sorry for the false alarm....testing to make sure each side responds properly ATM.
You need to set the lower thresholds for the fans with the sensor editor. The bmc will keep kicking them up to full speed. Set them to 200 or 300 rpms
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.