View Issue Details

IDProjectCategoryView StatusLast Update
0000377SpeedFanFan controlpublic2009-05-04 17:01
ReporterKernelSoftware Assigned Toalfredo  
Status resolvedResolutionfixed 
PlatformIntel D945GTPLKR, Pentium D 820OSWindows XP ProOS VersionSP2
Product Version4.26 
Fixed in Version4.36 
Summary0000377: Unhappy with fan speed control reliability
DescriptionFirst, let me thank Alfredo for his fabulous work on this program, site, and support. I really appreciate all his efforts and responses.

However, I can't seem to get SpeedFan to perform the desired tasks reliably. Either there is a bug in the support for this platform or I'm unhappy with the fan speed control algorithm.

Here are the settings:

Desired CPU temp: 70, Alert CPU temp: 75
Desired Case temp: 60, Alert Case temp: 65

(Even these temps are well within the danger zone for this platform. The CPU can handle up to 100 C and the other components, even higher. I believe this 25 degree safety margin is sufficient.)

CPU fan speed bound to CPU temp only
Case fan speed bound to Zone 1 and 2 temps only (hotter of the two)

Here's what I expect:

A fan speed should be at its minimum unless its bound temp is at or above its desired temp. Once a desired temp is reached, its controlled fan speed should increase by the delta amount until the temp stops rising. If the alert temp is reached, the fan speed should go to maximum until the temp drops below the alert temp. (With a properly configured cooling solution, this should happen rarely, even under full load.) If the temp continues to fall, the controlled fan speed should be reduced by the delta amount. If the temp remains with the range from desired to alert temps and remains constant, then the controlled fan speed should remain constant. However, if the temp falls below the desired temp, the the controlled fan speed should be reduced by the delta amount until the minimum is reached.

Here's what I see in practice (many hours of observation on five indentically configured machines):

Most of the time the SpeedFan keeps the CPU and Case fans at their minimum values. Under load, SpeedFan increases the fan speeds before the desired temps are reached. (If this is by design, I don't like the algorithm. The object for me is noise reduction. I want minimum noise until I start to worry about the temp.) In many tests, SpeedFan reduces the fan speeds once the temps fall.

However, in other observations, the fan speeds increase for no apparent reason. Even though all temps are below the desired values and one or more fans spin at high rates. In some observations, it is the CPU fan alone, in others it is the Case fan alone, and in others it is both fans. For example, I have seen times when the CPU fan is running at the minimum while the case fan is running at the maximum even though the CPU temp is only 55 and the Case temp 45. Since both temps are less than the desired values, I expect both fans at minimum speed.

I read previous posts that indicate that previous versions might have used different algorithms. However, I agree with SpeedFanFan's comments that when the temps are below the desired temps, the fans should be at minimum speed. If this is not the current algorithm, I think it should at least be an option.

Simply put:

If Temp < Desired, then fan speed = minimum.
If Temp >= Desired and < Alert with Temp rising, then increase fan speed by delta.
If Temp >= Desired and < Alert with Temp falling, then decrease fan speed by delta.
If Temp >= Desired and < Alert with Temp constant, then use current fan speed.
If Temp >= Alert, then increase fan speed to maximum.

With proper use of Desired, Alert, and delta, I believe this algorith would accomodate most scenarios. For example, if noise is not an issue, you could set a much lower Desired temp and smaller delta to allow SpeedFan a wider variation of fan speeds over a wider range of temps.

PS: I would sure prefer to enter the desired fan speeds as RPM rather %. I for one relate noise level to RPM rather than percent.

Thanks again for this forum!
Additional InformationWith its latest products, Intel has included a technology called Precision Cooling. This seems to work fine for the CPU. At low loads, the CPU fan spins at only 1000 rpm and is very quiet. It also ramps up smoothly over a fairly wide range. (While this is not my preference, it is at least acceptable to me.) However, Intel's Precision Cooling initiative doesn't include the other fans that might be connected to the main board.

So, in a slim case like the Evercase E1290B, even at system idle, while the CPU fan is at a quiet 1000 rpm, the side case fan is at 2500-3000 rpm. As the load increases, the CPU fan speeds up to 2500-2800 rpm while the side case fan speeds up to 3500-3800 rpm. The faster CPU fan speed actually helps to keep the side fan speed in check due to increased air flow. When the load is suddenly removed, the CPU fan quickly slows dow again. Not so for the side fan! Since the slowing CPU fan reduces the air flow, the side fan actually speeds up to over 4000 rpm to make up for it until the temp returns to normal.

Thus, I believe there is a great need for a program like SpeedFan that allows a more intelligent and coordinated effort to control both cooling and noise. With SpeedFan working properly, it allows the individual to achieve the cooling and noise level that best meets their need.
TagsNo tags attached.
Motherboard Model
Video Card Model



2005-10-26 17:39

administrator   ~0001310

I can see two options here:
1) are you sure that SpeedFan is the only tool controlling fan speeds?
2) are you sure that there is no other temperature acting on any fan speed?


2005-10-29 03:24

reporter   ~0001321

Last edited: 2005-10-29 03:30

Once again, you are absolutely correct, Alfredo. I happen to be on one of the systems today when one the seemingly random events occurred. The task was busying the hard drive without much CPU required. All of a sudden, the fan speeds jumped up. Then it struck me. We have never been concerned about hard drive temperature, but SpeedFan defaults to assigning all fans to all temperatures. So I opened the HD temperature and found all fans assigned to it. So, as soon as the hard drive exceeded 40 C, all the fans kicked in. I removed all fans from the hard drive temperature and now SpeedFan is working as expected (which is very good), but not ideally.

My observations indicate the algorithm used is not the one I outlined (my preferred method), but the one mentioned by SpeedFanFan previously. It appears that even if the temperatures are below the desired values, but the temperatures are no longer falling, SpeedFan does not reduce the fan speeds to their minimums. The algorithm that I outlined would reduce the fan speeds to their minimums regardless of whether the temperatures were rising or falling as long as they were below the desired temp. I think this is what SpeedFanFan was requesting also and I agree.

Can you confirm that your current algorithm does not continue to lower fan speeds once the temperatures have stopped falling even though they are below the desired values?


2009-05-04 17:01

manager   ~0004750

SpeedFan 4.36 should have greatly improved fan control.

Issue History

Date Modified Username Field Change
2005-10-26 06:29 KernelSoftware New Issue
2005-10-26 17:39 almico Note Added: 0001310
2005-10-26 17:39 almico Severity major => feature
2005-10-26 17:39 almico Status assigned => acknowledged
2005-10-29 03:24 KernelSoftware Note Added: 0001321
2005-10-29 03:30 KernelSoftware Note Edited: 0001321
2009-05-04 17:01 alfredo Note Added: 0004750
2009-05-04 17:01 alfredo Status acknowledged => resolved
2009-05-04 17:01 alfredo Resolution open => fixed
2009-05-04 17:01 alfredo Fixed in Version => 4.36