Jump to content

Supermicro X9SCM-F PWM fan_control


downloadski

Recommended Posts

I am trying to get my PWM fans (Noctua) in control on the X9SCM-F mainbord.

It works great on the Supermicro X7SPA i have.

 

 

The sensor command shows the following devices:

 

nct6776-isa-0a30

Adapter: ISA adapter

fan1:        1620 RPM  (min =  300 RPM)                -> FAN-A on the mainbord = CPU cooler Noctua B9 PWM

fan2:          0 RPM  (min =  300 RPM)  ALARM      -> FAN 4 on the mainbord, not used

fan3:        1491 RPM  (min =  300 RPM)                -> FAN 1 on the mainbord = Noctua F12 PWM and Noctua B8 PWM

fan4:        1456 RPM  (min =  300 RPM)                -> FAN 2 on the mainbord = 2 Noctua F12 PWM

fan5:        1422 RPM  (min =  300 RPM)                -> FAN 3 on the mainbord = 2 Noctua F12 PWM

 

This is not matching, but when i log on with IPMI it matches the fan numbering on the mainbord, so the sensors command gives the wrong output it seems. OR it just starts numbering with 1 and continues to 5 ?

 

In the IPMI display there is a red line at 600 rpm (minimal threshold i assume)

 

With the mainbord setting on Full, it runs on 100%, all fans run ok, but noise level is too high.

when i select Standard, it should be 50%  (650 rpm)

Optimal should be 30% (400 rpm)

 

in both the standard and Optimal mode, the fans spin up, drop down and spin back up etc. (about a 25 second cycle)

it seems to go down to 300 rpm, and than up to 1300

 

 

I found a post on hardforum that the threashold in the bios is set above 300 (700 actually) and this causes the spin up/spin downs http://hardforum.com/showpost.php?p=1038204386&postcount=5

Also that person claimed that FAN-A was linked to pwm1 and FAN1-4 are linked to pwm2 (so only 2 controls for all these fan headers)

 

I assume if i can use PWM control from unraid with a fan script, it could put the lower limit above 700 to avoid this up/down behaviour.

 

 

Is there a fellow X9SCM-F owner who uses PWM with a fan script ?

(i tried to send settings with echo to pwm1 and pwm2, but this does not work)

 

 

An other option i found on hardforum was to use IPMI to set another threshold. I do not find options for this in the IPMI View 2.9.10 from supermicro which i downloaded. Is there othere IPMI tooling that can do more ?

 

Link to comment

I can control the fans it seems:

 

root@Tower2:/sys/class/hwmon/hwmon1/device/echo 1 > pwm2_enable

 

root@Tower2:/sys/class/hwmon/hwmon1/device# echo 255 > pwm2

root@Tower2:/sys/class/hwmon/hwmon1/device# cat fan5_input

1422

 

 

root@Tower2:/sys/class/hwmon/hwmon1/device# echo 120 > pwm2

root@Tower2:/sys/class/hwmon/hwmon1/device# cat fan5_input

718

 

root@Tower2:/sys/class/hwmon/hwmon1/device# echo 60 > pwm2

root@Tower2:/sys/class/hwmon/hwmon1/device# cat fan5_input

346

 

Now there seems not longer a 700 rpm threshold

Link to comment

For some reason when I enter "/sys/class/hwmon/hwmon1/device/echo 1 > pwm2_enable" in a telnet session I get the error "/sys/class/hwmon/hwmon1/device/echo: No such file or directory" but if I manually navigate to "/sys/class/hwmon/hwmon1/device/" and type "echo 1 > pwm2_enable" it works. What am I doing wrong here?

 

I want to add this to my go script because without it the X9SCM-F is running my CPU fan at only 950 RPM whereas the base speed is supposed to be 2000 RPM. Enabling pwm2 brings it up to the proper speed though.

Link to comment

I have installed perl via unmenu

 

Also i use the script made by dstroot: http://lime-technology.com/forum/index.php?topic=11310.60

 

i had to alter 1 line only:

 

ARRAY_FAN=/sys/class/hwmon/hwmon1/device/pwm4

 

into:

 

ARRAY_FAN=/sys/class/hwmon/hwmon1/device/pwm2"

 

 

Also you need to perhaps change a line for the fan to minitor the speed of:

 

ARRAY_FAN_INPUT=/sys/class/hwmon/hwmon1/device/fan4_input # Used to track actual rpm values

 

There needs to be a fan connected otherwise it iwll return 0 and not work i think.

 

 

 

Link to comment

I am trying to get my PWM fans (Noctua) in control on the X9SCM-F mainbord.

It works great on the Supermicro X7SPA i have.

 

 

The sensor command shows the following devices:

 

nct6776-isa-0a30

Adapter: ISA adapter

fan1:        1620 RPM  (min =  300 RPM)                -> FAN-A on the mainbord = CPU cooler Noctua B9 PWM

fan2:          0 RPM  (min =  300 RPM)  ALARM      -> FAN 4 on the mainbord, not used

fan3:        1491 RPM  (min =  300 RPM)                -> FAN 1 on the mainbord = Noctua F12 PWM and Noctua B8 PWM

fan4:        1456 RPM  (min =  300 RPM)                -> FAN 2 on the mainbord = 2 Noctua F12 PWM

fan5:        1422 RPM  (min =  300 RPM)                -> FAN 3 on the mainbord = 2 Noctua F12 PWM

 

This is not matching, but when i log on with IPMI it matches the fan numbering on the mainbord, so the sensors command gives the wrong output it seems. OR it just starts numbering with 1 and continues to 5 ?

 

In the IPMI display there is a red line at 600 rpm (minimal threshold i assume)

 

With the mainbord setting on Full, it runs on 100%, all fans run ok, but noise level is too high.

when i select Standard, it should be 50%  (650 rpm)

Optimal should be 30% (400 rpm)

 

in both the standard and Optimal mode, the fans spin up, drop down and spin back up etc. (about a 25 second cycle)

it seems to go down to 300 rpm, and than up to 1300

 

 

I found a post on hardforum that the threashold in the bios is set above 300 (700 actually) and this causes the spin up/spin downs http://hardforum.com/showpost.php?p=1038204386&postcount=5

Also that person claimed that FAN-A was linked to pwm1 and FAN1-4 are linked to pwm2 (so only 2 controls for all these fan headers)

 

I assume if i can use PWM control from unraid with a fan script, it could put the lower limit above 700 to avoid this up/down behaviour.

 

 

Is there a fellow X9SCM-F owner who uses PWM with a fan script ?

(i tried to send settings with echo to pwm1 and pwm2, but this does not work)

 

 

An other option i found on hardforum was to use IPMI to set another threshold. I do not find options for this in the IPMI View 2.9.10 from supermicro which i downloaded. Is there othere IPMI tooling that can do more ?

 

nct6776-isa-0a30 doesn't show on my x9scm. is there something wrong with the unraid kernel? Using 5.0 RC6 test2. Or are there BIOS settings involved?

 

Link to comment

I'm wondering if something changed as well.  I'm running a SuperMicro C2SEE, and when I upgraded from 4.7 to 5.0 last week, PWMCONFIG no longer detects anything. 

 

Its not that big of a deal to me anymore since the other servers I added to the rack drown my unRAID box out anyway, but it would be nice to know why I can no longer do PWM fan control.

Link to comment

 

nct6776-isa-0a30 doesn't show on my x9scm. is there something wrong with the unraid kernel? Using 5.0 RC6 test2. Or are there BIOS settings involved?

i do not know, this is what i see:

 

root@Tower2:~# sensors

coretemp-isa-0000

Adapter: ISA adapter

Physical id 0: +33.0 C  (high = +90.0 C, crit = +94.0 C)

Core 0:        +25.0 C  (high = +90.0 C, crit = +94.0 C)

Core 1:        +30.0 C  (high = +90.0 C, crit = +94.0 C)

Core 2:        +25.0 C  (high = +90.0 C, crit = +94.0 C)

Core 3:        +33.0 C  (high = +90.0 C, crit = +94.0 C)

 

nct6776-isa-0a30

Adapter: ISA adapter

in0:          +0.92 V  (min =  +0.60 V, max =  +1.49 V)

in1:          +1.85 V  (min =  +1.62 V, max =  +1.99 V)

in2:          +3.36 V  (min =  +2.96 V, max =  +3.63 V)

in3:          +3.36 V  (min =  +2.96 V, max =  +3.63 V)

in4:          +1.53 V  (min =  +1.35 V, max =  +1.65 V)

in5:          +1.26 V  (min =  +1.13 V, max =  +1.38 V)

in7:          +3.34 V  (min =  +2.96 V, max =  +3.63 V)

in8:          +3.09 V  (min =  +2.96 V, max =  +3.63 V)

fan1:        1706 RPM  (min =  300 RPM)

fan2:          0 RPM  (min =  300 RPM)  ALARM

fan3:        991 RPM  (min =  300 RPM)

fan4:        1004 RPM  (min =  300 RPM)

fan5:        974 RPM  (min =  300 RPM)

SYSTIN:      +40.0 C  (high = +75.0 C, hyst = +70.0 C)  sensor = thermistor

CPUTIN:      +32.5 C  (high = +80.0 C, hyst = +75.0 C)  sensor = thermistor

AUXTIN:        +1.5 C                                    sensor = thermistor

PECI Agent 0: +38.5 C  (high = +95.0 C, hyst = +92.0 C)

cpu0_vid:    +0.000 V

 

 

 

Link to comment

you need to run sensors-detect to find these controllers i think.

In the script you load the drivers for these modules:

 

# Load adapter drivers:

modprobe ipmi-si

# Load chip drivers:

modprobe coretemp

modprobe w83627ehf

 

Thanks, I do get the output like you described with the sensors command. Do you add these lines to the go script?

Link to comment

I'm wondering if something changed as well.  I'm running a SuperMicro C2SEE, and when I upgraded from 4.7 to 5.0 last week, PWMCONFIG no longer detects anything. 

 

Its not that big of a deal to me anymore since the other servers I added to the rack drown my unRAID box out anyway, but it would be nice to know why I can no longer do PWM fan control.

 

Wow this is a huge deal to me (I have a SuperMicro C2SEE).

 

Can confirm/deny PWMCONFIG doesn't/does work with  SuperMicro C2SEE on unraid v5?

 

I'll start a different thread about it.

Link to comment

I'm wondering if something changed as well.  I'm running a SuperMicro C2SEE, and when I upgraded from 4.7 to 5.0 last week, PWMCONFIG no longer detects anything. 

 

Its not that big of a deal to me anymore since the other servers I added to the rack drown my unRAID box out anyway, but it would be nice to know why I can no longer do PWM fan control.

 

Wow this is a huge deal to me (I have a SuperMicro C2SEE).

 

Can confirm/deny PWMCONFIG doesn't/does work with  SuperMicro C2SEE on unraid v5?

 

I'll start a different thread about it.

 

Thanks to downloadski, its now working! 

 

Stock 5.0 on C2SEE:

root@nas:~# sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +43.0 C  (high = +74.0 C, crit = +100.0 C)
Core 1:      +39.0 C  (high = +74.0 C, crit = +100.0 C)
Core 2:      +45.0 C  (high = +74.0 C, crit = +100.0 C)
Core 3:      +45.0 C  (high = +74.0 C, crit = +100.0 C)

 

 

Adding "modprobe w83627ehf" to the GO file:

root@nas:~# modprobe w83627ehf
root@nas:~# sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +43.0 C  (high = +74.0 C, crit = +100.0 C)
Core 1:      +39.0 C  (high = +74.0 C, crit = +100.0 C)
Core 2:      +45.0 C  (high = +74.0 C, crit = +100.0 C)
Core 3:      +45.0 C  (high = +74.0 C, crit = +100.0 C)

w83627dhg-isa-0290
Adapter: ISA adapter
Vcore:       +1.14 V  (min =  +0.92 V, max =  +1.48 V)
in1:         +1.84 V  (min =  +1.65 V, max =  +1.99 V)
AVCC:        +3.31 V  (min =  +2.96 V, max =  +3.63 V)
VCC:         +3.31 V  (min =  +3.26 V, max =  +3.28 V)   ALARM
in4:         +1.58 V  (min =  +1.35 V, max =  +1.65 V)
in5:         +1.26 V  (min =  +1.13 V, max =  +1.38 V)
in6:         +1.46 V  (min =  +1.42 V, max =  +1.52 V)
3VSB:        +3.38 V  (min =  +2.96 V, max =  +3.63 V)
Vbat:        +3.31 V  (min =  +2.96 V, max =  +3.63 V)
fan1:       1875 RPM  (min =  712 RPM, div = 
fan2:       1939 RPM  (min =  712 RPM, div = 
fan3:       2109 RPM  (min =  712 RPM, div = 
fan4:       1875 RPM  (min =  712 RPM, div = 
fan5:       1854 RPM  (min =  712 RPM, div = 
temp1:       +50.0 C  (high = +60.0 C, hyst = +55.0 C)  sensor = thermistor
temp2:       +43.0 C  (high = +79.0 C, hyst = +74.0 C)  sensor = diode
temp3:        +0.0 C  (high = +79.0 C, hyst = +74.0 C)  sensor = diode
cpu0_vid:   +1.513 V

 

 

I can now see everything!  I also have two "hwmon"s

 

root@nas:/sys/class/hwmon/hwmon1# ls
device@  power/  subsystem@  uevent
root@nas:/sys/class/hwmon/hwmon1# cd device
root@nas:/sys/class/hwmon/hwmon1/device# ls
cpu0_vid    fan4_div    in1_min    in5_max           modalias           pwm2_start_output  pwm4_enable        temp1_type
driver@     fan4_input  in2_alarm  in5_min           name               pwm2_step_output   pwm4_max_output    temp2_alarm
fan1_alarm  fan4_min    in2_input  in6_alarm         power/             pwm2_stop_output   pwm4_mode          temp2_input
fan1_div    fan5_alarm  in2_max    in6_input         pwm1               pwm2_stop_time     pwm4_start_output  temp2_max
fan1_input  fan5_div    in2_min    in6_max           pwm1_enable        pwm2_target        pwm4_step_output   temp2_max_hyst
fan1_min    fan5_input  in3_alarm  in6_min           pwm1_mode          pwm2_tolerance     pwm4_stop_output   temp2_offset
fan2_alarm  fan5_min    in3_input  in7_alarm         pwm1_start_output  pwm3               pwm4_stop_time     temp2_type
fan2_div    hwmon/      in3_max    in7_input         pwm1_stop_output   pwm3_enable        pwm4_target        temp3_alarm
fan2_input  in0_alarm   in3_min    in7_max           pwm1_stop_time     pwm3_mode          pwm4_tolerance     temp3_input
fan2_min    in0_input   in4_alarm  in7_min           pwm1_target        pwm3_start_output  subsystem@         temp3_max
fan3_alarm  in0_max     in4_input  in8_alarm         pwm1_tolerance     pwm3_stop_output   temp1_alarm        temp3_max_hyst
fan3_div    in0_min     in4_max    in8_input         pwm2               pwm3_stop_time     temp1_input        temp3_offset
fan3_input  in1_alarm   in4_min    in8_max           pwm2_enable        pwm3_target        temp1_max          temp3_type
fan3_min    in1_input   in5_alarm  in8_min           pwm2_max_output    pwm3_tolerance     temp1_max_hyst     uevent
fan4_alarm  in1_max     in5_input  intrusion0_alarm  pwm2_mode          pwm4               temp1_offset

 

unraid-fan-speed.sh works now too!

root@nas:/boot/custom/bin# unraid-fan-speed.sh
Highest temp is: 41
Setting pwm to: 225

 

Link to comment

I just checked and apparently my fans were spinning pretty slow. I noticed that since I switched to 5.0 my temps went up 4-6 degrees.  Now that the sensors, and the fan speed control script, are working again, my temps are back down.  I'm very happy!

 

Thanks again downloadski!!

Link to comment

I just checked and apparently my fans were spinning pretty slow. I noticed that since I switched to 5.0 my temps went up 4-6 degrees.  Now that the sensors, and the fan speed control script, are working again, my temps are back down.  I'm very happy!

 

Thanks again downloadski!!

 

Yes, good job downloadski and thank you so very much!

Link to comment
  • 1 month later...

Also i use the script made by dstroot: http://lime-technology.com/forum/index.php?action=post;quote=153187;topic=11310.60;last_msg=165603

 

i had to alter 1 line only:

 

ARRAY_FAN=/sys/class/hwmon/hwmon1/device/pwm4

 

into:

 

ARRAY_FAN=/sys/class/hwmon/hwmon1/device/pwm2"

 

 

Also you need to perhaps change a line for the fan to minitor the speed of:

 

ARRAY_FAN_INPUT=/sys/class/hwmon/hwmon1/device/fan4_input # Used to track actual rpm values

 

There needs to be a fan connected otherwise it iwll return 0 and not work i think.

 

Downloadski, I wrote the original script (based on Starcat's work) that dstroot improved, cleaned up, and looped so there isn't a need for a cron job. Your modifications are correct, and in fact I made the exact same changes for my X9SCM board a while back. I just found this thread, but I wanted to confirm your changes are valid. You do need to make both changes you suggested, because without the fan speed detection, the script will fail. Good work on doing the digging around and finding the correct pwm variables.  :)

 

However, has anyone noticed that occasionally the board will force the fans to drop below 700? I modified my script to check every minute, so it resets to the correct speed, but it is annoying. I'm running the 1.1 bios, with the Fan Control Speed set on Standard in the bios. Anyone else having this issue?

Link to comment

Aiden, i must thank you also than.

It works for me, and never drops below 700 i think (would the mainbord not ramp it back up to full if so ?)

 

I have to look in the script to force my cpu fan down as well. Perhaps not temperature controlled, but just in decrements of 10% down and check i not see the temp go up.

I have a rather large fan and a 45 watt tdp cpu, so i never see it above 30 degrees celcius.

The noise can be much lower without overheating the cpu i bet.

Link to comment
  • 3 weeks later...
  • 2 months later...

For some reason when I enter "/sys/class/hwmon/hwmon1/device/echo 1 > pwm2_enable" in a telnet session I get the error "/sys/class/hwmon/hwmon1/device/echo: No such file or directory" but if I manually navigate to "/sys/class/hwmon/hwmon1/device/" and type "echo 1 > pwm2_enable" it works. What am I doing wrong here?

 

Errr.... that should be:

echo 1 > /sys/class/hwmon/hwmon1/device/pwm2_enable

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...