How is fan speed controlled?

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View

Hi all:

I have a Dell Dimension E510 with thermal management issues,  It
periodically slows down to about 1% of normal speed for several
minutes.  It has a variable-speed case fan sandwiched between the
front of the case and a large heat sink on the CPU.  I have spent the
better part of two weeks making sure this wasn't a virus, spyware,
malware, driver issue, hard disk issue, memory issue, etc. (thanks to
several on this NG for their help with that, BTW).

I replaced the fan with a new one (Dell pn Y4574), only to find that
the problem persists.  Coincident with the slowing issue, I noticed
that the fan never speeds up beyond "idle" speed, except for a brief
second at power-on.  Presumably, this is some sort of self-test.  It
never speeds up again, even when running exhaustive CPU testing
algorithms designed to heat it up.  Since the new fan exhibits the
same symptom, I can only assume it is a temperature sensor somewhere
that has failed.  Can anyone tell me how this works on a Dell?  Can
the sensor be replaced, or is it part of the motherboard circuitry?

I considered getting an aftermarket fan, but I've read the Dell looks
for the presence of the fan and will generate an error if it isn't
plugged into it's (proprietary, thanks Dell) connector.  It uses a 5-
pin connector, but only 4 wires of the pin.  The color codes don't
match the standard ones, either.  My choices, in my order of
preference, appear to be as follows:

1: Hot-wire the existing fan to run at full speed all the time.  I'd
like to try this, just to prove that its a cooling issue and not
something else.  How?

2: Replace the defective thermal sensor/circuit/whatever.  Anybody
have a clue where to start?

3: Buy an aftermarket 120mm temperature-controlled fan and jumper the
existing motherboard connector to fool the computer.  How can it be
jumpered out?

4: Buy a new computer.  It sure as heck won't be a Dell.

FWIW, I tried Dell support, but they were useless.  I've been
searching for the above information, but I'm either the first person
on the planet to have this happen, or no one wants to share what they
did, because I can't find it.

Thanks in advance,

Re: How is fan speed controlled?

Quoted text here. Click to load it

Never had a Dell, but going by my experiences with a recent Asus m/b, I
would guess that the fan is controlled by the BIOS working with the CPU's
own internal sensor and a m/b sensor.  That's why you get full speed for at
initial power on, as the BIOS hasn't initialised yet and the fan gets the
full 12v.   Take a look in your BIOS.

Re: How is fan speed controlled?

the_tool_man wrote:
Quoted text here. Click to load it

Based on looking at some descriptions of replacement fans for the Dell,
it is a PWM controlled fan. (It would be better for me to get the information
straight from Dell, but I don't know if I can confirm my theory that
way or not.)

Delta Model:      AFC1212DE
Dell Part Number: D8794
Bearings:         2 Ball
Dimensions:       120 x 120 x 38 mm
Sensor:           TAC yes
Connector:        4 Wire, 5 Pin, DELL
Airflow:          148.34 CFM
Noise:            51 dBA
Rated Voltage:    12 V DC at 1.60 A
Fan Speed:        3900 RPM

As fans go, that is a massive cooling machine, which should sound
like a vacuum cleaner when it is wound up to 3900 RPM.

Dell apparently wants a very large range of cooling capabilities,
by using such a fan.

I cannot find a detailed description, but it could be
designed similar to an Intel retail fan. Intel fans use
a four pin/four wire interface.

The speed on an Intel fan, is controlled by a PWM (pulse width
modulation) logic signal. The formfactor spec says it is a
nominal 5V logic signal. Inside the fan hub, it would need
a "logic" MOSFET, with a gate that switches using a 5V signal,
to be able to interface and take advantage of a control like

The choice of 25KHz for the signal, is intended to place the
signal above human hearing. That is so the electrical switching,
fed into the motor, won't be audible to the user (as a tone).
At least, that is my interpretation of the frequency choice.

+5V       +--------+   +--------+   +--------+     PWM
           |        |   |        |   |              high duty cycle.
0V   -----+        +---+        +---+              fan goes fast.

           |<--- 40 --->|<--- 40 --->|    40 microsecond period = 25KHz

+5V       +-+          +-+          +-+            PWM
           | |          | |          |              low duty cycle.
0V   -----+ +----------+ +----------+              fan goes slow.

+5V  +----------------------------------------+    PWM control signal
                                                    disconnected. Signal floats
0V   +                                             to +5V. Fan runs full speed.

If a 12V supply is connect to the +12V and GND wires
on the fan, with the other two interface signals
disconnected, the fan should run at 3900 RPM. There is
supposed to be a pullup resistor on the fan circuit
board, so that the PWM signal sits at 5V. That indicates
a request for 100% speed. Finger chopping time :-)
Watch where you stick your fingers, with a fan like

When the fan controller chip is first started,
typically it doesn't drive the PWM, which causes
a momentary request to run 100%. Once the BIOS
programs the fan controller, the speed drops to
a sane level. That may take a second or two.

The remaining signal, is a tachometer or it could be
a locked rotor signal. Basically, some kind of feedback
from the fan, as to what speed it is running at. The
computer is interested in whether the fan is functioning
at all. (Locked rotor is a logic type signal, which is
asserted if the fan cannot spin for some reason.)
A tachometer interface on the other hand, pulses
twice per revolution of the fan, and the pulsing
is related to the commutation and switching of the
magnetic field of the brushless DC motor. Seeing a
working tacho signal, is how a BIOS can determine
a fan is present. The SuperI/O measures the time
period, and that is how the BIOS knows what the
fan is doing. If the SuperI/O cannot measure
the period (because the wire is disconnected),
the BIOS will notice.

VCC      +---+         +---+         +---+         +---+    Tacho signal.
          |   |         |   |         |   |         |   |    Speed determined by
0V   +---+   +---------+   +---------+   +---------+   +    period measurement.

          |<-- One full revolution -->|                      One rev = two pulses

You could try the Speedfan program, from, and
see if it can find a fan speed control. Then experiment
to see whether changing the control, makes a difference.

Due to the pulsing nature of these signals, it might
not be the easiest thing, to draw conclusions using
only a multimeter. If you find two pins, that have
a full 12V between them, that could be the input
power pins. The fan should be fed the full 12V, since
the control method is PWM. There is no reason
for the motherboard to try to change the voltage.
If there is a power track burned on the motherboard, that
would be a reason for reduced input voltage. There
isn't a good reason for the PWM signal itself to be
damaged, because it is just a logic signal.


Re: How is fan speed controlled?

Thanks Paul:

That's some very good information.  FYI, I've tried SpeedFan, but it
does not work with this computer.  I've also tried several temperature
monitoring utilities, but none find any temperatures on the
motherboard.  I can use the old fan and a 12V power supply to figure
out which wires to use for hot-wiring, but it appears that fooling the
bios into thinking the fan is still PWM controlled won't be doable.  I
may try misfit's advice and unplug the fan from the motherboard, just
to see what happens.  If I just have to hit F1 at bootup or something,
I can live with that.  Thanks again.


Re: How is fan speed controlled?

the_tool_man wrote:
Quoted text here. Click to load it

Connecting +12V and GND, should make the fan run full speed.
(As long as the open-circuited PWM control signal on the fan,
has an internal pullup resistor.)

Connecting the tacho signal, which pulses twice per revolution,
would be what the BIOS is monitoring. Some people have
even taken the tacho signal from another running fan, and
offered that signal as a means to keep a BIOS happy. But
your nonstandard (5 pin) connector, is going to make
rigging that up, a bit of a nuisance.

The PWM signal travels from computer to fan, and the computer
doesn't really care whether the signal is loaded by an electrical
load or not. It wouldn't typically monitor that signal. And
the setup would not be "applying a little PWM", then "looking
at tacho" for a response. They don't usually try to run
the thing closed-loop, looking for a speed increase, when
PWM is cranked up.

With regard to SpeedFan, have a look at the motherboard. I thought
I saw an SMSC SuperI/O chip in a picture of the motherboard, and
that could be what the board is using for a hardware monitor.
SpeedFan searches particular addresses on the low speed
buses, looking for chips like that. Sometimes, with these hardware
monitor programs, it is necessary to use some obscure option
(like a different address), to get the SuperI/O recognized.

Another program you could try, would be Motherboard Monitor. It
doesn't control the fan, but you may be able to determine whether
the hardware interface can be detected or not by that program.
Unfortunately, this web site is now gone, and when I checked, the site was blocked by a norobots.txt file,
so the site didn't get archived. So we cannot see whether
your computer would have been supported. (site is dead) (file still available)

Even this, might be used to detect the SuperI/O hardware
monitor. It really depends on the history of this tool, like
where its detection code comes from, as to whether it will have
good coverage for all equipment or not.


Re: How is fan speed controlled?

Quoted text here. Click to load it

Once again, lots of good info.  I figured the fan wasn't closed loop,
but it's nice to get confirmation.  I've not been able to get either
SpeedFan or MBM to work with my system.  Also, the BIOS has no
provision for altering the fan speed, or anything else relative to

If everything you have said is true, then if I figure out which wire
is the PWM signal to the fan, I should be able to cut that one wire
(or pull it from the connector), and the fan will run at full speed
all the time, right?  The fan gets 12V & GND, the PC gets a pulse
train.  Everybody's happy.  The only downside is the fan noise.
Still, that might get me by.  I'll experiment as soon as I can and let
you know what I find out.


Re: How is fan speed controlled?

On Mon, 20 Apr 2009 14:58:33 -0700 (PDT), the_tool_man

Quoted text here. Click to load it

What about HWMonitor (linked above)?

Try running a CPU speed detection program like CPU-Z when
the slowdown occurs.
You might be able to force a higher thermal level by running
Prime95's Stress Test.

The point is, I am not seeing a clear poof the CPU is
overheating to the point where it would throttle down to a
lower speed, and if it did throttle down it should not be so
slow as 1% of the original speed.

Since you can't get a temp reading, you might try
touch-testing the heatsink to see how hot it feels.  If it
is hot enough to effect CPU function it should be
uncomfortable to leave your finger on for more than a couple
seconds, unless the heatsink itself has someone become
partially detached and CPU overheats due to poor thermal
interface that resulted.

Re: How is fan speed controlled?

the_tool_man wrote:

Quoted text here. Click to load it

    "The 5-pin fan has 4 wires (black, white, red, and blue) and the
     3-pin fan has 3 wires (black, white, and red).

     Can I make the 5-pin (but strangely 4-wire) fan work with my
     3-pin motherboard? I've already spliced the wires and plugs and
     matched up the red, black, and white wires. This makes the fan
     "work", but doesn't seem to allow for any regulation of the
     fan's speed (it's at jet engine speed at all times, which is
     quite loud).

     I suspect that the blue wire is somehow involved in speed regulation,
     but am not sure what to connect it to. Anybody know if I can double
     it up with one of the other 3 wires, or is the regulation mechanism
     different such that they're not directly compatible?

     Thanks! "

So that sounds like a description of leaving the PWM signal open
circuit, causing the fan to run like a "jet engine". It suggests
red = +12V, black = GND (those are common color choices for wiring,
with red being a positive supply, black being ground). The guy wired
white as RPM. And left the blue open circuit.

I tried searching elsewhere, for pinout info, but wasn't successful.
That is as close as I got.

There are a couple sources of "Dell 5-pin to standard 4-pin"
adapters, but the cabling was sleeved to hide the details.
One of those would allow working backwards, to get the Dell pinout.

I'm still puzzled by the control method, as I would have
expected *some* utility to have detected the fan controller chip.


Re: How is fan speed controlled?


I tried hotwiring the fan by pulling the blue wire out of the fan
connector.  The fan ran at 100%, sounding somwhere between my wife's
hairdryer and a small jet engine.  Unfortunately, the slowing
remained, so I guess it's not the fan.

I'd started another thread on the general symptoms before concluding
(wrongly) that it was the fan, so if you want to follow this, go here:

Thanks for all your help.


Site Timeline