[Plugin] IPMI for unRAID 6.1+


Recommended Posts

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

 

Link to comment

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...

 

Link to comment
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.

Link to comment

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
)

 

Link to comment
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.

Link to comment

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
Link to comment
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
Link to comment

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
Link to comment
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.

Link to comment

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
Link to comment
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:~# ipmifanipmifan is not enabled in /boot/config/plugins/ipmi/fan.cfgtype: ipmifan -f to force startroot@UnRaid:~# ipmifan --debugipmifan is not enabled in /boot/config/plugins/ipmi/fan.cfgtype: ipmifan -f to force startroot@UnRaid:~# ipmifan --helpProcess 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 exitroot@UnRaid:~# ipmifan --quit9502 is not currently runningroot@UnRaid:~# nano /boot/config/plugins/ipmi/fan.cfgroot@UnRaid:~# ipmifanipmifan[14512]: Your ASRock motherboard is not supported or setup yetYour ASRock motherboard is not supported or setup yetroot@UnRaid:~# ipmifan --debugipmifan[14810]: Your ASRock motherboard is not supported or setup yetYour ASRock motherboard is not supported or setup yetroot@UnRaid:~# ipmifan --debugipmifan[14972]: Your ASRock motherboard is not supported or setup yetYour ASRock motherboard is not supported or setup yetroot@UnRaid:~# ipmifan --debugipmifan[15016]: Your ASRock motherboard is not supported or setup yetYour ASRock motherboard is not supported or setup yetroot@UnRaid:~# ipmifan --debugipmifan[15062]: Your ASRock motherboard is not supported or setup yetYour ASRock motherboard is not supported or setup yetroot@UnRaid:~# dmidecode -t 2 | grep 'Manufacturer' | awk -F 'r:' '{print $2}'ASRockroot@UnRaid:~# dmidecode -t 2 | grep 'Product Name' | awk -F 'e:' '{print $2}'EP2C602root@UnRaid:~# ipmi2jsonPlease stop ipmifan [15062] then try againroot@UnRaid:~# ps -A | grep 15062root@UnRaid:~# ps -A | grep ipmi8199 ?        00:00:32 kipmi0root@UnRaid:~# ipmifan --quit15062 is not currently runningroot@UnRaid:~# ipmi2jsonChecking IPMI fan Locations...Location 0-1: FRNT_FAN3 100%: 2400.00 33%: 1600.00Location 0-2: noneLocation 0-3: FRNT_FAN1 100%: 2500.00 33%: 800.00Location 0-4: FRNT_FAN2 100%: 2400.00 33%: 700.00Location 0-5: FRNT_FAN3 100%: 2400.00 33%: 800.00Location 1-1: CPU_FAN2_1 100%: 1400.00 33%: 500.00Location 1-2: REAR_FAN2 100%: 2300.00 33%: 700.00Location 1-3: noneSaving 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. 

It 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.

 

 

Link to comment

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
Link to comment
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
Link to comment
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.

Link to comment

I've got a new server up and running on a Supermicro X9DRi-F board. The fans are *very* loud, so I installed IPMI and was happy to see that it's grabbed all the sensors and fans and seems to be compatible with my board. 

 

However, I can't seem to get fan control to work right. I have it set on, the settings are set to Auto with high of 80c, low of 20c, and speed max/min set to 100 and 1%. All of my drives, cpus, and other sensors are clocking in between 35-43C, but the fans are still running at 3k RPM. Weirdly, a few fans do seem to cycle down to 2775RPM and then back up on occasion, however the fan event log shows nothing at all in IPMI. 

 

Has anyone encountered this? Part of me thinks that IPMI isn't able to control the fans, maybe I've set something wrong in my bios? Is there a way to manually turn off a fan from within IPMI to test to see if it actually can manage fan speed?

Link to comment
I've got a new server up and running on a Supermicro X9DRi-F board. The fans are *very* loud, so I installed IPMI and was happy to see that it's grabbed all the sensors and fans and seems to be compatible with my board. 

 

However, I can't seem to get fan control to work right. I have it set on, the settings are set to Auto with high of 80c, low of 20c, and speed max/min set to 100 and 1%. All of my drives, cpus, and other sensors are clocking in between 35-43C, but the fans are still running at 3k RPM. Weirdly, a few fans do seem to cycle down to 2775RPM and then back up on occasion, however the fan event log shows nothing at all in IPMI. 

 

Has anyone encountered this? Part of me thinks that IPMI isn't able to control the fans, maybe I've set something wrong in my bios? Is there a way to manually turn off a fan from within IPMI to test to see if it actually can manage fan speed?

The X9 boards don't really support much fan control through ipmi. They use different commands than the X10/X11. I believe all I can do is set fans to a low, medium and high. I'm currently working to add support for Asrock dual core boards, so I'll see if I can add support for the X9 boards too. Could you verify what "dmidecode -t 2" from the command line shows for Product Name?

 

 

Edit: The cycling can be remedied by changing the thresholds with the Sensor Editor. You have to search back through the thread for that info. Maybe I should just add that info to the OP and plugin help sections.

Link to comment

Yep, looks like X9. 

# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.
Handle 0x0002, DMI type 2, 15 bytes
Base Board Information
        Manufacturer: Supermicro
        Product Name: X9DR3-F
        Version: 1234567890
        Serial Number: {My Serial Number}
        Asset Tag: To be filled by O.E.M.
        Features:
                Board is a hosting board
                Board is replaceable
        Location In Chassis: To be filled by O.E.M.
        Chassis Handle: 0x0003
        Type: Motherboard
        Contained Object Handles: 0

Thanks for the quick response -- I'll see if I can fiddle with the fanspeed in the bios and maybe I'll order some sound-dampening foam :]

Link to comment
Yep, looks like X9. 
# dmidecode 3.0Getting SMBIOS data from sysfs.SMBIOS 2.7 present.Handle 0x0002, DMI type 2, 15 bytesBase Board Information        Manufacturer: Supermicro        Product Name: X9DR3-F        Version: 1234567890        Serial Number: {My Serial Number}        Asset Tag: To be filled by O.E.M.        Features:                Board is a hosting board                Board is replaceable        Location In Chassis: To be filled by O.E.M.        Chassis Handle: 0x0003        Type: Motherboard        Contained Object Handles: 0

Thanks for the quick response -- I'll see if I can fiddle with the fanspeed in the bios and maybe I'll order some sound-dampening foam :]

Look at my previous post. I edited it with info on fan revving.
Link to comment
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.
The latest version has the ability to exclude hard drives now. Also, as with all the fan settings, they can all be changed and applied without stopping fan control. The ipmifan script will pickup changes to the fan.cfg file and implement them on the next internal.
Link to comment
12 hours ago, dmacias said:
On 10/15/2017 at 7:04 PM, wgstarks said:
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.

The latest version has the ability to exclude hard drives now. Also, as with all the fan settings, they can all be changed and applied without stopping fan control. The ipmifan script will pickup changes to the fan.cfg file and implement them on the next internal.

Would it be possible to add NVME drives to that list?  My HD temp still shows my NVME drive which always runs warmer then my disk array.  Also I noticed in the release notes you were working on the asrock boards, if you need anything from me please let me know

Thanks

Aaron

Link to comment

The hard drive list is just for the fan control script. In order to ignore certain drives so fans aren't running full speed. If your nvme drive isn't in the list then it wouldn't be factored in the hard drive temp polling of the fan control.

But let me know if it's in the list. Right now the list is compiled by searching /dev/ for sdx and udev to get the serial. "udevadm info --query=property --name=/dev/sdx | grep ID_SERIAL= | cut -c11-"

I could possibly add a different hdd list to the settings page along side the sensors and dash ignore lists. The readings page and footer hdd temps are pulled from unRAID webgui data because I don't want to constantly repoll drives. So that reading is the highest temp only from array drives, not any unassigned.

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.