Fan Scripts for Supermicro Boards Using PID Logic

Fan Scripts for Supermicro Boards Using PID Logic 2020-08-20, previous one was missing a file

phier

Patron
Joined
Dec 4, 2012
Messages
400
hello,
i found that thread via https://www.truenas.com/community/t...rds-using-pid-logic.51054/page-13#post-551335 posted on reddit. not sure ... but i have supermicro X11SSL-F and noctua 3x nf-s12b redux 1x NF-a14 pwm.

Basically i tried some hacks via ipmi tool but still all fan are running to 100% (https://www.truenas.com/community/t...fans-and-supermicro-board.101578/#post-699286)

Is there some solution for that issue as when i contacted directly supermicro/ noctua noone provides any solution, they are just aware of the issue.

Thanks
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703
Where have you connected the fans? FANA ? or FAN1 ?

You may find the follwing hints from one of the PID script' headers helpful...

Code:
# The following ipmitool commands can be run when connected to the FreeNAS
# server via ssh.  They are useful to set a desired fan duty cycle before
# checking the fan speeds.

# Set duty cycle in Zone 0 to 100%: ipmitool raw 0x30 0x70 0x66 0x01 0x00 100
# Set duty cycle in Zone 0 to  50%: ipmitool raw 0x30 0x70 0x66 0x01 0x00 50
# Set duty cycle in Zone 0 to  20%: ipmitool raw 0x30 0x70 0x66 0x01 0x00 20

# Set duty cycle in Zone 1 to 100%: ipmitool raw 0x30 0x70 0x66 0x01 0x01 100
# Set duty cycle in Zone 1 to  50%: ipmitool raw 0x30 0x70 0x66 0x01 0x01 50
# Set duty cycle in Zone 1 to  20%: ipmitool raw 0x30 0x70 0x66 0x01 0x01 20

# Check duty cycle in Zone 0:
#   ipmitool raw 0x30 0x70 0x66 0x00 0x00
# result is hex, with 64 being 100% duty cycle. 32 is 50% duty cycle.
# 14 is 20% duty cycle.

# Check duty cycle in Zone 1:
#    ipmitool raw 0x30 0x70 0x66 0x00 0x01
# result is hex, with 64 being 100% duty cycle.  32 is 50% duty cycle.
# 14 is 20% duty cycle.

# Check fan speeds using: ipmitool sdr


Maybe start with the last one... what do you get from ipmitool sdr ?
 

lmannyr

Contributor
Joined
Oct 11, 2015
Messages
198
Sheesh...Freenas turned to trunas, now core, and scale.... I'm currently on Trunas Core 12.
The Fan script no longer starts up at boot up via init scripts. Pointers? Script still works if a TMUX it.
 

Sjöhaga

Dabbler
Joined
Apr 17, 2016
Messages
41

Sjöhaga

Dabbler
Joined
Apr 17, 2016
Messages
41
@sjohaga why it shouldnt be needed?
It is my understanding from reading the forums that previously this worked without extra scripts for "most people", but there are several posts now from users where it is no longer working. (of course it is quite possible that it never did and that all the ones that are quiet already have had it start using a separate script :smile: , but there is little evidence supporting that from what I have seen).

(I'm an old 'scriptkiddie' and used to make tiny scripts to make things work, smooth working tools like FreeNAS/TrueNAS wasn't always there :wink: )
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703
The Fan script no longer starts up at boot up via init scripts. Pointers? Script still works if a TMUX it.
start it with tmux... as I indicate here:
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703
i will connect that hub to the 3 pin case controller.
does it make a sense?
I'm not convinced that will get you to controlling the fans like you think it might... I don't see that multiplier cable as a "signal converter" from 4 to 3 pins.

I would entirely avoid the 3-pin connector on your case and use only the headers on the motherboard so the script can do its work.
 

phier

Patron
Joined
Dec 4, 2012
Messages
400
@sretalla dont know, so confused... some ppl said it will never work... and its better to do via 3pin case controller...
now i can see OpenCorsairLink no clue what is it and if that's compatible with noctua a supermicro boards...
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703
now i can see OpenCorsairLink no clue what is it and if that's compatible with noctua a supermicro boards...
It's a fan controller.

It connects to whatever motherboard over a USB (2 or 3) header and after that it can drive 6 fans of either 3 or 4 pin types (including a mix of both if that's necessary).
 

phier

Patron
Joined
Dec 4, 2012
Messages
400
@sretalla okay, then it just confirms that supermicro controller doesnt work with the noctua fans.
Othervwise i dont get it why another controller as supermicro mb already has it.

thanks
 

phier

Patron
Joined
Dec 4, 2012
Messages
400
also opencorsairlink is a tool ... so there should be some specific controller/ hw.
are we talking about

Corsair iCUE Commander PRO Smart RGB Lighting and Fan Speed Controller which is around 80euro?​

 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703
also opencorsairlink is a tool ... so there should be some specific controller/ hw.
are we talking about

Corsair iCUE Commander PRO Smart RGB Lighting and Fan Speed Controller which is around 80euro?​

Right.

@sretalla okay, then it just confirms that supermicro controller doesnt work with the noctua fans.
Othervwise i dont get it why another controller as supermicro mb already has it.
I don't recall having said that... the supermicro board can work just fine to control fans that match the headers they are connected to. If the headers are 4 pin and so are the fans, then Noctua fans are fine... plenty of folks who use them with supermicro boards as the controller.
 

phier

Patron
Joined
Dec 4, 2012
Messages
400
@streta
the supermicro board can work just fine to control fans that match the headers they are connected to. If the headers are 4 pin and so are the fans, then Noctua fans are fine... plenty of folks who use them with supermicro boards as the controller.
thats the issue, why i opened thread regarding it... it doesn't work ... it has to be modificated and its not straight forward.
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703
thats the issue, why i opened thread regarding it... it doesn't work ... it has to be modificated and its not straight forward.
OK, well if for some reason we've been through all the options and nothing works, then the corsair commander pro is a way to get to controlling your fans without the relying on motherboard.

I'm not convinced we really got to the end of troubleshooting the issues with ipmitool... maybe I need to look back over the thread and see where we hit the wall.

EDIT: nope... I don't see any feedback at all from you about having tried any of the standard commands I posted... can you try those and share what's coming back?
 

phier

Patron
Joined
Dec 4, 2012
Messages
400
Maybe start with the last one... what do you get from ipmitool sdr ?
@sretalla
okay makes a sense

[root@freenas] ~# ipmitool sdr
CPU Temp | 30 degrees C | ok
PCH Temp | 33 degrees C | ok
System Temp | 26 degrees C | ok
Peripheral Temp | 26 degrees C | ok
VcpuVRM Temp | 31 degrees C | ok
DIMMA1 Temp | 28 degrees C | ok
DIMMA2 Temp | 28 degrees C | ok
DIMMB1 Temp | 28 degrees C | ok
DIMMB2 Temp | no reading | ns
FAN1 | 1200 RPM | ok
FAN2 | 1200 RPM | ok
FAN3 | 1200 RPM | ok
FAN4 | 1400 RPM | ok
FANA | 1700 RPM | ok
12V | 12.26 Volts | ok
5VCC | 4.95 Volts | ok
3.3VCC | 3.32 Volts | ok
VBAT | 3.03 Volts | ok
VCPU | 0.98 Volts | ok
VDIMMAB | 1.19 Volts | ok
5VSB | 5 Volts | ok
3.3VSB | 3.27 Volts | ok
VBMC 1.2V | 1.21 Volts | ok
VPCH 1.0V | 1.01 Volts | ok
Chassis Intru | 0x01 | ok


FAN1 | 1200.000 | RPM | ok | 0.000 | 100.000 | 200.000 | 25300.000 | 25400.000 | 25500.000
FAN2 | 1200.000 | RPM | ok | 0.000 | 100.000 | 200.000 | 25300.000 | 25400.000 | 25500.000
FAN3 | 1200.000 | RPM | ok | 200.000 | 200.000 | 300.000 | 25300.000 | 25400.000 | 25500.000
FAN4 | 1400.000 | RPM | ok | 100.000 | 200.000 | 300.000 | 25300.000 | 25400.000 | 25500.000
FANA | 1700.000 | RPM | ok | 300.000 | 500.000 | 700.000 | 25300.000 | 25400.000 | 25500.000


but not idea how to pair FAN1-FAN4 with zones? zone 0 is fana, zone1 = fan1 etc?
thanks
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703
but not idea how to pair FAN1-FAN4 with zones? zone 0 is fana, zone1 = fan1 etc?
That's what is done inside the script... you need to look for that section in the top part of the script and either follow the guidance there or modify the parts of the script needed to include additional headers.

Code:
#---------------------------------------------------------------------------
## FAN ZONES
## Your CPU/case fans should probably be connected to the main fan sockets,
## which are in fan zone zero
## Your HD fans should be connected to FANA which is in Zone 1
## You could switch the CPU/HD fans around, as long as you change the zones
## and fan header configurations.
##
## 0 = FAN1..5
## 1 = FANA..FANC
#---------------------------------------------------------------------------
my $cpu_fan_zone = 0;
my $hd_fan_zone  = 1;

#---------------------------------------------------------------------------
## FAN HEADERS
## these are the fan headers which are used to verify the fan zone is high.
## FAN1+ are all in Zone 0, FANA is Zone 1.
## cpu_fan_header should be in the cpu_fan_zone
## hd_fan_header should be in the hd_fan_zone
#---------------------------------------------------------------------------
my $cpu_fan_header = "FAN1";   # used for printing to standard output for debugging
my $hd_fan_header  = "FANA";   # used for printing to standard output for debugging
my @hd_fan_list = ("FAN1", "FANA");    # used for logging to file


Have you tested the fan setting commands to see if you can actually change the speeds of the fans with them?

Check Zone 0 fans:
ipmitool raw 0x30 0x70 0x66 0x00 0x00

Set Zone 0 fans to 100%:
ipmitool raw 0x30 0x70 0x66 0x01 0x00 100

Set Zone 0 fans to 30%:
ipmitool raw 0x30 0x70 0x66 0x01 0x00 20
 
Top