[PLUGIN] IPMI for 6.11+


Recommended Posts

  • 3 weeks later...

Hey Simon, i appreciate your work on this tool, i love that it works out of the box on both my motherboard and SAS enclosure

 

is there any chance you plan on supporting a second IPMI connection any time in the future? i have a Supermicro H11-SSL EPYC system with my storage in a supermicro CSE-847 SAS enclosure that also supports IPMI and i would love the option of having monitoring for both on the dashboard.

Link to comment

I have been asking about this plugin not working with my board, the ASRockRack X470D4U, in this thread before.

After putting it aside for a while I started to look into the issue again. This is what I found:

 

It worked with the original bios, but stopped after I updated to the latest. This pointed towards the ipmi-raw commands having changed.

The now working command to change fan speeds is: 00 3a d6, not 00 3a 01

This command also expects 16 fan speed values now, not 8, or it will fail.

The highest value is still 64, but the command seems to fail for me if less than 14 is specified.

 

This is a working json config for me, however fan speed minimum cannot be lower than ~25% or the value this tool generates will drop below 14 and fail.

 

This is with 6 fans connected. If your number is different, you may have to adjust this: 

{
    "ASRockRack": {
        "raw": "00 3a d6",
        "auto": "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00",
        "full": "64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64",
        "fans": {
            "FAN1": "01",
            "FAN2": "01",
            "FAN3": "01",
            "FAN4": "01",
            "FAN5": "01",
            "FAN6": "01",
            "FAN_POS7": "01",
            "FAN_POS8": "01",
            "FAN_POS9": "01",
            "FAN_POS10": "01",
            "FAN_POS11": "01",
            "FAN_POS12": "01",
            "FAN_POS13": "01",
            "FAN_POS14": "01",
            "FAN_POS15": "01",
            "FAN_POS16": "01"
        }
    }
}

 

Additionally, I had to make a small change in the code of the ipmifan command itself. This is necessary since the ipmifan tool tries to set a fan speed of 0 for any non-connected fan. But, since the Asrock IPMI won't allow fan speeds below 20% the command will therefore fail.

 

So to fix this you have to SSH into your unraid server, and edit this file:

nano /usr/sbin/ipmifan

 

Then in line #482 change this:

          }else{
                $pwm ='0';
          }

 

to this:

          }else{
               $pwm ='64';
          }

 

Save the changes (if you used nano, Ctrl+O and then Ctrl+X) and restart the IPMI Fan Control via the Web Interface.

Link to comment

This plugin works great for me, but I have noticed one strange issue regarding Fan Control.  Specifically, I cannot control one of my fan headers from Fan Control.  Fan Controls lists:  FAN12345 and FANA.  However, FANB is missing.  

 

I can see sensor data for FANB just fine, but it cannot be controlled via Fan Control in the plugin.  How can I fix this?

 

The motherboard is a Supermicro H12SSL-NT.  

 

 

galactica-diagnostics-20240402-1951.zip

Link to comment

Hi, new user here.  I have a Supermicro X13SAE-F so installed this plugging primarily for fan control.  It does indeed control the fans via IPMI which is great so thank you!

 

However I've noticed an odd behaviour which my attempts to correct have so far failed.

 

Basically the plugin is detecting that my CPU Fan RPM is hitting the low threshold and shifting the entire system fan profile to full untill the next polling interval where the CPU Fan RPM is reporting normal.  It then oscilates between these 2 states untill my BMC has enough and falls over needing a reset.

 

image.thumb.png.c1b3c91a57470d4d768265d69136c15a.png

 

The CPU fan is a Noctua NH-L9i-17xx, I dont believe it is dropping down to or below 420 RPM but suspect that because its an atypical fan for this board its being misreported, all my observations are that the fan sits consistently at 700 RPM.  I've no issues with temps at all on the CPU or PCH.

 

I tried reducing the low critical threshold below 420 but I get an error on the values I enter.  I suspect the value I need to enter should be a derivative of a formulae or condition but I'm not finding this detail/understanding.  Would appreicate any steerage here?

 

Thanks.

Link to comment

Thanks, I think I have just found the error in configuration.  My IPMI wouldn't accept 300 or 150 but it would accept 140 for the lower critical threshold.  Once I set that and re-enabled fan control in the pluging my BMC started to complain the CPU fan was inoperable even though it was reporting RPM above this new lower threshold.  However the CPU Fan RPM had dropped below 700, so I then realised the 'Fan Speed Minimum %' parameter was down at 1.5% which my BMC has issue with regardless of the detected RPM.  So nudging this % up so the fan idles around 500 RPM seems to get the BMC happy again.

Link to comment
On 4/17/2024 at 5:01 AM, Silentlightning said:

Hey Simon, i appreciate your work on this tool, i love that it works out of the box on both my motherboard and SAS enclosure

 

is there any chance you plan on supporting a second IPMI connection any time in the future? i have a Supermicro H11-SSL EPYC system with my storage in a supermicro CSE-847 SAS enclosure that also supports IPMI and i would love the option of having monitoring for both on the dashboard.

Was not looking to provide a second source as no one has requested before. But I will look to see if easy to implement. Would it just be the sensors?

Link to comment

Hi, I'm trying interpret the /var/log/ipmifan to better train my fans vs. temps and have come up with a couple of questions I'd appreicate a steer with.

 

Physically my server has 4 system fans fed from 2 SYS_FAN headers and a single CPU+Fan. 

  • The below all suggests everything is as it should be and correctly mapped although where are the HDD Temps being sourced from (device id 99 in the cfg file)?
  • FAN1234 being mapped as my CPU fan is a little unintuitive for me, whilst its certainly something I can live with I was wondering whether a simple edit of the fan.cfg is supported/recommend to alter this?

Thanks

 

# tail /var/log/ipmifan
2024-04-23 11:14:13 Fan:Temp, FAN1234(25%):CPU Temp(40C), FANA(16%):HDD Temp(36C)
2024-04-23 11:14:43 Fan:Temp, FAN1234(16%):CPU Temp(35C), FANA(16%):HDD Temp(36C)
2024-04-23 11:15:14 Fan:Temp, FAN1234(19%):CPU Temp(37C), FANA(16%):HDD Temp(36C)

 

# cat /boot/config/plugins/ipmi/fan.cfg
FANCONTROL="enable"
FANPOLL="3"
FANIP=""
HDDPOLL="6"
HDDIGNORE="ST4000VN000-1H4168_S300LXWX"
HARDDRIVES="enable"
FAN_FAN1234="674"
TEMP_FAN1234="4"
FAN_FANA="808"
TEMP_FANA="99"
TEMPHI_FANA="50"
TEMPLO_FANA="45"
FANMAX_FANA="64"
FANMIN_FANA="10"
TEMPHDD_FANA="0"
TEMPHI_FAN1234="80"
TEMPLO_FAN1234="35"
FANMAX_FAN1234="64"
FANMIN_FAN1234="10"

 

# ipmi-sensors
ID   | Name            | Type              | Reading    | Units | Event
4    | CPU Temp        | Temperature       | 36.00      | C     | 'OK'
71   | PCH Temp        | Temperature       | 59.00      | C     | 'OK'
138  | System Temp     | Temperature       | 32.00      | C     | 'OK'
205  | Peripheral Temp | Temperature       | 33.00      | C     | 'OK'
272  | VRMVCORE Temp   | Temperature       | 33.00      | C     | 'OK'
339  | VRMIN_AUX Temp  | Temperature       | 33.00      | C     | 'OK'
406  | M2_SSD1 Temp    | Temperature       | N/A        | C     | N/A
473  | M2_SSD2 Temp    | Temperature       | N/A        | C     | N/A
540  | M2_SSD3 Temp    | Temperature       | N/A        | C     | N/A
607  | DIMMAB Temp     | Temperature       | 34.00      | C     | 'OK'
674  | CPU_FAN1        | Fan               | 560.00     | RPM   | 'OK'
741  | CPU_FAN2        | Fan               | N/A        | RPM   | N/A
808  | SYS_FAN1        | Fan               | 840.00     | RPM   | 'OK'
875  | SYS_FAN2        | Fan               | 840.00     | RPM   | 'OK'
942  | SYS_FAN3        | Fan               | N/A        | RPM   | N/A
1009 | MB 12V          | Voltage           | 12.13      | V     | 'OK'
1076 | MB 5VCC         | Voltage           | 5.00       | V     | 'OK'
1143 | MB 3.3VCC       | Voltage           | 3.29       | V     | 'OK'
1210 | VBAT            | Battery           | N/A        | N/A   | 'battery presence detected'
1277 | MB 5V_AUX       | Voltage           | 4.94       | V     | 'OK'
1344 | MB 3.3V_AUX     | Voltage           | 3.31       | V     | 'OK'
1411 | PCH 1.8V        | Voltage           | 1.80       | V     | 'OK'
1478 | PCH PVNN        | Voltage           | 0.83       | V     | 'OK'
1545 | PCH 1.05V       | Voltage           | 1.05       | V     | 'OK'
1612 | BMC 2.5V        | Voltage           | 2.56       | V     | 'OK'
1679 | BMC 1.8V        | Voltage           | 1.81       | V     | 'OK'
1746 | BMC 1.2V        | Voltage           | 1.20       | V     | 'OK'
1813 | BMC 1.0V        | Voltage           | 1.02       | V     | 'OK'
1880 | VDimmAB         | Voltage           | 1.11       | V     | 'OK'
1947 | CPU 1.8V_AUX    | Voltage           | 1.80       | V     | 'OK'
2014 | CPU 1.05V       | Voltage           | 1.05       | V     | 'OK'
2081 | Chassis Intru   | Physical Security | N/A        | N/A   | 'OK'

image.thumb.png.a4992379a356a111fd1e5228d516097c.png

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.