dmacias Posted October 15, 2020 Author Share Posted October 15, 2020 Okay I hacked around the source code of the fan tools all day and got a working version of it for this board [emoji322] Happy to clean it up and submit a patch to the github page. Will have to wait till this weekend though when I have some time just a few different things required for this board.I'd appreciate any help. What does this command print out?dmidecode -qt2|awk -F: '/^\tProduct Name:/ {print $2}' If it's the board model, id like to add it to an array for future use with similar models. Then I just have to add a model name to the array to compare and implement the necessary raw commands. Unless there's an better way to differentiate this model from other ASRock models. I'm not sure what your hack was. If you just hard-coded a json array with everything. But I'd prefer using the ipmi2json script to build this json array. Reason being that bmc firmware updates sometimes change ipmi fan names and sometimes there's different names between different models even though they use the same ipmi raw commands. If prefer building the json array matching each location in the raw command to each fan it corresponds to. Thanks for any help and for figuring out the ipmi commands. 1 Quote Link to comment
cakes044 Posted October 15, 2020 Share Posted October 15, 2020 (edited) 11 hours ago, dmacias said: I'd appreciate any help. What does this command print out? dmidecode -qt2|awk -F: '/^\tProduct Name:/ {print $2}' If it's the board model, id like to add it to an array for future use with similar models. Then I just have to add a model name to the array to compare and implement the necessary raw commands. Unless there's an better way to differentiate this model from other ASRock models. I'm not sure what your hack was. If you just hard-coded a json array with everything. But I'd prefer using the ipmi2json script to build this json array. Reason being that bmc firmware updates sometimes change ipmi fan names and sometimes there's different names between different models even though they use the same ipmi raw commands. If prefer building the json array matching each location in the raw command to each fan it corresponds to. Thanks for any help and for figuring out the ipmi commands. FWIW, I was being facetious when I said "hacked" around, was meaning that I dug into the code and figured out a way to do it just not clean yet. This is the result of that command by the way: root@tower:~# dmidecode -qt2|awk -F: '/^\tProduct Name:/ {print $2}' X570D4U So, I made the ipmi2json script generate the correct json object and then modified the ipmifan tool as well to run with the correct commands. There are some caveats and changes to the way this board needs to run. 1. Fan needs to be put in "manual" mode before the values will actually work. So thats an extra step that needs to take place. In the below I just put ALL the fans in manual mode. $manual_cmd = "ipmi-raw 00 3a d8 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 2>&1 >/dev/null;"; 2. It uses different hex codes for setting manual and auto commands. $auto_cmd = "ipmi-raw 00 3a d8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2>&1 >/dev/null;"; 3. The minimum value for all fan values are now 20% which equals 14 in the hex code, for instance, if I were to only want to change the fan value of the first fan to full speed, it would look like this, even if you aren't using the fans they must be set like this: ipmi-raw 00 3a d6 64 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 So my "hack" was just shoving them in the code to see it all work. Obviously that wouldn't fly with the current ASRock boards and would actually break the implementation of the existing boards. I'm thinking we might need an extra key in the array to indicate some of this stuff, not sure. I'd look to you for what you reckon? First time looking at PHP in like 10 years, so I'm sure you'd do a better job than me. But hopefully thats enough to go on Let me know if you need anything else. Some extra commands you might care about too. Get the fan duty for all fans while in manual mode: $ ipmi-raw 00 3a d7 24 32 32 14 14 14 14 14 14 14 14 14 14 14 14 14 Get the fan control mode: $ ipmi-raw 00 3a db 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 Clean all fans (reset to defaults): ipmi-raw 00 3a dc P.S. In bash a semicolon or an ampersand are command terminators, so some of the commands where you do this is gonna give a syntax error: $cmd .= "ipmi-raw $raw $full $fanopts 2>&1 >/dev/null &; "; Just remove the semi-colon after the ampersands and you're good to go 👍 Edited October 16, 2020 by cakes044 Added some extra ipmi-raw commands that might be useful. Quote Link to comment
Kvo1087 Posted October 20, 2020 Share Posted October 20, 2020 (edited) Hi Guys! i have been fighting with my Supermicro X9DRi-LN4F+ for a couple days now and finally got IPMITool to work after a bios and firmware update. i tried to follow the instructions on the first page here setting my lower thresholds down around 100-200 for my noctua fans and turning the fan mode to full speed on the motherboard to run this pluggin. unfortunately right now the fans still run full speed all the time and if i change the fan mode it goes back to cycling from low rpm to max speed every few seconds. any help would be greatly appreciated. i think my main issue might be that i cant get the virtual machine overide to work. it defaults to no and if i change it to yes everything is greyed out and i cant fill it in. then i hit apply and it goes back to "no" on the setting. I'll attach a picture for reference If i could get the fan speed minimum and maximum settings to work in the fan control section that would be my greatest desire. i currently have it set based on cpu temp with max fan speed 80% and min 35%. they are definitely going full speed... Edited October 20, 2020 by Kvo1087 new information Quote Link to comment
ogi Posted October 20, 2020 Share Posted October 20, 2020 1 hour ago, Kvo1087 said: Hi Guys! i have been fighting with my Supermicro X9DRi-LN4F+ for a couple days now and finally got IPMITool to work after a bios and firmware update. i tried to follow the instructions on the first page here setting my lower thresholds down around 100-200 for my noctua fans and turning the fan mode to full speed on the motherboard to run this pluggin. unfortunately right now the fans still run full speed all the time and if i change the fan mode it goes back to cycling from low rpm to max speed every few seconds. any help would be greatly appreciated. i think my main issue might be that i cant get the virtual machine overide to work. it defaults to no and if i change it to yes everything is greyed out and i cant fill it in. then i hit apply and it goes back to "no" on the setting. I'll attach a picture for reference If i could get the fan speed minimum and maximum settings to work in the fan control section that would be my greatest desire. i currently have it set based on cpu temp with max fan speed 80% and min 35%. they are definitely going full speed... I have this same motherboard; ...that's curious why everything is grayed out...I had to specify a network connection and have it register "connection successful" before even attempting to do anything else... here's a screenshot of my settings. Quote Link to comment
kliffjack Posted October 21, 2020 Share Posted October 21, 2020 Does anyone else have problems with fan controls only working when in GUI on x10sll-f board? I have linked my FANA speed to HDD temps and for some reason fan speed is being adjusted only if I'm in the web GUI. When I leave the page or close/minimise the window fan speed gets stuck on its last value, as soon as I refresh the page fan speed adjusts itself. Otherwise the plugin works brilliantly, but this one thing ruins everything... Quote Link to comment
Kvo1087 Posted October 23, 2020 Share Posted October 23, 2020 Hey guys I got the Virtual Machine override turned on and it was able to connect successfully but my fans are still running at full speed all the time. Fan control is on and i have the max and min fan speed % set but it is like the settings are applied to the board at all. am i missing something? Quote Link to comment
Leptosoma Posted October 28, 2020 Share Posted October 28, 2020 Hi, I added the FRNT_FAN1 to my ASRock E3C226D2I. Configured that FRNT_FAN1. But I have issues: - that fan is always marked in red but (Fan is not configured!) - advanced view cannot be activated anymore on the Fan Settings section of IPMI fan Control page - FRNT_FAN1 is spinning at 500rpm now - no mater what HDD temp. This setup with only REAR_FAN1 and CPU_FAN1 had run ok for many months, but the third FRNT_FAN1. I read at the start of this thread, that adding a fan requires reconfiguration - so I am not sure that I did as was implied here. Any help, op perhaps better "guidance" is more than welcome - as am rather a newbie in this field of expertise. Kind regards and Thanks in advance.. Quote Link to comment
Leptosoma Posted October 29, 2020 Share Posted October 29, 2020 So, I almost solved it myself: - went in the bios and put all fans to smart - reconfigured in IPMI settings within unraid as a result, this time the "(fan is not configured!)" notification has gone and the FRNT_FAN1 speed got controlled. The last thing not working is the "Advanced View". I have seen it working before the FRNT_FAN1 was installed. Kind regards and thanks in advance for pointing me to where I can get that working too. Quote Link to comment
DavisNL Posted November 1, 2020 Share Posted November 1, 2020 Quick question from someone who may have installed this blindly 🤦♂️. I’m running a SuperMicro machine and after reading the first post I’m now aware there may be fan speed issues. I’m travelling for work right now so I audibly cannot check fan noise to see if the fans are maxed out. What should my fan speeds look like? My three mid-case/backplane fans are running at ~2900 RPM. The two rear fans are both at 2625 RPM. CPU load has been under 10% for the last 20 mins. Before that it had been steady at 40% for a few hours. As I’m unsure of the fan models and don’t have a RPM point of reference from before installing this plugin, can anyone shed some light on if my fans are at Max? Also, does the fan issue go away if you uninstall the plugin? Quote Link to comment
Allram Posted November 4, 2020 Share Posted November 4, 2020 Running this on Unraid 6.9.0-Beta30. It seems like it's polling the drive temperatures from the drives that i specifically unchecked on the 'Hard Drives to Poll:' settings. I have removed 4 disks from there that are around 34degrees *C. All other drives are around 17*C. But the IPMIplugin sees the HDD temp as 34*C. Any tips on how to force it to not count those drives temperatures? Quote Link to comment
ramblinreck47 Posted November 4, 2020 Share Posted November 4, 2020 On 11/1/2020 at 4:03 AM, DavisNL said: Quick question from someone who may have installed this blindly 🤦♂️. I’m running a SuperMicro machine and after reading the first post I’m now aware there may be fan speed issues. I’m travelling for work right now so I audibly cannot check fan noise to see if the fans are maxed out. What should my fan speeds look like? My three mid-case/backplane fans are running at ~2900 RPM. The two rear fans are both at 2625 RPM. CPU load has been under 10% for the last 20 mins. Before that it had been steady at 40% for a few hours. As I’m unsure of the fan models and don’t have a RPM point of reference from before installing this plugin, can anyone shed some light on if my fans are at Max? Also, does the fan issue go away if you uninstall the plugin? What Supermicro chassis? Should be able to figure out the fan model with just that. Quote Link to comment
Keexrean Posted November 7, 2020 Share Posted November 7, 2020 (edited) On 10/28/2020 at 9:49 PM, Leptosoma said: --SNIP-- Lucky you! I don't even have the Configure button! (Dell Poweredge R720) Edited November 7, 2020 by Keexrean Quote Link to comment
ramblinreck47 Posted November 7, 2020 Share Posted November 7, 2020 @dmacias Any chance that the plug-in will be updated with the new commands for the X570D4U and X570D4U-2L2T in the near future? Quote Link to comment
markswift Posted November 12, 2020 Share Posted November 12, 2020 (edited) Hello, I have an ASROCK x470D4U board. I have installed and configured the plugin (sensors etc work), but it appears temperature control doesn't. The raw commands do work, so that's not the issue. board.json: { "ASRock": { "raw": "00 3a 01", "auto": "00 00 00 00 00 00 00 00", "full": "64 64 64 64 64 64 64 64", "fans": { "FAN1": "01", "FAN2": "01", "FAN3": "01", "FAN4": "01", "FAN5": "01", "FAN_POS6": "01", "FAN_POS7": "01", "FAN_POS8": "01" } } } I do see this error for fan6 (not attached): Warning: array_key_exists() expects parameter 2 to be array, null given in /usr/local/emhttp/plugins/ipmi/include/ipmi_helpers.php on line 367 Edit 1: Above error seems unrelated and can be removed by editing boards.json and renaming "FAN_POS6" to "FAN6" Edited November 12, 2020 by markswift Update 1 Quote Link to comment
markswift Posted November 12, 2020 Share Posted November 12, 2020 (edited) Okay, upon activating debug it seems the issue is caused by a wrong RAW command being sent? I see: 2020-11-12 19:07:19 ipmi-raw 00 3a 01 00 00 44 44 44 44 00 -h '192.168.1.11' -u 'admin' -p 'xxx' --session-timeout=5000 --retransmission-timeout=1000 2>&1 Shouldn't the command include another '00' @dmacias? Would love to get this working, my rack sounds like a jet turbine Edit: reinstalled to test, no luck, debug log below: Sleep 60 seconds. Highest temp is 33ºC DECLARED VARIABLES: Array ( [debug] => 1 [prog] => ipmifan [lockfile] => /var/run/ipmifan.pid [log] => /var/log/ipmifan [service] => /usr/local/emhttp/plugins/ipmi/scripts/ipmifan [usage] => 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 -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 [shortopts] => adfq [longopts] => Array ( [0] => auto [1] => daemon [2] => debug [3] => full [4] => help [5] => quit [6] => quiet [7] => version ) [args] => Array ( [debug] => ) [arga] => [argf] => [argq] => [daemon] => [quit] => [raw] => 00 3a 01 [board_json] => Array ( [ASRock] => Array ( [raw] => 00 3a 01 [auto] => 00 00 00 00 00 00 00 00 [full] => 64 64 64 64 64 64 64 64 [fans] => Array ( [FAN1] => 01 [FAN2] => 01 [FAN3] => 01 [FAN4] => 01 [FAN5] => 01 [FAN_POS6] => 01 [FAN_POS7] => 01 [FAN_POS8] => 01 ) ) ) [board] => ASRock [board_file_status] => 1 [msg] => Fan:Temp, FAN2(66%):HDD Temp(33°C) [MD5] => 6ff1b3c3d1dd1140c6d895d739d64c7f [fancfg_file] => /boot/config/plugins/ipmi/fan.cfg [hdd_temp] => 33 [sensors] => Array ( [10] => Array ( [ID] => 10 [Name] => MB Temp [Type] => Temperature [Reading] => 35.00 [Units] => C [Event] => 'OK' ) [11] => Array ( [ID] => 11 [Name] => Card side Temp [Type] => Temperature [Reading] => 37.00 [Units] => C [Event] => 'OK' ) [12] => Array ( [ID] => 12 [Name] => CPU Temp [Type] => Temperature [Reading] => 43.00 [Units] => C [Event] => 'OK' ) [13] => Array ( [ID] => 13 [Name] => DDR4_A2_Temp [Type] => Temperature [Reading] => 39.00 [Units] => C [Event] => 'OK' ) [14] => Array ( [ID] => 14 [Name] => DDR4_A1_Temp [Type] => Temperature [Reading] => 40.00 [Units] => C [Event] => 'OK' ) [15] => Array ( [ID] => 15 [Name] => DDR4_B2_Temp [Type] => Temperature [Reading] => 40.00 [Units] => C [Event] => 'OK' ) [16] => Array ( [ID] => 16 [Name] => DDR4_B1_Temp [Type] => Temperature [Reading] => 40.00 [Units] => C [Event] => 'OK' ) [17] => Array ( [ID] => 17 [Name] => FAN1 [Type] => Fan [Reading] => 1000.00 [Units] => RPM [Event] => 'OK' ) [18] => Array ( [ID] => 18 [Name] => FAN2 [Type] => Fan [Reading] => 600.00 [Units] => RPM [Event] => 'OK' ) [19] => Array ( [ID] => 19 [Name] => FAN3 [Type] => Fan [Reading] => 500.00 [Units] => RPM [Event] => 'OK' ) [20] => Array ( [ID] => 20 [Name] => FAN4 [Type] => Fan [Reading] => 800.00 [Units] => RPM [Event] => 'OK' ) [21] => Array ( [ID] => 21 [Name] => FAN5 [Type] => Fan [Reading] => 1900.00 [Units] => RPM [Event] => 'OK' ) [22] => Array ( [ID] => 22 [Name] => FAN6 [Type] => Fan [Reading] => N/A [Units] => RPM [Event] => N/A ) [99] => Array ( [ID] => 99 [Name] => HDD Temperature [Type] => Temperature [Reading] => 33 [Units] => C [Event] => Ok ) ) [ipmipoll] => 6 [fanpoll] => 6 [hddpoll] => 6 [fan_count] => 8 [hdd_count] => 60 [curent_hex] => [current_hex2] => [i] => 1 [board0] => ASRock [fans] => Array ( [FAN1] => 01 [FAN2] => 01 [FAN3] => 01 [FAN4] => 01 [FAN5] => 01 [FAN_POS6] => 01 [FAN_POS7] => 01 [FAN_POS8] => 01 ) [hex] => 00 00 40 00 00 00 00 00 00 [cmd] => [exec] => [value] => 01 [fan] => FAN_POS8 [temp] => [fancfg] => Array ( [FANCONTROL] => disable [FANPOLL] => 6 [FANIP] => 192.168.1.11 [HDDPOLL] => 6 [HDDIGNORE] => [HARDDRIVES] => enable [FAN_FAN1] => 17 [TEMP_FAN1] => 0 [FAN_FAN2] => 18 [TEMP_FAN2] => 99 [TEMPHI_FAN2] => 40 [TEMPLO_FAN2] => 20 [FANMAX_FAN2] => 64 [FANMIN_FAN2] => 1 [FAN_FAN3] => 19 [TEMP_FAN3] => 0 [FAN_FAN4] => 20 [TEMP_FAN4] => 0 [FAN_FAN5] => 21 [TEMP_FAN5] => 0 [FAN_FAN6] => 22 [TEMP_FAN6] => 0 ) [templo] => 20 [temphi] => 40 [fanmin] => 1 [fanmax] => 64 [range] => 64 [reading] => 33 [name] => HDD Temperature [pct] => 66 [pwm] => 00 [cmd_count] => 0 [cmd_str] => ipmi-raw 00 3a 01 00 00 40 00 00 00 00 00 00 -h '192.168.1.11' -u 'admin' -p 'admin' --session-timeout=5000 --retransmission-timeout=1000 2>&1 [fanopts] => -h '192.168.1.11' -u 'admin' -p 'admin' --session-timeout=5000 --retransmission-timeout=1000 [current_hex] => 00 00 40 00 00 00 00 00 00 [time1] => 1605221273 [MD5_new] => 6ff1b3c3d1dd1140c6d895d739d64c7f [plg_path] => /boot/config/plugins/ipmi [cfg_file] => /boot/config/plugins/ipmi/ipmi.cfg [cfg] => Array ( [IPMISELD] => disable [IPMIPOLL] => 180 [NETWORK] => enable [LOCAL] => disable [IPADDR] => 192.168.1.11 [USER] => admin [PASSWORD] => YWRtaW4= [DISP_SENSOR1] => 0 [DISP_SENSOR2] => 0 [LOADCFG] => disable [IGNORE] => [DIGNORE] => [DASH] => enable [DEVIGNORE] => [DEVS] => enable [OVERRIDE] => enable [OBOARD] => ASRock [OCOUNT] => 0 [OMODEL] => 9 ) [netsvc] => enable [ipaddr] => 192.168.1.11 [user] => admin [password] => YWRtaW4= [override] => enable [oboard] => ASRock [omodel] => 9 [ocount] => 0 [ignore] => [dignore] => [devignore] => [devs] => enable [ipmi] => [netopts] => --always-prefix -h '192.168.1.11' -u 'admin' -p 'admin' --session-timeout=5000 --retransmission-timeout=1000 [fanctrl] => disable [hddignore] => [harddrives] => enable [fanip] => 192.168.1.11 [board_file] => /boot/config/plugins/ipmi/board.json [boards] => Array ( [ASRock] => [ASRockRack] => [Dell] => [Supermicro] => ) [board_status] => 1 ) Edited November 12, 2020 by markswift Quote Link to comment
trott Posted November 14, 2020 Share Posted November 14, 2020 On 11/13/2020 at 3:15 AM, markswift said: Okay, upon activating debug it seems the issue is caused by a wrong RAW command being sent? I see: 2020-11-12 19:07:19 ipmi-raw 00 3a 01 00 00 44 44 44 44 00 -h '192.168.1.11' -u 'admin' -p 'xxx' --session-timeout=5000 --retransmission-timeout=1000 2>&1 Shouldn't the command include another '00' @dmacias? Would love to get this working, my rack sounds like a jet turbine Edit: reinstalled to test, no luck, debug log below: Sleep 60 seconds. Highest temp is 33ºC DECLARED VARIABLES: Array ( [debug] => 1 [prog] => ipmifan [lockfile] => /var/run/ipmifan.pid [log] => /var/log/ipmifan [service] => /usr/local/emhttp/plugins/ipmi/scripts/ipmifan [usage] => 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 -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 [shortopts] => adfq [longopts] => Array ( [0] => auto [1] => daemon [2] => debug [3] => full [4] => help [5] => quit [6] => quiet [7] => version ) [args] => Array ( [debug] => ) [arga] => [argf] => [argq] => [daemon] => [quit] => [raw] => 00 3a 01 [board_json] => Array ( [ASRock] => Array ( [raw] => 00 3a 01 [auto] => 00 00 00 00 00 00 00 00 [full] => 64 64 64 64 64 64 64 64 [fans] => Array ( [FAN1] => 01 [FAN2] => 01 [FAN3] => 01 [FAN4] => 01 [FAN5] => 01 [FAN_POS6] => 01 [FAN_POS7] => 01 [FAN_POS8] => 01 ) ) ) [board] => ASRock [board_file_status] => 1 [msg] => Fan:Temp, FAN2(66%):HDD Temp(33°C) [MD5] => 6ff1b3c3d1dd1140c6d895d739d64c7f [fancfg_file] => /boot/config/plugins/ipmi/fan.cfg [hdd_temp] => 33 [sensors] => Array ( [10] => Array ( [ID] => 10 [Name] => MB Temp [Type] => Temperature [Reading] => 35.00 [Units] => C [Event] => 'OK' ) [11] => Array ( [ID] => 11 [Name] => Card side Temp [Type] => Temperature [Reading] => 37.00 [Units] => C [Event] => 'OK' ) [12] => Array ( [ID] => 12 [Name] => CPU Temp [Type] => Temperature [Reading] => 43.00 [Units] => C [Event] => 'OK' ) [13] => Array ( [ID] => 13 [Name] => DDR4_A2_Temp [Type] => Temperature [Reading] => 39.00 [Units] => C [Event] => 'OK' ) [14] => Array ( [ID] => 14 [Name] => DDR4_A1_Temp [Type] => Temperature [Reading] => 40.00 [Units] => C [Event] => 'OK' ) [15] => Array ( [ID] => 15 [Name] => DDR4_B2_Temp [Type] => Temperature [Reading] => 40.00 [Units] => C [Event] => 'OK' ) [16] => Array ( [ID] => 16 [Name] => DDR4_B1_Temp [Type] => Temperature [Reading] => 40.00 [Units] => C [Event] => 'OK' ) [17] => Array ( [ID] => 17 [Name] => FAN1 [Type] => Fan [Reading] => 1000.00 [Units] => RPM [Event] => 'OK' ) [18] => Array ( [ID] => 18 [Name] => FAN2 [Type] => Fan [Reading] => 600.00 [Units] => RPM [Event] => 'OK' ) [19] => Array ( [ID] => 19 [Name] => FAN3 [Type] => Fan [Reading] => 500.00 [Units] => RPM [Event] => 'OK' ) [20] => Array ( [ID] => 20 [Name] => FAN4 [Type] => Fan [Reading] => 800.00 [Units] => RPM [Event] => 'OK' ) [21] => Array ( [ID] => 21 [Name] => FAN5 [Type] => Fan [Reading] => 1900.00 [Units] => RPM [Event] => 'OK' ) [22] => Array ( [ID] => 22 [Name] => FAN6 [Type] => Fan [Reading] => N/A [Units] => RPM [Event] => N/A ) [99] => Array ( [ID] => 99 [Name] => HDD Temperature [Type] => Temperature [Reading] => 33 [Units] => C [Event] => Ok ) ) [ipmipoll] => 6 [fanpoll] => 6 [hddpoll] => 6 [fan_count] => 8 [hdd_count] => 60 [curent_hex] => [current_hex2] => [i] => 1 [board0] => ASRock [fans] => Array ( [FAN1] => 01 [FAN2] => 01 [FAN3] => 01 [FAN4] => 01 [FAN5] => 01 [FAN_POS6] => 01 [FAN_POS7] => 01 [FAN_POS8] => 01 ) [hex] => 00 00 40 00 00 00 00 00 00 [cmd] => [exec] => [value] => 01 [fan] => FAN_POS8 [temp] => [fancfg] => Array ( [FANCONTROL] => disable [FANPOLL] => 6 [FANIP] => 192.168.1.11 [HDDPOLL] => 6 [HDDIGNORE] => [HARDDRIVES] => enable [FAN_FAN1] => 17 [TEMP_FAN1] => 0 [FAN_FAN2] => 18 [TEMP_FAN2] => 99 [TEMPHI_FAN2] => 40 [TEMPLO_FAN2] => 20 [FANMAX_FAN2] => 64 [FANMIN_FAN2] => 1 [FAN_FAN3] => 19 [TEMP_FAN3] => 0 [FAN_FAN4] => 20 [TEMP_FAN4] => 0 [FAN_FAN5] => 21 [TEMP_FAN5] => 0 [FAN_FAN6] => 22 [TEMP_FAN6] => 0 ) [templo] => 20 [temphi] => 40 [fanmin] => 1 [fanmax] => 64 [range] => 64 [reading] => 33 [name] => HDD Temperature [pct] => 66 [pwm] => 00 [cmd_count] => 0 [cmd_str] => ipmi-raw 00 3a 01 00 00 40 00 00 00 00 00 00 -h '192.168.1.11' -u 'admin' -p 'admin' --session-timeout=5000 --retransmission-timeout=1000 2>&1 [fanopts] => -h '192.168.1.11' -u 'admin' -p 'admin' --session-timeout=5000 --retransmission-timeout=1000 [current_hex] => 00 00 40 00 00 00 00 00 00 [time1] => 1605221273 [MD5_new] => 6ff1b3c3d1dd1140c6d895d739d64c7f [plg_path] => /boot/config/plugins/ipmi [cfg_file] => /boot/config/plugins/ipmi/ipmi.cfg [cfg] => Array ( [IPMISELD] => disable [IPMIPOLL] => 180 [NETWORK] => enable [LOCAL] => disable [IPADDR] => 192.168.1.11 [USER] => admin [PASSWORD] => YWRtaW4= [DISP_SENSOR1] => 0 [DISP_SENSOR2] => 0 [LOADCFG] => disable [IGNORE] => [DIGNORE] => [DASH] => enable [DEVIGNORE] => [DEVS] => enable [OVERRIDE] => enable [OBOARD] => ASRock [OCOUNT] => 0 [OMODEL] => 9 ) [netsvc] => enable [ipaddr] => 192.168.1.11 [user] => admin [password] => YWRtaW4= [override] => enable [oboard] => ASRock [omodel] => 9 [ocount] => 0 [ignore] => [dignore] => [devignore] => [devs] => enable [ipmi] => [netopts] => --always-prefix -h '192.168.1.11' -u 'admin' -p 'admin' --session-timeout=5000 --retransmission-timeout=1000 [fanctrl] => disable [hddignore] => [harddrives] => enable [fanip] => 192.168.1.11 [board_file] => /boot/config/plugins/ipmi/board.json [boards] => Array ( [ASRock] => [ASRockRack] => [Dell] => [Supermicro] => ) [board_status] => 1 ) check your bios setup, I believe the fan control setting in bios should be smartfan, I using the same board and plugin works without issue Quote Link to comment
markswift Posted November 14, 2020 Share Posted November 14, 2020 (edited) 6 hours ago, trott said: check your bios setup, I believe the fan control setting in bios should be smartfan, I using the same board and plugin works without issue Hi, I've already checked that - no luck sadly I'm wondering if it's related the config / layout of my fans, as it did work briefly when they were attached to other headers. I tried to swap them back, but no luck... Tried a clean install too. Is there a chance you could share your board.json so I can compare it? Thanks in advance. To summarise: Config runs and I hear the fans ramping up, RPM is correct for each. Running in debug shows an incorrect raw command (unless I'm interpreting it wrongly). IPMI shows correct percentages, but no fan control happens. BIOS is set to smart fan, for all fans. Edited November 14, 2020 by markswift Quote Link to comment
tryhardcodemaster Posted November 17, 2020 Share Posted November 17, 2020 Hey guys, I checked through some of the recent pages and enjoy the changes to the dashboard view, but just have a quick question. The IPMI section in the left box keeps moving from the bottom (where I drag it) and resets to the top. None of the other sections move. Is this a known issue or is it something on my end (browser settings, etc)? - I do not have the browser set to clear cookies/site data on exit. Thanks in advance! Quote Link to comment
markswift Posted November 19, 2020 Share Posted November 19, 2020 (edited) Hi all, Well, following my previous posts (above), I've been trying to get this working for over a week with no luck. I even bought a new fan to populate header_6 to see if that made a difference - it didn't. If anyone has any ideas why it might not be working with my board (but is for others), I'd love some help! It's strange that the configuration ramps up the fans and recognises everythign correctly, but auto / temp control doesn't work Edited November 19, 2020 by markswift Quote Link to comment
Gunny Posted November 30, 2020 Share Posted November 30, 2020 (edited) I'm currently trying to get the IPMI plugin to work with my ASRock Rack EP2C612 WS dual socket motherboard (bios v2.50). It sees the correct fan speeds, but when I hit configure the fan speeds don't change and it doesn't find any fans connected. I've tried changing the bios setting from auto to manual, leaving each can on smart fan mode while in manual. Neither option allowed the IPMI plugin to work. This is trying to use the native local connection, not over the network connection. Any thoughts or tips to debug? Edit: I tried the IPMI commands manually and they don't work/return an error so I submitted a support ticket to Asrock Rack support. I'll update when I hear back about the correct IPMI commands. @dmacias I ran the dmidecode command and the result is: root@UnraidHost:/boot/config/plugins/ipmi# dmidecode -qt2|awk -F: '/^\tProduct Name:/ {print $2}' EP2C612 WS So: EP2C612 WS Edited November 30, 2020 by Gunny Contacted support Quote Link to comment
Gunny Posted December 1, 2020 Share Posted December 1, 2020 (edited) Got a reply from support and got it figured out. To directly control the fans you use: cpu1 cpu2 REA1 ???? FNT1 FNT2 FNT3 FNT4 ipmitool raw 0x3a 0x01 0x00 0x00 0x00 0x00 0x20 0x00 0x00 0x00 (0x00 is auto, 0x64 is max like normal) so its missing the first 0x00 that this tool uses. I would guess that the ???? should be a Rear2 fan is the motherboard had one. In terms of names, I'm seeing: CPU1_FAN1 CPU2_FAN1 REAR_FAN1 FRNT_FAN1 FRNT_FAN2 FRNT_FAN3 FRNT_FAN4 Running the commands I did notice sometimes a valid command would return an error (most often if I sent a bad command right before), but if you retry a few times it will end up going through and controlling the fan correctly. Again this is for the EP2C612 WS, I'm currently trying to figure out how to manually edit the json and cfg files to make this plugin work for my board command configuration Here is an example output of a valid command failing: root@UnraidHost:/boot/config/plugins# ipmitool raw 0x3a 0x01 0x01 0x00 0x00 0x00 0x35 0x00 0x00 0x00 #worked root@UnraidHost:/boot/config/plugins# ipmitool raw 0x3a 0x01 0x01 0x00 0x00 0x00 0x35 0x00 0x00 0x00 #failed Unable to send RAW command (channel=0x0 netfn=0x3a lun=0x0 cmd=0x1 rsp=0xc1): Invalid command root@UnraidHost:/boot/config/plugins# ipmitool raw 0x3a 0x01 0x01 0x00 0x00 0x00 0x35 0x00 0x00 0x00 #worked root@UnraidHost:/boot/config/plugins# And another type of failure: root@UnraidHost:/boot/config/plugins# ipmitool raw 0x3a 0x01 0x64 0x00 0x00 0x00 0x35 0x00 0x00 0x00 #worked root@UnraidHost:/boot/config/plugins# ipmitool raw 0x3a 0x01 0x00 0x00 0x00 0x00 0x35 0x00 0x00 0x00 #failed Get Device ID command failed: 0xd6 Cannot execute command, command disabled Unable to send RAW command (channel=0x0 netfn=0x3a lun=0x0 cmd=0x1 rsp=0xc1): Invalid command root@UnraidHost:/boot/config/plugins# ipmitool raw 0x3a 0x01 0x00 0x00 0x00 0x00 0x35 0x00 0x00 0x00 #worked root@UnraidHost:/boot/config/plugins# Edited December 1, 2020 by Gunny Quote Link to comment
Gunny Posted December 1, 2020 Share Posted December 1, 2020 I was able to get the ipmi2json to run properly by changing this line https://github.com/dmacias72/IPMI-unRAID/blob/60361056d4f75c6829f4ff590be6da0b49c2dfab/source/ipmi/usr/local/emhttp/plugins/ipmi/scripts/ipmi2json#L153 to if(TRUE) so it would try all 8 fan slots The resulting board config is { "ASRockRack": { "raw": "00 3a 01", "auto": "00 00 00 00 00 00 00 00", "full": "64 64 64 64 64 64 64 64", "fans": { "CPU1_FAN1": "01", "CPU2_FAN1": "01", "FAN_POS2": "01", "FAN_POS3": "01", "FRNT_FAN1": "01", "FAN_POS5": "01", "FAN_POS6": "01", "FAN_POS7": "01" } }, "ASRockRack1": { "raw": "00 3a 11", "auto": "00 00 00 00", "full": "01 64 64 64", "fans": { "FRNT_FAN1": "11" } } } but I don't think the second board, ASRockRack1 is needed In order to get ipmifan --full and --auto to work I had to remove the ; after the & on lines 208 and 232 https://github.com/dmacias72/IPMI-unRAID/blob/60361056d4f75c6829f4ff590be6da0b49c2dfab/source/ipmi/usr/local/emhttp/plugins/ipmi/scripts/ipmifan#L208 https://github.com/dmacias72/IPMI-unRAID/blob/60361056d4f75c6829f4ff590be6da0b49c2dfab/source/ipmi/usr/local/emhttp/plugins/ipmi/scripts/ipmifan#L232 Still working on getting the main loop of the ipmifan to see whats wrong. Quote Link to comment
Gunny Posted December 1, 2020 Share Posted December 1, 2020 (edited) I was finally able to get ipmifan working on my system. the asrock hex to pwm routine kept adding an additional 01, so I added a switch based on the motherboard name. @dmacias want me to open a PR? ipmi2json ipmifan Edited December 1, 2020 by Gunny Quote Link to comment
cadamwil Posted December 2, 2020 Share Posted December 2, 2020 OK, got everything close to working, however, I'm missing my ABC fans on my Supermicro X10 motherboard. It's just showing the 1234. Can I just add the lines to the fan.cfg? Can I get it to detect them? Thanks for your time. Quote Link to comment
cadamwil Posted December 3, 2020 Share Posted December 3, 2020 Well, apparently not having a fan in FANA or hiding FANA was the issue. Now everything is working well. Quote Link to comment
Recommended Posts
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.