[Plugin] IPMI for unRAID 6.1+


Recommended Posts

Hey, I'm running 6.3.5 installed your plugin from the app mart.  Not seeing it listed on my plugins page.  Nor when I go to Settings/IPMI is anything loading.  Help!
 
Doesn't sound like it was installed correctly. You could try installing manually by putting the url from the first post into the Plugins/Install Plugin page.
Link to comment

I might have corrupted some files freeipmi files while trying to troubleshoot. ipmi plugin was working correctly until I upgraded my cpu fan. When I restarted ipmi wouldn't pull up any sensors. ipmi-sensors command did, but while removing and reinstalling the plugin, removing from the plugin folder I am no longer able to access ipmi-sensors, I am getting Caching SDR repository information: /root/.freeipmi/sdr-cache/sdr-cache-Tower.localhost, but even if I flush, or delete the file, it's not recreating itself, --sdr-cache-recreate doesn't work either. I tried rebooting, unplugging. I was on 6.4.0, and updated to 6.4.1, with no change, and I'm running newest firmware on my x10-sl7 board. Is it possible to salvage this, or should I create a new usb boot drive?

Thanks

 

Link to comment



I might have corrupted some files freeipmi files while trying to troubleshoot. ipmi plugin was working correctly until I upgraded my cpu fan. When I restarted ipmi wouldn't pull up any sensors. ipmi-sensors command did, but while removing and reinstalling the plugin, removing from the plugin folder I am no longer able to access ipmi-sensors, I am getting Caching SDR repository information: /root/.freeipmi/sdr-cache/sdr-cache-Tower.localhost, but even if I flush, or delete the file, it's not recreating itself, --sdr-cache-recreate doesn't work either. I tried rebooting, unplugging. I was on 6.4.0, and updated to 6.4.1, with no change, and I'm running newest firmware on my x10-sl7 board. Is it possible to salvage this, or should I create a new usb boot drive?
Thanks
 


First I would check that sensors still work from the Supermicro web page. Remove the plugin. Then delete the whole /root/.freeipmi directory. Rename or delete the /boot/config/plugins/ipmi directory. Then reboot. Check the log for any ipmi errors. Reinstall the plugin. Also you could try connecting to ipmi through network settings if you can't get local working again.
Link to comment

As I was waiting for response, I tried updating BIOS which failed, and while looking through its menu I found IPMI was missing revision info, and the network config. I cleared the cmos, and the revision and config came up. I had done your instructions before shutting down, so as soon as I installed ipmi plugin everything came back up. It's not that important that it works for me, but it has been bugging me for a while. Thanks

Link to comment
As I was waiting for response, I tried updating BIOS which failed, and while looking through its menu I found IPMI was missing revision info, and the network config. I cleared the cmos, and the revision and config came up. I had done your instructions before shutting down, so as soon as I installed ipmi plugin everything came back up. It's not that important that it works for me, but it has been bugging me for a while. Thanks
I forgot there is a button to reset the bmc on the settings page. It hard resets the ipmi. But unless you connected via network settings it wouldn't work since something locally was messed up between bios and bmc. At least you got it sorted out.
Link to comment
  • 2 weeks later...

So, I am at my wits end here :-(

 

Trying to get this plugin working on 6.4.1 with 4x Noctua PWM case fans (2x 1200RPM and 2x 1500RPM) + 1x Noctua PWM CPU cooler (max 2200RPM) on a SuperMicro X11SSM with support for PWM.

 

I set the SuperMicro fan control at "Standard" in BMC and install the plugin. Configure case fans to react to HDD temp and CPU cooler to react to CPU temp.

 

Configure fan control for case fans to min/max temp of 30/40 on HDD and fan speed to 40%/100%

Configure fan control for CPU fan to min/max temp of 30/60 on CPU and fan speed to 40%/100%

 

If I leave it like this, the fans pulse up and down endlessly, throwing hundreds and hundreds of warnings in the event log. I then tried adjusting the lower thresholds as advised earlier in the thread to 300/300/300, the idea being that if the plugin is set for lowest fan speed above this, it will never trigger bios to try and adjust (causing the pulsing) and everything is good.

 

Unfortunately, what happens is that all fans immediately go to full blast. This change seems irreversible, at least through "conventional" ways. Tried disabling plugin, adjusting lower thresholds back to default, uninstalling the plugin, cycling through the modes in the SM IPMI interface. The only thing that reverts it is resetting BMC to factory default.

 

Any advice on what to do would be much appreciated.

 

Thanks in advance!

Edited by t33j4y
Clarified a few points and corrected some typos.
Link to comment



So, I am at my wits end here :-(
 
Trying to get this plugin working on 6.4.1 with 4x Noctua PWM case fans (2x 1200RPM and 2x 1500RPM) + 1x Noctua PWM CPU cooler (max 2200RPM) on a SuperMicro X11SSM with support for PWM.
 
I set the SuperMicro fan control at "Standard" in BMC and install the plugin. Configure case fans to react to HDD temp and CPU cooler to react to CPU temp.
 
Configure fan control for case fans to min/max temp of 30/40 on HDD and fan speed to 40%/100%
Configure fan control for CPU fan to min/max temp of 30/60 on CPU and fan speed to 40%/100%
 
If I leave it like this, the fans pulse up and down endlessly, throwing hundreds and hundreds of warnings in the event log. I then tried adjusting the lower thresholds as advised earlier in the thread to 300/300/300, the idea being that if the plugin is set for lowest fan speed above this, it will never trigger bios to try and adjust (causing the pulsing) and everything is good.
 
Unfortunately, what happens is that all fans immediately go to full blast. This change seems irreversible, at least through "conventional" ways. Tried disabling plugin, adjusting lower thresholds back to default, uninstalling the plugin, cycling through the modes in the SM IPMI interface. The only thing that reverts it is resetting BMC to factory default.
 
Any advice on what to do would be much appreciated.
 
Thanks in advance!


Try setting fan mode to Full Speed so the fans aren't controlled by the bmc at all. The pulsing along with the event logs is definitely a threshold problem. What exactly is the message from the event log? For my hard drives I have 2 Noctuas connected with their splitter set to 200/200/200 for FANA and fancontrol set 25/45@28%/100%. If it gets stuck again try using the Reset BMC button on the first page of settings. Maybe look back through the thread for X11 specific issue. I seem to remember some others having issues but don't remember if they solved them. Also you can try running the ipmi fan commands manually on FANA or FAN1234 and see if they stay or pulse. I can give you the ipmi raw commands.
Link to comment

You asked about the error messages - here's an example:

 

image.thumb.png.778ddff5e1965f0a7fdf69b6d44487e7.png

 

So, some progress now. Setting to Full Speed seems to have helped - pulsing is gone and the plugin seems to have regained control over rpm.

 

I have edited the three Lower Critical values for the case fans to be at 300/300/300 and the cpu fan at 500/500/500.

 

Case fan thresholds for temp are 35/40 and for rpm 40/100

CPU fan thresholds for temp are 40/60 and for rpm 31/100

 

I'm gonna fiddle around with it now to find final and sensible settings :-)

 

Thank you so much for putting me back on track!

 

 

Edit: Spoke to soon :-( After changing the RPM settings, it is now back to full blast... Did the following to recover:

 

1. Uninstalled IPMI plugin

2. Removed IPMI folder in /config/plugins/

3. Shutdown server

4. Reset BMC to factory (from within BMC)

5. Changed fan speed to Full Speed

6. Started unRaid

7. Installed IPMI plugin

8. Changed Lower Critical Values: case fans to be at 300/300/300 and the cpu fan at 500/500/500 and set settings to reload on unRaid start

9. Set IPMI plugin to

- Case fan thresholds for temp are 35/40 and for rpm 40/100

- CPU fan thresholds for temp are 40/60 and for rpm 31/100

10. Enabled Fan Control

 

Still, full blast :-/  I should have just kept my fingers off of it, instead of trying to adjust more.

 

11. Repeat the above, plus full power down and mains lead removed.

 

And now, it worked. But only for 2 mins after which it stepped RPM up to full again on fans 1-4. Even if the temp thresholds weren't reached :-( CPU fan is at 1000 which does not correspond to the threshold temp of 40 as it is at 35.

 

image.png.5ffcb4987581019edd203a4567b5c013.png

 

 

 

 

Edited by t33j4y
Link to comment
On 25/11/2017 at 4:52 AM, dmacias said:
On 25/11/2017 at 3:45 AM, cyriouslydylan said:

So I'm rocking a SuperMicro X11 board, and it's trying to control my fans, but they will momentarily drop down and then go right to full-speed. Is there a way I can go about removing every single IPMI config thing I've done and start fresh? Using the cold reset button, reinstalling the application, and changing the fan modes in the official IPMI aren't helping me.

You may have to factory reset the bmc. Also remove the .config files from the ipmi plugin directory on the flash drive. And make sure that the load config toggle switch is off on the sensor editor.

 

Found this and toggled the switch to "OFF", after restarting the server. So far it seems to be holding the config without going full blast. Can see on the Readings tab that RPM is actually adjusting. *fingers crossed*

 

Still wondering why the CPU fan - a Noctua NH-L9x65 rated at RPM 600 - 2500 ± 10% seems to never go under 1000RPM, even though the fan speed minimum is 31. So compensating for the ± 10%, 31% gives a range of 775-852 for lowest RPM, as long as temp is below 40 degrees. But even when temp is below 40 degrees, it still hovers at around 1000.

Edited by t33j4y
Link to comment



 
Found this and toggled the switch to "OFF", after restarting the server. So far it seems to be holding the config without going full blast. Can see on the Readings tab that RPM is actually adjusting. *fingers crossed*
 
Still wondering why the CPU fan - a Noctua NH-L9x65 rated at RPM 600 - 2500 ± 10% seems to never go under 1000RPM, even though the fan speed minimum is 31. So compensating for the ± 10%, 31% gives a range of 775-852 for lowest RPM, as long as temp is below 40 degrees. But even when temp is below 40 degrees, it still hovers at around 1000.


The ± 10% is for max speed with low nose adapter. PWM is ± 20% min speed. There's also rounding since the fan speed % is based on 1-64. So for instance 31% & 32% would be the same value of 20. Then there's also some rounding in the actual calculation because of temp reading fluctuations. A rough example, temp readings can flip back and forth from 39° to 40° if you run ipmi-sensors every sec. So I implemented some rounding so it might not send a command till it differs ± 2°. This is so it's not constantly sending ipmi commands for virtually no change.
Link to comment
On 2/28/2018 at 7:13 PM, t33j4y said:

So, I am at my wits end here :-(

 

Trying to get this plugin working on 6.4.1 with 4x Noctua PWM case fans (2x 1200RPM and 2x 1500RPM) + 1x Noctua PWM CPU cooler (max 2200RPM) on a SuperMicro X11SSM with support for PWM.

 

I set the SuperMicro fan control at "Standard" in BMC and install the plugin. Configure case fans to react to HDD temp and CPU cooler to react to CPU temp.

 

Configure fan control for case fans to min/max temp of 30/40 on HDD and fan speed to 40%/100%

Configure fan control for CPU fan to min/max temp of 30/60 on CPU and fan speed to 40%/100%

 

If I leave it like this, the fans pulse up and down endlessly, throwing hundreds and hundreds of warnings in the event log. I then tried adjusting the lower thresholds as advised earlier in the thread to 300/300/300, the idea being that if the plugin is set for lowest fan speed above this, it will never trigger bios to try and adjust (causing the pulsing) and everything is good.

 

Unfortunately, what happens is that all fans immediately go to full blast. This change seems irreversible, at least through "conventional" ways. Tried disabling plugin, adjusting lower thresholds back to default, uninstalling the plugin, cycling through the modes in the SM IPMI interface. The only thing that reverts it is resetting BMC to factory default.

 

Any advice on what to do would be much appreciated.

 

Thanks in advance!

Have you set the lower thresholds for your fans.

See this post.

 https://forums.freenas.org/index.php?resources/how-to-change-ipmi-sensor-thresholds-using-ipmiutil.34/

Link to comment
  • 5 weeks later...

I've tried to edit the ipmi config to not use DHCP

 

Section Lan_Conf
    ## Possible values: Unspecified/Static/Use_DHCP/Use_BIOS/Use_Others
    IP_Address_Source                             Use_DHCP

 

but it keeps reverting and grabbing an IP on my network, how can I stop this?

Link to comment
On 10/9/2017 at 8:29 PM, dmacias said:

In the 2017.10.09  update I added Asrock dual socket (EP2C602) support to the ipmi2json script (Configure Button). You need to stop any ipmi fan scripts.  If you click on Configure on the Fan Settings page or run ipmi2json from the command line it will detect all available fans by setting them all to full speed then setting each point in the ipmi-raw command to 1/3. Then create a board.json in /boot/config/plugins/ipmi on the flash drive. Should look something like this but with actual fan names.


{
    "ASRock": {
        "raw": "00 3a 01",
        "auto": "00 00 00 00 00 00",
        "full": "01 64 64 64 64 64",
        "fans": {
            "FAN_POS1": "00",
            "FAN_POS2": "00",
            "FAN_POS3": "00",
            "FAN_POS4": "00",
            "FAN_POS5": "00"
        }
    },
    "ASRock1": {
        "raw": "00 3a 11",
        "auto": "00 00 00 00 00 00",
        "full": "01 64 64 64 64 64",
        "fans": {
            "FAN_POS1": "00",
            "FAN_POS2": "00",
            "FAN_POS3": "00",
            "FAN_POS4": "00",
            "FAN_POS5": "00"
        }
    }
}

 

 

I have this board and after running 'configure', my board.json looks like this:

{
    "ASRock": {
        "raw": "00 3a 01",
        "auto": "00 00 00 00 00 00",
        "full": "01 64 64 64 64 64",
        "fans": {
            "CPU_FAN1_1": "01",
            "REAR_FAN1": "01",
            "FRNT_FAN1": "01",
            "FRNT_FAN2": "01",
            "FRNT_FAN3": "01"
        }
    },
    "ASRock1": {
        "raw": "00 3a 11",
        "auto": "00 00 00 00",
        "full": "01 64 64 64",
        "fans": {
            "FRNT_FAN2": "11"
        }
    }
}

Two of my fans are missing from the above config: CPU_FAN2_1 and REAR_FAN2. These fans do not respond in the GUI to any adjustments either, but the ones included above are fine. Any idea how I can get them all working?

Edited by aberg83
Link to comment



 
I have this board and after running 'configure', my board.json looks like this:
{   "ASRock": {       "raw": "00 3a 01",       "auto": "00 00 00 00 00 00",       "full": "01 64 64 64 64 64",       "fans": {           "CPU_FAN1_1": "01",           "REAR_FAN1": "01",           "FRNT_FAN1": "01",           "FRNT_FAN2": "01",           "FRNT_FAN3": "01"       }   },   "ASRock1": {       "raw": "00 3a 11",       "auto": "00 00 00 00",       "full": "01 64 64 64",       "fans": {           "FRNT_FAN2": "11"       }   }}

Two of my fans are missing from the above config: CPU_FAN2_1 and REAR_FAN2. These fans do not respond in the GUI to any adjustments either, but the ones included above are fine. Any idea how I can get them all working?



I assume CPU_FAN2_1 is a pwm fan. Is the other REAR_FAN2 fan pwm? Have you updated your bios and bmc to latest version of firmware. If not, update and run configure again. I'll try to look back through the thread but I think this was brought up before for this board. Don't remember the conclusion.

The fans not showing up in the board.json means the ipmi2json script was not able to control them and determine rpm changes. So until those fans are able to be controlled through ipmiraw commands there's not much that can be done.
Link to comment

Hi, I've installed this plugin on my server which has an Asrock C2750D4I mobo. For some reason, the only available sensor shown is HDD temperature, and when I try to configure fan control I get this:

Checking IPMI fan Locations...

Location 0-1: none

Location 0-2: none

Location 0-3: none

Location 0-4: none

Location 0-5: none

Location 0-6: none

Location 0-7: none

Location 0-8: none

Saving board configuration...

 

Any idea how I can fix this?

Link to comment
Hi, I've installed this plugin on my server which has an Asrock C2750D4I mobo. For some reason, the only available sensor shown is HDD temperature, and when I try to configure fan control I get this:
Checking IPMI fan Locations...Location 0-1: noneLocation 0-2: noneLocation 0-3: noneLocation 0-4: noneLocation 0-5: noneLocation 0-6: noneLocation 0-7: noneLocation 0-8: noneSaving board configuration...

 
Any idea how I can fix this?

Are you on the latest bios and bmc firmware? Are your fans 4pin pwm fans?
Link to comment
  • 4 weeks later...

Hi there,

 

I've established manual control of an X9 supermicro boards fans similar to what has been done here for the x10 / x11.

 

The X9 uses a different raw command to set the two zones and has 255 levels vs the 64 levels of the x10 / x11, beyond this its essentially the same.

I went in and abused ipmi_settings_fan.php to record my boards raw command, and then went and abused ipmifan to reference the 255 steps and the corrected zone references and on the first crack it is now trying to set the fans... however I have clearly hit something wrong as it is setting the fans to a speed lower than the minimum value.

 

The point of this is it looks quite simple to add support for the supermicro x9 (or at least for my board - X9DRi-LN4+ which reports as a X9DRi-LN4+/X9DR3-LN4+)

 

This is the change to ipmi_settings_fan. The key things to note:

  • The raw command is totally different to the X10/x11
  • The zones are numbered 10 and 11, not 0 and 1
  • There are 255 steps (not that this file references step numbers)

 

    $board_json = [ 'Supermicro' =>                                                                                                        
            [ 'raw'   => '00 30 91 5A 3',                                                                                                 
              'auto'  => '00 30 45 01',                                                                                                    
              'full'  => '00 30 45 01 01',                                                                                                 
              'fans'  => [                                                                                                                 
                'FAN1234' => '10',                                                                                                         
                'FANA' => '11'                                                                                                             
              ]

For those wanting to try on command line, here are some samples i've tested:

Set FANA.. fans to ~50% pwm: ipmitool raw 0x30 0x91 0x5A 0x3 0x11 0x80

set FAN1234... fans to ~75% pwm: ipmitool raw 0x30 0x91 0x5A 0x3 0x10 0xBF

 

There is a a few things to change ipmifan.

  • updating the values of 64 to 255 to reflect the PWM steps
  • modding the pwm calc to reference the 255 steps
  • updating the references of the zones to 10 and 11

Initial testing shows that something goes wrong in the determination of the minimal fan threshold, I suspect some other place is again assuming 64 steps in defining the minimum as setting a 60% minimum via the gui is still giving a 25% result - however - it is absolutely controlling fan speed by zone on my board so the principle is proved.

 

Would be really great to add support for this into the plugin - I suspect a lot easier knowing the end to end of it vs reverse engineering any further :) I am thinking that for supermicro it could be as simple as the gui requiring a user to select x10/11 vs x9 and having this third category supported.

 

Any interest in supporting this?

 

Link to comment
16 hours ago, gmk2 said:

Hi there,

 

I've established manual control of an X9 supermicro boards fans similar to what has been done here for the x10 / x11.

 

The X9 uses a different raw command to set the two zones and has 255 levels vs the 64 levels of the x10 / x11, beyond this its essentially the same.

I went in and abused ipmi_settings_fan.php to record my boards raw command, and then went and abused ipmifan to reference the 255 steps and the corrected zone references and on the first crack it is now trying to set the fans... however I have clearly hit something wrong as it is setting the fans to a speed lower than the minimum value.

 

The point of this is it looks quite simple to add support for the supermicro x9 (or at least for my board - X9DRi-LN4+ which reports as a X9DRi-LN4+/X9DR3-LN4+)

 

This is the change to ipmi_settings_fan. The key things to note:

  • The raw command is totally different to the X10/x11
  • The zones are numbered 10 and 11, not 0 and 1
  • There are 255 steps (not that this file references step numbers)

 


    $board_json = [ 'Supermicro' =>                                                                                                        
            [ 'raw'   => '00 30 91 5A 3',                                                                                                 
              'auto'  => '00 30 45 01',                                                                                                    
              'full'  => '00 30 45 01 01',                                                                                                 
              'fans'  => [                                                                                                                 
                'FAN1234' => '10',                                                                                                         
                'FANA' => '11'                                                                                                             
              ]

For those wanting to try on command line, here are some samples i've tested:

Set FANA.. fans to ~50% pwm: ipmitool raw 0x30 0x91 0x5A 0x3 0x11 0x80

set FAN1234... fans to ~75% pwm: ipmitool raw 0x30 0x91 0x5A 0x3 0x10 0xBF

 

There is a a few things to change ipmifan.

  • updating the values of 64 to 255 to reflect the PWM steps
  • modding the pwm calc to reference the 255 steps
  • updating the references of the zones to 10 and 11

Initial testing shows that something goes wrong in the determination of the minimal fan threshold, I suspect some other place is again assuming 64 steps in defining the minimum as setting a 60% minimum via the gui is still giving a 25% result - however - it is absolutely controlling fan speed by zone on my board so the principle is proved.

 

Would be really great to add support for this into the plugin - I suspect a lot easier knowing the end to end of it vs reverse engineering any further :) I am thinking that for supermicro it could be as simple as the gui requiring a user to select x10/11 vs x9 and having this third category supported.

 

Any interest in supporting this?

 

Thank you for this. I had no idea the X9 had this available. Would be nice if others could confirm it works for their X9 boards also. You are correct that the gui %'s are based on 64. So 100% = 64. It may be as simple as converting the resulting PWM value to hexadecimal and setting a upper limit to 255. I can determine the board model automatically. I'll see what I can do.

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.