Jump to content

How to control fanspeed on MacBook Pro


8 posts in this topic

Recommended Posts

I've had my MBP (first gen) for almost 2 years now. Sadly the first MBPs were very hot so I've decided to replace the thermal grease and now the heat gets conducted much better so the temperature sensors get true temperature readings.


The core temperature of the processor has dropped from around 60 C to around 50 C. When I'm doing really extensive work the processor's temperature doesn't go higher than 63 C.


Now I'd like to know if there is some way to set the threshold temperature at which the fans kick in. I can see no reason in my fans spinning like crazy when the temperature of the processor is only 53 - 55.


So far I have not been able to figure out how to set the threshold to a higher level. I believe it was set so low because the first MBP had much too much thermal grease applied and the heat wasn't conducted right. But now in my case it is, so I have to change the threshold because the computer is too loud now. A single youtube clip makes the fans spin at 4000 rpm.


I've read on the internet how to make your MBP cooler by editing Appleblower.kext and Applefans.kext. I tried doing the opposite but nothing really happened. I did even reset the SMC after every change just to be sure.


So if anyone has any knowledge of how to control the fans and the fan kick in threshold temperature please explain it to me. I've done a lot of experimenting as I said, but none of it seemed to give me the expected result.

Link to comment
Share on other sites

Hey, thx for this apps. I've heard for fan control already, but haven't really tested it. Hopefully it'll help!


But basically what I need is to set the max fan speed to let's say 3000rpm. It's pretty much useless that my fans spin like crazy at 6000 rpm when my cpu temp is 52.


Now let's hope it works!

Link to comment
Share on other sites

it wont let you set the maximum speed, that will always be 6000rpm but it does let you control how fast the fans will spin at a given temperature within certain limits, currently i have it set so my fan spins at about 2000rpm at 50 degrees C and its been running like that fine for well over a year. when i first installed leopard there was no compatible version of fan control and i was reminded about how noisy macbooks can be.


coolbook is a great thing to have too, i have my macbook set to 1.83ghz at 1.025v (1.25 is default) all the time when connected to power and it dropped the temps from about 80 degrees under load to about 55, you have to experiment to find whats stable for your cpu but the reduction in temps and better battery life is worth the $10 fee.


now that my macbook is out of warranty im considering taking it apart and applying some arctic silver 5 to help reduce the temps even more, its one of the very early core duos and as far as i remember most of these didnt have the thermal paste applied too well either so it may be worth it.

Link to comment
Share on other sites

WARNING! This could fry your CPU. It's only meant for 1.Gen MBP's with changed thermal compound.


I have finally solved my problem.


1. Step: I downloaded iCyclone and extracted the smc binnary that lets you control the settings in the SMC.

The command for setting the maximum RPM is:

sudo .smc -k F0Mx -w "hex code for the desired RPM"

for fan number 0. WITHOUT THE ""!

sudo .smc -k F1Mx -w "hex code for the desired RPM"

for fan number 1. WITHOUT THE ""!

I've set mine to 2200 max.


To get the hex code for the desired RPM execute

python -c "print hex(RPM <<2)"

The "" are part of the command.


2. Step: Now I don't want my MBP to fry when it's doing something CPU intensive so I also installed the mentioned Fan Control preference panel. This let's me set the temperature of my CPU. Now i've set the Upper threshold to 70 celsius and the Lower Threshold to 54.

Because Fanc Control only controls the minimum fan speed my maximum fan speed level set manually is unaffected. And because the minimum fan speed overrides the maximum fan speed setting my fans actually do spin faster when the temperature rises!


3. Because the SMC gets reset to default values at every login you have to execute the 1.step every time you boot the device or come back from sleep. So to automate this I put together a script.

Go to Automator select Utilities and Run Apple Script.

Paste this into the window:


do shell script ".smc -k F0Mx -w hexforRPM;" password "youradminpass" with administrator privileges
do shell script ".smc -k F1Mx -w hexforRPM;" password "youradminpass" with administrator privileges

end run

depending on the folder where you put the smc binnary you have to change the beginning of the script. For example if you put it into your User home folder it woudl be like:

do shell script "./users/yourusername/smc ......


Save this as an application on the desktop. Now drag it into the dock and option click it, then select Open at login. There you have it, you are all set!



I do not take any responsibility for frying your CPU.

Link to comment
Share on other sites

My mbp would always run hotter than a {censored} ever since ive had it. my fans recently died on me though, my left fan had the weird noise because of the weird motor and apparently my right fan has never worked at all. i bought replacements for about 50 bucks each, and since i installed them a couple days ago my computer is the coolest little bad boy out there. first generation macbook pro, 2ghz.

Link to comment
Share on other sites


  • Create New...