Temperature based fan speed control?


xamindar

Recommended Posts

Ok. I was all the time on 3-pin server setting. Disabled means the fans stay at 12v without varying speed at all. The difference between 3-pin workstation and 3-pin server is that with workstations the fans will go slower than with server, that's it pretty much. There is also no difference in the tree between server and workstation. What I haven't tried is to see what happens with Disabled?! I'll post results in couple of minutes...

Link to comment

2-pin and 3-pin fans are both controlled with PWM

 

pin 1 is ground

pin 2 is v+

pin 3 is clock signal (speed sensor)  (if present)

pin 4 is control.  (if present)

 

http://www.formfactors.org/developer/specs/REV1_2_Public.pdf

 

With a 4-pin wire, a signal is sent on the 4th wire to the fan, and the FAN does the pwm.  With 2-pin or 3-pin fans, the mobo does the pwm.

 

To lower the voltage from the standard 12-volt source requires something to waste (shunt to ground) the excess via a voltage regulator or a rheostat.

Link to comment

Ok, guys, I am using the Noiseblocker XK2 140mm fans, just veryfied again and they are indeed 3-pin fans with tachymeter signal. Checked the fan connectors on the X7SBE mobo and they are for 3-pin and 4-pin fans, however there is a notch so that you can't plugin on the wrong pins (see attached jpeg from the mobo drawing).

 

With the BIOS set to Disaled Fan Control there is still no pwm_enable file and fan2_input shows always 0, exactly as with the other settings for 3-pin and 4-pin Fan Speed Control. I am attaching the output of ls -l /sys/class/hwmon/hwmon0/device/* and the output of pwmconfig for Disabled. I am able to write a value to pwm2 and verify that it contents changes, but not the actual fan speed! pwm_enable is still missing... Sure, I don't miss any packages?

pwmconfig.txt

sys-class-hwmon-hwmon0-device.txt

fan-connectors-x7sbe.jpg.19a58512e05ce8916628b7ae19faf228.jpg

Link to comment

I don't think that this has something to do with 3-pin vs. 4-pin fans by itself. It is more something unRaid related to the X7SBE.

 

You should get the Scythe Ultra Kaze 3000 rpm 120mm fans if you plan to put the case where noise isn't an issue. Those are the best in terms of high pressure fans, best match for a high density server case like the Norco's.

Link to comment

You can't use PWM to control fan speed when you plug a 3-pin fan into a 4-wire can header.  The mobo will use the 4th pin for the PWM signal, and not pulse the voltage on pin 2.

 

You can only do PWM control to a 2-pin fan from a 2-pin or 3-pin fan header.

You can only do PWM control to a 3-pin fan from a 2-pin or 3-pin fan header.

You can only do PWM control to a 4-pin fan from a 4-pin fan header.

Link to comment

Geez.... I can't make it any simpler:

 

You can only do PWM control to a 2-pin fan from a 2-pin or 3-pin fan header.

You can only do PWM control to a 3-pin fan from a 2-pin or 3-pin fan header.

You can only do PWM control to a 4-pin fan from a 4-pin fan header.

 

You can stick ANY fan on ANY header and it will spin (at full speed), because pins 1 and 2 are the same for all fans and all headers.

 

But you can only to pwm speed control in the combinations I explained above. 

 

The BIOS can not give you anything that does not meet the above.... the BIOS may REMOVE some options or disable pwm, but only within the above limits

Link to comment

Here is the difference between 4-pin pwm and 2/3-pin pwm.

 

In 2/3 pin pwm, the voltage is pulsed on pin 2.  This has widely varying effects on different fans.  some will stall with settings under 50.  Some will double their RPM when changing pwm just a small amount, from 90 to 125.  On another fam going from pwm of 90 to 150, may only increase speed a small amount.  Some will have an annoying buzz.

 

In a 4-pin pwm, the 12-volts on pin 2 is constant, and a signal is sent over pin 4 to the fan, that tells the fan a percentage of capacity to us.  If the signal says 25%, then the fan is supposed to run at 25% of max.  If the signal says 60%, then the fan is supposed to spin at 60% of max.

 

Please look at figure 2 in this document:

 

http://www.formfactors.org/developer/specs/REV1_2_Public.pdf

Link to comment

BubbaQ, got it, thanks much! This is probably I am always getting 0rpm reported throgh the OS, just because I am running 3-pin fans on 4-pin connectors. Just because it is pssible to run them, doesn't obviously mean I get PWM all the way down :-) I am looking to swap the fans to 4-pin PWM enabled fans and will report how it turns out.

Link to comment

No, they are all 4-pin. The manual says not to mix 3-pin and 4-pin fans. And the operation can be set in the BIOS to 3-pin or 4-pin. I am not sure on this, but isn't it possible that they change through the BIOS how the pins behave, being the reason not to mix 3-pin and 4-pin fans?

 

Anyway, I will change to 4-pin, not a problem and it is obvious that 4-pin technology is more mature. Hopefuly I will get speed control from the OS depending on the temp at the HDDs. Even being able to turn them off while all disks are spun down.

 

Link to comment

@starcat, check out the GELID Solutions FN-PX12-15 120mm Case Fan with Intelligent PWM.  I think I may get this fan to replace the 120mm fans that will be included in the Norco 4220 or 4224 case.  The fan comes recommended in the AVS HTPC forum.

 

Although I will be locating the server in a utility closet in the basement, on side of the closet happens to be my entertainment rack for my home theater.  So a loud server will definitely be heard just like a loud HTPC.

Link to comment

I would NOT use that fan in a server.  It does not move enough air or produce enough head.

 

Get a 2800RPM or higher fan.... minimum.  Then use pwm or a fan controller to run it slower (quieter) when you don't need the maximum airflow.

 

You size/spec your fans for the worst-case scenario... that means parity checks, with all drives hot and needing to be cooled.

 

You can always slow down a fast fan... but that Gelid fan, you can't turn up high if you need it.

Link to comment

You size/spec your fans for the worst-case scenario... that means parity checks, with all drives hot and needing to be cooled.

You can always slow down a fast fan... but that Gelid fan, you can't turn up high if you need it.

 

This is what I thought also. I have eyeballed the Scythe Ultra Kaze 38mm thickness fan with 3000 rpm, but they don't have PWM. Found the 25mm thick Noiseblocker BlackSilentFan XLP with 41-75 CFM, but I'm not sure it would provide enough airflow for 20 drives performing parity calc.

 

Perhaps the DELTA's, both 120mm

3900 rpm with 148.34 CFM

http://www.newegg.com/Product/Product.aspx?Item=N82E16835706028&cm_re=120mm_fan_PWM-_-35-706-028-_-Product

or even

6000 rpm with 210.38 CFM

http://www.newegg.com/Product/Product.aspx?Item=N82E16835706022&cm_re=120mm_fan_PWM-_-35-706-022-_-Product

but having three of them the former should be more than a match?!

 

BubbaQ, which fans are you running?

Link to comment
  • 2 months later...

Guys, got three of those 4-pin PWM 120mm DELTAs (3900 rpm with 148.34 CFM)

http://www.newegg.com/Product/Product.aspx?Item=N82E16835706028&cm_re=120mm_fan_PWM-_-35-706-028-_-Product

 

Also changed the CPU fan and both case fans to 4-pin PWM fans so that now all fans used in the system are 4-pin PWM.

I set the BIOS to 4-pin PWM but I still can't get the unraid-fan-speed.sh script to work.

 

echo 0 > /sys/class/hwmon/hwmon0/device/pwm?

and

echo 255 > /sys/class/hwmon/hwmon0/device/pwm?

doesn't do anything. I also don't have pwm_enable. However when the server boots, fans rotate at full speed, then when the OS is running, speed is reduced. Config is in my sig. I am running stock unRAID 4.5.4.

 

Any help highly appreciated.

Link to comment

You need to research your chipset and what Linux kernel drivers work with it and what those drivers support. You are probably not going to find much help here I'm afraid as people here probably aren't kernel hackers. You might want to check lkml.org and maybe subscribe to that list to ask your questions.

Link to comment

Which is the correct driver and how can I influence this? I am running stock unrAID 4.5.4 from an USB stick. Do I need to install full Slackware? Getting this to work is absolutely crucial.

 

If you are up to running unRAID on a full Slackware install, then that is your best option.

 

I would do a test install of Slackware first, and see if you get pwm control of the fans.  If you do, then add unRAID.  If not, you need to do more research on a driver for your chipset.

Link to comment

I would do a test install of Slackware first, and see if you get pwm control of the fans.  If you do, then add unRAID.  If not, you need to do more research on a driver for your chipset.

 

That's a good idea. Are there any Slackware Live CDs available? I will try connecting the CD/DVD image through my IPMI card and run it from there over the network.

Link to comment

Thanks for the tip, in the meantime here the output of pwmconfig, the output looks strange to me.

 

root@tower:/usr/sbin# pwmconfig

# pwmconfig revision 5345 (2008-09-28)

This program will search your sensors for pulse width modulation (pwm)

controls, and test each one to see if it controls a fan on

your motherboard. Note that many motherboards do not have pwm

circuitry installed, even if your sensor chip supports pwm.

 

We will attempt to briefly stop each fan using the pwm controls.

The program will attempt to restore each fan to full speed

after testing. However, it is ** very important ** that you

physically verify that the fans have been to full speed

after the program has completed.

 

Found the following devices:

  hwmon0/device is w83627hf

  hwmon1/device is coretemp

  hwmon2/device is coretemp

 

Found the following PWM controls:

  hwmon0/device/pwm1

  hwmon0/device/pwm2

 

Giving the fans some time to reach full speed...

Found the following fan sensors:

  hwmon0/device/fan1_input    current speed: 0 ... skipping!

  hwmon0/device/fan2_input    current speed: 0 ... skipping!

  hwmon0/device/fan3_input    current speed: 0 ... skipping!

 

There are no working fan sensors, all readings are 0.

Make sure you have a 3-wire fan connected.

You may also need to increase the fan divisors.

See doc/fan-divisors for more information.

http://www.lm-sensors.org/browser/lm-sensors/trunk/doc/fan-divisors

 

Also

 

root@tower:/usr/sbin# sensors

w83627hf-isa-0290

Adapter: ISA adapter

VCore 1:    +0.00 V  (min =  +1.09 V, max =  +1.50 V)  ALARM

VCore 2:    +0.00 V  (min =  +1.09 V, max =  +1.50 V)  ALARM

+3.3V:      +0.00 V  (min =  +2.82 V, max =  +3.79 V)  ALARM

+5V:        +5.11 V  (min =  +6.40 V, max =  +6.83 V)  ALARM

+12V:        +0.00 V  (min = +13.56 V, max = +15.26 V)  ALARM

-12V:      -14.91 V  (min =  -1.83 V, max =  -5.53 V)  ALARM

-5V:        -7.71 V  (min =  +4.70 V, max =  -1.33 V)  ALARM

V5SB:        +5.67 V  (min =  +6.72 V, max =  +6.85 V)  ALARM

VBat:        +3.26 V  (min =  +4.05 V, max =  +3.82 V)  ALARM

Fan1:        0 RPM  (min = 1004 RPM, div = 64)  ALARM

Fan2:        0 RPM  (min = 1004 RPM, div = 64)  ALARM

Fan3:        0 RPM  (min = 1004 RPM, div = 64)  ALARM

temp1:      +127.0°C  (high = +45.0°C, hyst = -69.0°C)  ALARM  sensor = thermistor

temp2:      +127.0°C  (high = +80.0°C, hyst = +75.0°C)  ALARM  sensor = thermistor

temp3:      +127.0°C  (high = +80.0°C, hyst = +75.0°C)  ALARM  sensor = thermistor

cpu0_vid:  +1.519 V

beep_enable:enabled

 

coretemp-isa-0000

Adapter: ISA adapter

Core 0:      +68.0°C  (high = +78.0°C, crit = +100.0°C) 

 

coretemp-isa-0001

Adapter: ISA adapter

Core 1:      +67.0°C  (high = +78.0°C, crit = +100.0°C) 

 

Find'ing at /lib/modules/2.6.32.9-unRAID I don't see any libsensors and also modprobe -l | grep sensor doesn't show anything. pwmconfig reports the w83627hf chip and there is also the appropriate section in /etc/sensors3.conf, changes in the config file are reflected when I call /usr/bin/sensors. I suspect the appropriate module is simply missing...

 

 

 

Link to comment

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.