petersulyok / smfc

Super Micro Fan Control
GNU General Public License v3.0
174 stars 15 forks source link

SMFC hardware compatibility #19

Open petersulyok opened 1 year ago

petersulyok commented 1 year ago

This issue is the collection of the compatibility feedbacks. Please leave a comment here with the name of your Super Micro motherboard if you either :

  1. successfully executed SMFC

or

  1. you tried and failed because of a compatibility issue

Thanks for your feedback.

petersulyok commented 1 year ago

Super Micro X11SCH-F motherboard is OK.

petersulyok commented 1 year ago

@thiete reported that Super Micro X11SPI-TF motherboard is OK.

secabeen commented 1 year ago

Works great on my X11SAE-F-O

alexhelms commented 1 year ago

I have a 6028U-TR4T+ server with the X10DRU-i+ motherboard and SMFC partially works. There are 9 fan headers but 4 populated fans in the chassis. Fans 1 and 2 are for CPU1 and fans 7 and 8 are for CPU2 (according to ipmitool). The other fan headers are unpopulated. I believe there are two CPU zones and no HD zones. I tried with with swapped_zones=0 and it only controlled fans 1 and 2. I changed to swapped_zones=1 and now fans 7 and 8 were controlled.

Is there a way to configure two cpu zones?

petersulyok commented 1 year ago

Hi @alexhelms! Please continue the discussion about your X10DRU-i+ motherboard in issue #20

staaled commented 1 year ago

Supermicro H13SSL-NT

With an AMD EPYC Genoa CPU seems to work just fine (a little guesswork with temperature sensors/paths though).

I have my chassis fans on connectors FAN[1-4], and CPU on FANA, with swapped_zones=1

(sidenote: setting custom thresholds for fans warn/crit levels etc didn't work out of the box but haven't had time to investigate, the defaults work)

Rhyolite1 commented 1 year ago

Supermicro X11SCH-LN4, I'm having the same issue as https://github.com/petersulyok/smfc/issues/21 I will await your update to fix the issue as noted in the thread. Thank you for making this! I've spent a month trying to solve my fan rpm oscillation issue.

petersulyok commented 1 year ago

Supermicro X11SCH-LN4, I'm having the same issue as #21 I will await your update to fix the issue as noted in the thread. Thank you for making this! I've spent a month trying to solve my fan rpm oscillation issue.

Please continue the discussion in issue #21.

petersulyok commented 1 year ago

X11SCH-LN4 is working fine for @Rhyolite1.

siliciferous commented 11 months ago

X11SCL-iF seems to work without issue.

The work you've done here is fantastic, you've made granular IPMI fan control in a platform that doesn't expose it in a straightforward way (like allowing us to build our fan curves from BIOS/UEFI setup!) relatively easy.

veita commented 9 months ago

Seems to work on SuperServer E300-9A with A2SDi-TP8F single processor motherboard.

u-w-e-h commented 8 months ago

Works perfect @ A2SDi-H-TPTF motherboard.

hcgonzalezpr commented 7 months ago

Board: X13SAE-F

Board Fan Names: CPU_FAN1 | CPU_FAN2 | SYS_FAN1 | SYS_FAN2 | SYS_FAN3

Script Name Status Notes
set_ipmi_fan_level.sh Works The zones are still the same and the script works as intended
fan_measurement.sh Works [Mod] Needs to have FAN names updated, sleep set to 10sec to give enough time to slow down and sometimes set speed will error with Get Device ID command failed: 0xff Unspecified error Received a response with unexpected ID 0 vs. 1
set_ipmi_threshold.sh Errors Even with the FANs named properly anything beside Lower Critical Error throws the following error Command illegal for specified sensor or record type and fails to apply the failed values.
set_ipmi_fan_mode.sh Works No changes needed
ipmi_bmc_reset.sh Works No changes needed. Reports: Length of the BMC cold reset cycle was 74 seconds.

@petersulyok I only tested the ipmi scripts, I have not run the full solution, let me know if you want me to test something else.

petersulyok commented 7 months ago

Board: X13SAE-F

Please follow the discussion here, at #33.

petersulyok commented 7 months ago

As it was reported above by @hcgonzalezpr, smfc is running on Super Micro X13SAE-F. AST2600 has only one fan threshold sensor Lower Critical, other thresholds are not implemented (i.e. Lower Non-Recoverable, Lower Non-Critical, Upper Non-Critical, Upper Critical, Non-Recoverable), like this:

Sensor ID              : CPU_FAN1 (0x41)
 Entity ID             : 29.1
 Sensor Type (Threshold)  : Fan
 Sensor Reading        : 420 (+/- 0) RPM
 Status                : ok
 Lower Non-Recoverable : na
 Lower Critical        : 140.000
 Lower Non-Critical    : na
 Upper Non-Critical    : na
 Upper Critical        : na
 Upper Non-Recoverable : na
 Positive Hysteresis   : 140.000
 Negative Hysteresis   : 140.000
 Assertion Events      :
 Assertions Enabled    : lcr-
 Deassertions Enabled  : lcr-

Other difference is the naming of the fans: CPU_FAN1, SYS_FAN1, etc.

hcgonzalezpr commented 7 months ago

As it was reported above by @hcgonzalezpr, smfc is running on Super Micro X13SAE-F. AST2600 has only one fan threshold sensor (Upper Critical), other thresholds are not implemented.

I think you got a typo, only Lower Critical is able to be set.

petersulyok commented 6 months ago

I think you got a typo, only Lower Critical is able to be set.

Thanks indeed. My comment has been edited/corrected.

thisisnotmyrealname commented 6 months ago

H11SSL-NC used in a SC846/847 chassis and with an external 44 bay supermicro jbod.

Was failing to start

Maybe a sanity check for people who can't read and are just using the ./smfc.py script to ensure the drivetemp module is loaded?

petersulyok commented 6 months ago

Maybe a sanity check for people who can't read and are just using the ./smfc.py script to ensure the drivetemp module is loaded?

Good idea, now v3.5.0 does this.

emansom commented 5 months ago

Wasn't aware of this thread. X11SSL-F reporting in, all a-okay.

taoning commented 4 months ago

H13SRA-TF not responding to change in fan speed. smfc.serivce is running without error. All fans stayed at 100%

emansom commented 4 months ago

H13SRA-TF not responding to change in fan speed. smfc.serivce is running without error. All fans stayed at 100%

Try a full power off and on cycle after changing the fan mode and fan min & max PWM values, this worked for me.

taoning commented 4 months ago

Try a full power off and on cycle after changing the fan mode and fan min & max PWM values, this worked for me.

Tried full power off and on, fan ramped to 100% within a few seconds after booting into OS. I can only set lower critical RPM through IPMI. Not sure how to set PWM values?

taoning commented 4 months ago

Try a full power off and on cycle after changing the fan mode and fan min & max PWM values, this worked for me.

nvm, it works now, thanks for the tip.

emansom commented 4 months ago

nvm, it works now, thanks for the tip.

@taoning

Make sure lower critical RPM is at least 100 RPM lower than the lowest RPM defined on the fan spec sheet, accounting for manufacturing tolerances and rounded to closest hundred.

So if lowest RPM on spec sheet of the fan is 450 RPM, and the manufacturer tolerances are 25%, then the lower critical RPM should be set to: ((450/100) * (100-25)) - 100 = 237.5, rounded to closest hundred is 200.

vecinohk commented 4 months ago

A2SDi-4C-HLN4F + Noctua NF-P12 redux-1700 PWM

It works perfectly - I am very satisfied. Thanks to all of you who contributed to the development of this great helper.

Xyz00777 commented 3 months ago

trying to get it working for my H11SSL-i with ASPEED AST2500 with an proxmox install. because im not sure with fans are connected on what pwm i tried to set lower to 500 for every fan and 2000 as upper limit for every fan in the config

# This script must be executed by root.
if [ "$EUID" -ne 0 ]
then
    echo "ERROR: Please run as root"
    exit -1
fi

# Setup of the lower threshold limits of the fans (Noctua NF-F12 PWM rotation speed 300-1500 rpm).
# Edit the list of fans here (FAN1, FAN2, FAN4, FANA, FANB)!
for i in 1 2 3 5 A B;
do
    # Edit the lower threshold values here (0, 100, 200)!
    ipmitool sensor thresh FAN${i} lower 500 500 500 500 500 500
done

# Setup of the upper threshold limits of the fans (Noctua NF-F12 PWM rotation speed 300-1500 rpm).
# Edit the list of fans here (FAN1, FAN2, FAN4, FANA, FANB)!
for i in 1 2 3 5 A B;
do
    # Edit the upper threshold values here (1600, 1700, 1800)!
    ipmitool sensor thresh FAN${i} upper 2000 2000 2000 2000 2000 2000
done

i have Iceberg Thermal IceGALE Xtra with 500-2500 rpm and Noctua NH-U9 TR4-SP3 with 400-2000 rpm

after i loaded the modules and executed the install.sh file i have startet the service and got these journalctl log and the service crashed with 100% fan speed

May 31 03:07:18 ds9 systemd[1]: Started smfc.service - Super Micro Fan Control.
May 31 03:07:18 ds9 smfc.service[11931]: Logging module was initialized with:
May 31 03:07:18 ds9 smfc.service[11931]:    log_level = 3
May 31 03:07:18 ds9 smfc.service[11931]:    log_output = 2
May 31 03:07:18 ds9 smfc.service[11931]: Command line arguments:
May 31 03:07:18 ds9 smfc.service[11931]:    original arguments: /opt/smfc/smfc.py -c /opt/smfc/smfc.conf -l 3
May 31 03:07:18 ds9 smfc.service[11931]:    parsed config file = /opt/smfc/smfc.conf
May 31 03:07:18 ds9 smfc.service[11931]:    parsed log level = 3
May 31 03:07:18 ds9 smfc.service[11931]:    parsed log output = 2
May 31 03:07:19 ds9 smfc.service[11931]: Ipmi module was initialized with:
May 31 03:07:19 ds9 smfc.service[11931]:    command = /usr/bin/ipmitool
May 31 03:07:19 ds9 smfc.service[11931]:    fan_mode_delay = 10
May 31 03:07:19 ds9 smfc.service[11931]:    fan_level_delay = 2
May 31 03:07:19 ds9 smfc.service[11931]:    swapped_zones = False
May 31 03:07:29 ds9 smfc.py[11931]: Traceback (most recent call last):
May 31 03:07:29 ds9 smfc.py[11931]:   File "/opt/smfc/smfc.py", line 1150, in <module>
May 31 03:07:29 ds9 smfc.py[11931]:     service.run()
May 31 03:07:29 ds9 smfc.py[11931]:   File "/opt/smfc/smfc.py", line 1119, in run
May 31 03:07:29 ds9 smfc.py[11931]:     self.cpu_zone = CpuZone(self.log, self.ipmi, self.config)
May 31 03:07:29 ds9 smfc.py[11931]:                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
May 31 03:07:29 ds9 smfc.py[11931]:   File "/opt/smfc/smfc.py", line 600, in __init__
May 31 03:07:29 ds9 smfc.py[11931]:     super().__init__(
May 31 03:07:29 ds9 smfc.py[11931]:   File "/opt/smfc/smfc.py", line 395, in __init__
May 31 03:07:29 ds9 smfc.py[11931]:     self.build_hwmon_path(hwmon_path)
May 31 03:07:29 ds9 smfc.py[11931]:   File "/opt/smfc/smfc.py", line 632, in build_hwmon_path
May 31 03:07:29 ds9 smfc.py[11931]:     raise ValueError(self.ERROR_MSG_FILE_IO.format(path))
May 31 03:07:29 ds9 smfc.py[11931]: ValueError: Cannot read file (/sys/devices/platform/coretemp.0/hwmon/hwmon*/temp1_input).
May 31 03:07:33 ds9 smfc.service[11931]: smfc terminated: all fans are switched back to the 100% speed.
May 31 03:07:33 ds9 systemd[1]: smfc.service: Main process exited, code=exited, status=1/FAILURE
May 31 03:07:33 ds9 systemd[1]: smfc.service: Failed with result 'exit-code'.

Please help i dont want my fans to spin up every ~10 sec for 5 sec :(

petersulyok commented 3 months ago

Hi @Xyz00777, please continue the dicussion in #37.