Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SMFC hardware compatibility #19

Open
petersulyok opened this issue May 28, 2023 · 28 comments
Open

SMFC hardware compatibility #19

petersulyok opened this issue May 28, 2023 · 28 comments
Labels
documentation Improvements or additions to documentation

Comments

@petersulyok
Copy link
Owner

petersulyok commented May 28, 2023

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 petersulyok added the documentation Improvements or additions to documentation label May 28, 2023
@petersulyok
Copy link
Owner Author

Super Micro X11SCH-F motherboard is OK.

@petersulyok
Copy link
Owner Author

petersulyok commented May 28, 2023

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

@secabeen
Copy link

Works great on my X11SAE-F-O

@alexhelms
Copy link

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
Copy link
Owner Author

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

@staaled
Copy link

staaled commented Jun 15, 2023

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
Copy link

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.

Repository owner deleted a comment from Rhyolite1 Aug 2, 2023
@petersulyok
Copy link
Owner Author

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
Copy link
Owner Author

X11SCH-LN4 is working fine for @Rhyolite1.

@siliciferous
Copy link

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
Copy link

veita commented Dec 17, 2023

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

@u-w-e-h
Copy link

u-w-e-h commented Jan 14, 2024

Works perfect @ A2SDi-H-TPTF motherboard.

@hcgonzalezpr
Copy link

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
Copy link
Owner Author

Board: X13SAE-F

Please follow the discussion here, at #33.

@petersulyok
Copy link
Owner Author

petersulyok commented Feb 22, 2024

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
Copy link

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
Copy link
Owner Author

petersulyok commented Feb 23, 2024

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

Thanks indeed. My comment has been edited/corrected.

@thisisnotmyrealname
Copy link

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
Copy link
Owner Author

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
Copy link
Contributor

emansom commented Apr 3, 2024

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

@taoning
Copy link

taoning commented Apr 24, 2024

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

@emansom
Copy link
Contributor

emansom commented Apr 24, 2024

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
Copy link

taoning commented Apr 24, 2024

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
Copy link

taoning commented Apr 24, 2024

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
Copy link
Contributor

emansom commented Apr 25, 2024

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
Copy link

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
Copy link

Xyz00777 commented May 31, 2024

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
Copy link
Owner Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests