dmacias

[Plugin] IPMI for unRAID 6.1+

Recommended Posts

On 08/10/2017 at 4:46 AM, dmacias said:
On 07/10/2017 at 3:26 PM, YouAreTheOneNeo said:
 
Ah, okay. Yes, those are the commands that work. Here is an excerpt from the script that I wrote to do the fan speed control using a cron job based on the disk temperatures of the array:
 


# IPMI Raw Command to run. For the EP2C602 there are two commands used to set various# fan speeds. These two commands are both set below. Replace with the appropriate raw# commands for your MotherBoard.IPMI_RAW_1="ipmi-raw 00 3a 01"IPMI_RAW_2="ipmi-raw 00 3a 11"# IPMI_RAW_1 Format: ipmi-raw 00 3a 01 CPU_1_OVERRIDE CPU_1 REAR_1 FRONT_1 FRONT_2 UNKNOWN## IPMI_RAW_2 Format: ipmi-raw 00 3a 11 CPU_2_OVERRIDE CPU_2 REAR_2 UNKNOWN## IMPI Fan speeds are defined as values between 00 and 64, where 00 is Auto, 01 is Min, and 64 is Max speed.
 

I have only got 4 fans in my system at the moment, so I'm not sure which fans the unknown slots control. There's also room for two more CPU fans, so I would assume there is another raw IPMI command to control those ones.
 
The board's smart fan setting lets the CPU get uncomfortably hot before rolling up the fan speed, and I find it unreliable. I also can't find a way to adjust the curve in the bios.
 
Setting the CPU override to 00 ignores whatever CPU_X setting you put in the IPMI command and leaves them on auto.
 
If you need any more info then let me know. Thanks for getting back to me so quickly.

I'll see if I can finish something to test soon.

Much obliged.

Share this post


Link to post
Share on other sites

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"
        }
    }
}

 

Share this post


Link to post
Share on other sites

The script found the first setup of fans, but not the second set

Its a start though

 


Checking IPMI fan Locations...

Location 0-1: CPU_FAN1_1 100%: 2200.00 33%: 1500.00

Location 0-2: none

Location 0-3: FRNT_FAN1 100%: 1300.00 33%: 900.00

Location 0-4: FRNT_FAN2 100%: 1400.00 33%: 1000.00

Location 0-5: FRNT_FAN3 100%: 1500.00 33%: 1000.00

Location 1-1: none

Location 1-2: none

Location 1-3: none

Location 1-4: none

Location 1-5: none

Saving board configuration...

 

Share this post


Link to post
Share on other sites
8 minutes ago, Korny said:

The script found the first setup of fans, but not the second set

Its a start though

 



Checking IPMI fan Locations...

Location 0-1: CPU_FAN1_1 100%: 2200.00 33%: 1500.00

Location 0-2: none

Location 0-3: FRNT_FAN1 100%: 1300.00 33%: 900.00

Location 0-4: FRNT_FAN2 100%: 1400.00 33%: 1000.00

Location 0-5: FRNT_FAN3 100%: 1500.00 33%: 1000.00

Location 1-1: none

Location 1-2: none

Location 1-3: none

Location 1-4: none

Location 1-5: none

Saving board configuration...

 

You do have more fans? :D If so, try running ipmi2json --debug from the command line and post the results. Remove any username or passwords if applicable.

Share this post


Link to post
Share on other sites

I have fans at CPU2, rearfan2 and frontfan4, the only one I'm missing is rearfan1

Checking IPMI fan Locations...

ipmi-raw 00 3a 01 01 64 64 64 64 64  2>&1

ipmi-raw 00 3a 01 01 21 64 64 64 64  2>&1

Location 0-1: CPU_FAN1_1 100%: 2200.00 33%: 1500.00

ipmi-raw 00 3a 01 01 64 21 64 64 64  2>&1

Location 0-2: none

ipmi-raw 00 3a 01 01 64 64 21 64 64  2>&1

Location 0-3: FRNT_FAN1 100%: 1300.00 33%: 900.00

ipmi-raw 00 3a 01 01 64 64 64 21 64  2>&1

Location 0-4: FRNT_FAN2 100%: 1400.00 33%: 900.00

ipmi-raw 00 3a 01 01 64 64 64 64 21  2>&1

Location 0-5: FRNT_FAN3 100%: 1500.00 33%: 1000.00

ipmi-raw 00 3a 01 00 00 00 00 00 00  2>&1

ipmi-raw 00 3a 11 01 64 64 64 64 64  2>&1

ipmi-raw 00 3a 11 01 21 64 64 64 64  2>&1

Location 1-1: none

ipmi-raw 00 3a 11 01 64 21 64 64 64  2>&1

Location 1-2: none

ipmi-raw 00 3a 11 01 64 64 21 64 64  2>&1

Location 1-3: none

ipmi-raw 00 3a 11 01 64 64 64 21 64  2>&1

Location 1-4: none

ipmi-raw 00 3a 11 01 64 64 64 64 21  2>&1

Location 1-5: none

ipmi-raw 00 3a 11 00 00 00 00 00 00  2>&1

Saving board configuration...

DECLARED VARIABLES:
Array
(
    [debug] => 1
    [prog] => ipmi2json
    [prog2] => ipmifan
    [lockfile] => /var/run/ipmifan.pid
    [log] => /var/log/ipmifan
    [usage] =>
Check ASRock IPMI fan locations using ipmi-raw command and
create a json array for ipmifan script.

Usage: ipmi2json [options]

  -a, --auto       set fans to auto
      --full       set fans to full speed
  -f, --force      force start
  -q, --quiet      suppress all messages
  -v, --verbose    print all messages
      --debug      turn on debugging
      --help       display this help and exit
      --version    output version information and exit


    [shortopts] => adfqv
    [longopts] => Array
        (
            [0] => auto
            [1] => debug
            [2] => force
            [3] => full
            [4] => help
            [5] => quiet
            [6] => verbose
            [7] => version
        )

    [args] => Array
        (
            [debug] =>
        )

    [arga] =>
    [argf] =>
    [force] =>
    [argq] =>
    [board] => ASRock
    [boards] => Array
        (
            [ASRock] =>
            [ASRockRack] =>
            [Supermicro] =>
        )

    [msg] => none
    [sockets] => 1
    [lun] => 00
    [netfn] => 3a
    [com] => 01
    [raw] => 00 3a 11
    [board_json] => Array
        (
            [ASRock] => Array
                (
                    [raw] => 00 3a 01
                    [auto] => 00 00 00 00 00 00
                    [full] => 01 64 64 64 64 64
                    [fans] => Array
                        (
                            [CPU_FAN1_1] => 00
                            [FAN_POS2] => 00
                            [FRNT_FAN1] => 00
                            [FRNT_FAN2] => 00
                            [FRNT_FAN3] => 00
                        )

                )

            [ASRock1] => Array
                (
                    [raw] => 00 3a 11
                    [auto] => 00 00 00 00 00 00
                    [full] => 01 64 64 64 64 64
                    [fans] => Array
                        (
                            [FAN_POS1] => 00
                            [FAN_POS2] => 00
                            [FAN_POS3] => 00
                            [FAN_POS4] => 00
                            [FAN_POS5] => 00
                        )

                )

        )

    [board_tmp] => ASRock1
    [fans_start] => 1
    [fans_count] => 5
    [auto] => 00 00 00 00 00 00
    [full] => 01 64 64 64 64 64
    [i] => 2
    [fans] => Array
        (
            [FAN_POS1] => 00
            [FAN_POS2] => 00
            [FAN_POS3] => 00
            [FAN_POS4] => 00
            [FAN_POS5] => 00
        )

    [cmd] => ipmi-raw 00 3a 11 00 00 00 00 00 00  2>&1
    [fanopts] =>
    [fans_full] => Array
        (
            [17] => Array
                (
                    [ID] => 17
                    [Name] => CPU_FAN1_1
                    [Type] => Fan
                    [Reading] => 1400.00
                    [Units] => RPM
                    [Event] => 'OK'
                )

            [18] => Array
                (
                    [ID] => 18
                    [Name] => CPU_FAN2_1
                    [Type] => Fan
                    [Reading] => 1400.00
                    [Units] => RPM
                    [Event] => 'OK'
                )

            [19] => Array
                (
                    [ID] => 19
                    [Name] => REAR_FAN1
                    [Type] => Fan
                    [Reading] => N/A
                    [Units] => RPM
                    [Event] => N/A
                )

            [20] => Array
                (
                    [ID] => 20
                    [Name] => REAR_FAN2
                    [Type] => Fan
                    [Reading] => 1800.00
                    [Units] => RPM
                    [Event] => 'OK'
                )

            [21] => Array
                (
                    [ID] => 21
                    [Name] => FRNT_FAN1
                    [Type] => Fan
                    [Reading] => 1300.00
                    [Units] => RPM
                    [Event] => 'OK'
                )

            [22] => Array
                (
                    [ID] => 22
                    [Name] => FRNT_FAN2
                    [Type] => Fan
                    [Reading] => 1400.00
                    [Units] => RPM
                    [Event] => 'OK'
                )

            [23] => Array
                (
                    [ID] => 23
                    [Name] => FRNT_FAN3
                    [Type] => Fan
                    [Reading] => 1400.00
                    [Units] => RPM
                    [Event] => 'OK'
                )

            [24] => Array
                (
                    [ID] => 24
                    [Name] => FRNT_FAN4
                    [Type] => Fan
                    [Reading] => 1200.00
                    [Units] => RPM
                    [Event] => 'OK'
                )

            [25] => Array
                (
                    [ID] => 25
                    [Name] => CPU_FAN1_2
                    [Type] => Fan
                    [Reading] => N/A
                    [Units] => RPM
                    [Event] => N/A
                )

            [26] => Array
                (
                    [ID] => 26
                    [Name] => CPU_FAN2_2
                    [Type] => Fan
                    [Reading] => N/A
                    [Units] => RPM
                    [Event] => N/A
                )

        )

    [ii] => 6
    [location] => 5
    [name] => FAN_POS5
    [hex] => 01 64 64 64 64 21
    [fan] => Array
        (
            [ID] => 26
            [Name] => CPU_FAN2_2
            [Type] => Fan
            [Reading] => N/A
            [Units] => RPM
            [Event] => N/A
        )

    [board_file] => /boot/config/plugins/ipmi/board.json
    [plg_path] => /boot/config/plugins/ipmi
    [cfg_file] => /boot/config/plugins/ipmi/ipmi.cfg
    [cfg] => Array
        (
        )

    [netsvc] => disable
    [ipaddr] =>
    [user] =>
    [password] =>
    [ignore] =>
    [dignore] =>
    [ipmi] => 1
    [netopts] =>
    [fancfg_file] => /boot/config/plugins/ipmi/fan.cfg
    [fancfg] => Array
        (
        )

    [fanctrl] => disable
    [fanpoll] => 6
    [hddpoll] => 18
    [fanip] =>
    [board_model] => EP2C602
    [board_status] => 1
    [board_file_status] => 1
)

 

Share this post


Link to post
Share on other sites

In  your script can you take off the last 2 64's

ipmi-raw does not like it with them there

$$$$@Tower:~# ipmi-raw 00 3a 11 1 21 64 64 64 64
rcvd: 11 C7
$$$#@Tower:~# ipmi-raw 00 3a 11 0 0 16 16
rcvd: 11 00

 

Share this post


Link to post
Share on other sites
1 minute ago, Korny said:

In  your script can you take off the last 2 64's

ipmi-raw does not like it with them there


$$$$@Tower:~# ipmi-raw 00 3a 11 1 21 64 64 64 64
rcvd: 11 C7
$$$#@Tower:~# ipmi-raw 00 3a 11 0 0 16 16
rcvd: 11 00

 

Ok. Thanks. I was wondering if that may be the problem. I'll update shortly.

Share this post


Link to post
Share on other sites

It does, I'm still getting fan not configured in the GUI.  Do I need to do anything to get them to show up, just the Just the 00 3a 11 ones

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

 

Edited by Korny

Share this post


Link to post
Share on other sites
1 hour ago, Korny said:

It does, I'm still getting fan not configured in the GUI.  Do I need to do anything to get them to show up?


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

 

Good. I'll have to update the GUI to deal with the multiple board arrays and then I'll have update that ipmifan script.

Edited by dmacias

Share this post


Link to post
Share on other sites

Thanks for your hard work,

Is there a way to see the debug when it says the ipmi raw settings, because I can manually turn the fans down, and fan control says its working but its only adjusting the CPU1 fan and not front fan 1-3, they are still going at max speed

2017-10-09 21:56:26 CPU_FAN1_1(48%):CPU_BSP1 Temp(39°C), FRNT_FAN1( 6%):HDD Temperature(27°C), FRNT_FAN2( 6%):HDD Temperature(27°C), FRNT_FAN3( 6%):HDD Temperature(27°C)
2017-10-09 21:58:38 CPU_FAN1_1(45%):CPU_BSP1 Temp(38°C), FRNT_FAN1( 6%):HDD Temperature(26°C), FRNT_FAN2( 6%):HDD Temperature(26°C), FRNT_FAN3( 6%):HDD Temperature(26°C)
2017-10-09 21:59:12 CPU_FAN1_1(50%):CPU_BSP1 Temp(40°C), FRNT_FAN1( 6%):HDD Temperature(26°C), FRNT_FAN2( 6%):HDD Temperature(26°C), FRNT_FAN3( 6%):HDD Temperature(26°C)

 

 

green-on.png CPU_FAN1_1 1400 RPM Fan
green-on.png CPU_FAN2_1 2200 RPM Fan
blue-on.png REAR_FAN1 N/A Fan
green-on.png REAR_FAN2 400 RPM Fan
green-on.png FRNT_FAN1 1300 RPM Fan
green-on.png FRNT_FAN2 1400 RPM Fan
green-on.png FRNT_FAN3 1500 RPM Fan
green-on.png FRNT_FAN4 500 RPM

 

 

ipmi-raw 00 3a 01 1 24 4 4 4 4
ipmi-raw 00 3a 11 1 24 4 4

green-on.png CPU_FAN1_1 1600 RPM Fan
green-on.png CPU_FAN2_1 1700 RPM Fan
blue-on.png REAR_FAN1 N/A Fan
green-on.png REAR_FAN2 300 RPM Fan
green-on.png FRNT_FAN1 600 RPM Fan
green-on.png FRNT_FAN2 500 RPM Fan
green-on.png FRNT_FAN3 500 RPM Fan
green-on.png FRNT_FAN4 400 RPM Fan
Edited by Korny

Share this post


Link to post
Share on other sites
28 minutes ago, Korny said:

Thanks for your hard work,

Is there a way to see the debug when it says the ipmi raw settings, because I can manually turn the fans down, and fan control says its working but its only adjusting the CPU1 fan and not front fan 1-3, they are still going at max speed

2017-10-09 21:56:26 CPU_FAN1_1(48%):CPU_BSP1 Temp(39°C), FRNT_FAN1( 6%):HDD Temperature(27°C), FRNT_FAN2( 6%):HDD Temperature(27°C), FRNT_FAN3( 6%):HDD Temperature(27°C)
2017-10-09 21:58:38 CPU_FAN1_1(45%):CPU_BSP1 Temp(38°C), FRNT_FAN1( 6%):HDD Temperature(26°C), FRNT_FAN2( 6%):HDD Temperature(26°C), FRNT_FAN3( 6%):HDD Temperature(26°C)
2017-10-09 21:59:12 CPU_FAN1_1(50%):CPU_BSP1 Temp(40°C), FRNT_FAN1( 6%):HDD Temperature(26°C), FRNT_FAN2( 6%):HDD Temperature(26°C), FRNT_FAN3( 6%):HDD Temperature(26°C)

 

 

green-on.png CPU_FAN1_1 1400 RPM Fan
green-on.png CPU_FAN2_1 2200 RPM Fan
blue-on.png REAR_FAN1 N/A Fan
green-on.png REAR_FAN2 400 RPM Fan
green-on.png FRNT_FAN1 1300 RPM Fan
green-on.png FRNT_FAN2 1400 RPM Fan
green-on.png FRNT_FAN3 1500 RPM Fan
green-on.png FRNT_FAN4 500 RPM

 

 

ipmi-raw 00 3a 01 1 24 4 4 4 4
ipmi-raw 00 3a 11 1 24 4 4

green-on.png CPU_FAN1_1 1600 RPM Fan
green-on.png CPU_FAN2_1 1700 RPM Fan
blue-on.png REAR_FAN1 N/A Fan
green-on.png REAR_FAN2 300 RPM Fan
green-on.png FRNT_FAN1 600 RPM Fan
green-on.png FRNT_FAN2 500 RPM Fan
green-on.png FRNT_FAN3 500 RPM Fan
green-on.png FRNT_FAN4 400 RPM Fan

It won't work until I adjust the ipmifan script to deal with the shorter raw cammands and multiple board arrays. The script is running but those percentages aren't getting set because the ipmi-raw command won't be formulated correctly.

Share this post


Link to post
Share on other sites

Indeed, many thanks for the effort you're putting into this. I updated the plugin this morning, but running ipmi2json from the command line (and the configure button) just gives me "Please stop ipmifan [19466]. Running ipmifan gives my board is not supported. I reinstalled the plugin after I  wiped out the files at /boot/config/plugins/ipmi but no dice. 

 

An issue detecting my board for some reason? Ipmifan is shown as not running in the web GUI...

 

Edit: Managed to get ipmi2json to produce a board.json file, although I'm not entirely sure how... 

 

Linux 4.9.30-unRAID.
root@UnRaid:~# ipmifan
ipmifan is not enabled in /boot/config/plugins/ipmi/fan.cfg
type: ipmifan -f to force start
root@UnRaid:~# ipmifan --debug
ipmifan is not enabled in /boot/config/plugins/ipmi/fan.cfg
type: ipmifan -f to force start
root@UnRaid:~# ipmifan --help

Process settings in ipmi plugin fan config.
Control fans based on config values and [options].

Usage: ipmifan [options]

  -a, --auto       set fans to auto
      --full       set fans to full speed
  -f, --force      force start
  -q, --quiet      suppress all messages
      --debug      turn on debugging
      --daemon     run in the background
      --help       display this help and exit
      --quit       stop daemon if running
      --version    output version information and exit


root@UnRaid:~# ipmifan --quit
9502 is not currently running
root@UnRaid:~# nano /boot/config/plugins/ipmi/fan.cfg
root@UnRaid:~# ipmifan
ipmifan[14512]: Your ASRock motherboard is not supported or setup yet

Your ASRock motherboard is not supported or setup yet
root@UnRaid:~# ipmifan --debug
ipmifan[14810]: Your ASRock motherboard is not supported or setup yet

Your ASRock motherboard is not supported or setup yet
root@UnRaid:~# ipmifan --debug
ipmifan[14972]: Your ASRock motherboard is not supported or setup yet

Your ASRock motherboard is not supported or setup yet
root@UnRaid:~# ipmifan --debug
ipmifan[15016]: Your ASRock motherboard is not supported or setup yet

Your ASRock motherboard is not supported or setup yet
root@UnRaid:~# ipmifan --debug
ipmifan[15062]: Your ASRock motherboard is not supported or setup yet

Your ASRock motherboard is not supported or setup yet
root@UnRaid:~# dmidecode -t 2 | grep 'Manufacturer' | awk -F 'r:' '{print $2}'
 ASRock
root@UnRaid:~# dmidecode -t 2 | grep 'Product Name' | awk -F 'e:' '{print $2}'
 EP2C602
root@UnRaid:~# ipmi2json

Please stop ipmifan [15062] then try again
root@UnRaid:~# ps -A | grep 15062
root@UnRaid:~# ps -A | grep ipmi
 8199 ?        00:00:32 kipmi0
root@UnRaid:~# ipmifan --quit
15062 is not currently running
root@UnRaid:~# ipmi2json

Checking IPMI fan Locations...

Location 0-1: FRNT_FAN3 100%: 2400.00 33%: 1600.00

Location 0-2: none

Location 0-3: FRNT_FAN1 100%: 2500.00 33%: 800.00

Location 0-4: FRNT_FAN2 100%: 2400.00 33%: 700.00

Location 0-5: FRNT_FAN3 100%: 2400.00 33%: 800.00

Location 1-1: CPU_FAN2_1 100%: 1400.00 33%: 500.00

Location 1-2: REAR_FAN2 100%: 2300.00 33%: 700.00

Location 1-3: none

Saving board configuration...

 

I manually modified the board.json file to reflect the board:

 

root@UnRaid:/boot/config/plugins/ipmi# cat board.json
{
    "ASRock": {
        "raw": "00 3a 01",
        "auto": "00 00 00 00 00 00",
        "full": "01 64 64 64 64 64",
        "fans": {
            "CPU_FAN1_1": "00",
            "REAR_FAN1": "00",
            "FRNT_FAN1": "00",
            "FRNT_FAN2": "00",
            "FRNT_FAN3": "00"
        }
    },
    "ASRock1": {
        "raw": "00 3a 11",
        "auto": "00 00 00 00",
        "full": "01 64 64 64",
        "fans": {
            "CPU_FAN2_1":"00",
            "REAR_FAN2": "00",
            "FRNT_FAN4": "00"
        }
    }
}root@UnRaid:/boot/config/plugins/ipmi#

I have no idea why it decided to start working in the end, everything I could see suggested that ipmifan was not running. 

Edited by YouAreTheOneNeo
updated

Share this post


Link to post
Share on other sites

For me to run configure in the GUI I had to turn fan control on, press apply, and then turn it off and press apply, and that allowed me to use the configure option.  Even though when I initially started it the gui said it was stopped.

  • Like 1

Share this post


Link to post
Share on other sites
13 hours ago, YouAreTheOneNeo said:

Indeed, many thanks for the effort you're putting into this. I updated the plugin this morning, but running ipmi2json from the command line (and the configure button) just gives me "Please stop ipmifan [19466]. Running ipmifan gives my board is not supported. I reinstalled the plugin after I  wiped out the files at /boot/config/plugins/ipmi but no dice. 

 

An issue detecting my board for some reason? Ipmifan is shown as not running in the web GUI...

 

Edit: Managed to get ipmi2json to produce a board.json file, although I'm not entirely sure how... 

 


Linux 4.9.30-unRAID.
root@UnRaid:~# ipmifan
ipmifan is not enabled in /boot/config/plugins/ipmi/fan.cfg
type: ipmifan -f to force start
root@UnRaid:~# ipmifan --debug
ipmifan is not enabled in /boot/config/plugins/ipmi/fan.cfg
type: ipmifan -f to force start
root@UnRaid:~# ipmifan --help

Process settings in ipmi plugin fan config.
Control fans based on config values and [options].

Usage: ipmifan [options]

  -a, --auto       set fans to auto
      --full       set fans to full speed
  -f, --force      force start
  -q, --quiet      suppress all messages
      --debug      turn on debugging
      --daemon     run in the background
      --help       display this help and exit
      --quit       stop daemon if running
      --version    output version information and exit


root@UnRaid:~# ipmifan --quit
9502 is not currently running
root@UnRaid:~# nano /boot/config/plugins/ipmi/fan.cfg
root@UnRaid:~# ipmifan
ipmifan[14512]: Your ASRock motherboard is not supported or setup yet

Your ASRock motherboard is not supported or setup yet
root@UnRaid:~# ipmifan --debug
ipmifan[14810]: Your ASRock motherboard is not supported or setup yet

Your ASRock motherboard is not supported or setup yet
root@UnRaid:~# ipmifan --debug
ipmifan[14972]: Your ASRock motherboard is not supported or setup yet

Your ASRock motherboard is not supported or setup yet
root@UnRaid:~# ipmifan --debug
ipmifan[15016]: Your ASRock motherboard is not supported or setup yet

Your ASRock motherboard is not supported or setup yet
root@UnRaid:~# ipmifan --debug
ipmifan[15062]: Your ASRock motherboard is not supported or setup yet

Your ASRock motherboard is not supported or setup yet
root@UnRaid:~# dmidecode -t 2 | grep 'Manufacturer' | awk -F 'r:' '{print $2}'
 ASRock
root@UnRaid:~# dmidecode -t 2 | grep 'Product Name' | awk -F 'e:' '{print $2}'
 EP2C602
root@UnRaid:~# ipmi2json

Please stop ipmifan [15062] then try again
root@UnRaid:~# ps -A | grep 15062
root@UnRaid:~# ps -A | grep ipmi
 8199 ?        00:00:32 kipmi0
root@UnRaid:~# ipmifan --quit
15062 is not currently running
root@UnRaid:~# ipmi2json

Checking IPMI fan Locations...

Location 0-1: FRNT_FAN3 100%: 2400.00 33%: 1600.00

Location 0-2: none

Location 0-3: FRNT_FAN1 100%: 2500.00 33%: 800.00

Location 0-4: FRNT_FAN2 100%: 2400.00 33%: 700.00

Location 0-5: FRNT_FAN3 100%: 2400.00 33%: 800.00

Location 1-1: CPU_FAN2_1 100%: 1400.00 33%: 500.00

Location 1-2: REAR_FAN2 100%: 2300.00 33%: 700.00

Location 1-3: none

Saving board configuration...

 

I manually modified the board.json file to reflect the board:

 


root@UnRaid:/boot/config/plugins/ipmi# cat board.json
{
    "ASRock": {
        "raw": "00 3a 01",
        "auto": "00 00 00 00 00 00",
        "full": "01 64 64 64 64 64",
        "fans": {
            "CPU_FAN1_1": "00",
            "REAR_FAN1": "00",
            "FRNT_FAN1": "00",
            "FRNT_FAN2": "00",
            "FRNT_FAN3": "00"
        }
    },
    "ASRock1": {
        "raw": "00 3a 11",
        "auto": "00 00 00 00",
        "full": "01 64 64 64",
        "fans": {
            "CPU_FAN2_1":"00",
            "REAR_FAN2": "00",
            "FRNT_FAN4": "00"
        }
    }
}root@UnRaid:/boot/config/plugins/ipmi#

I have no idea why it decided to start working in the end, everything I could see suggested that ipmifan was not running. 

I probably has to do with your boards sort of being in limbo. You can run impifan even though you shouldn't. It probably crashed or didn't stop properly and left the pid.  ipmi2json only checks for the ipmifan pid. Starting and stopping ipmifan should clear it up. Thanks for testing it out.

Share this post


Link to post
Share on other sites

This question may have already been asked, but I couldn't find it. Why is there such a large difference between the HDD temp shown in the sensors page/footer and the HDD temp shown in the logs? 26C vs 38C. Aren't both readings being taken from the same sensor?

 

SafariScreenSnapz053.thumb.jpg.da281a8b8b7e8fbf8f7e6a8cdce2cc2a.jpg

 

BTW- All my drives are spun down currently except cache (26C) and one external drive mounted via UD (38C).

Edited by wgstarks

Share this post


Link to post
Share on other sites
1 hour ago, wgstarks said:

This question may have already been asked, but I couldn't find it. Why is there such a large difference between the HDD temp shown in the sensors page/footer and the HDD temp shown in the logs? 26C vs 38C. Aren't both readings being taken from the same sensor?

 

BTW- All my drives are spun down currently except cache (26C) and one external drive mounted via UD (38C).

The Sensors page takes the highest hard drive temp from the already available /var/local/emhttp/disks.ini. I didn't want to re-poll the hard drives since they had already been polled.  This however only includes array drives.  The fan control script takes the highest temp from all drives.  That's the reason for the 38 in the fancontrol log and 26 in the readings.  There was some talk recently about possibly adding an ignore function to fan control.  This would keep fans from spinning up due to external or preclearing  drives. That's on my todo list. Similar to the dropdown checklist for sensors but for hard drives.

Edited by dmacias

Share this post


Link to post
Share on other sites
1 minute ago, dmacias said:

There was some talk recently about possibly adding an ignore function to fan control.

That would be great. That way I could exclude any external eSATA drives. Not really a big deal in this case but some external cases really get hot and crank my case fans to full for no gain.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Copyright © 2005-2017 Lime Technology, Inc. unRAID® is a registered trademark of Lime Technology, Inc.