Archive for May, 2009

Too Good to Be True? My MacBook Pro: First Cool, Now Quiet

Friday, May 15th, 2009

This will be a brief coda to a couple of recent posts in which I related how I finally solved an ever-worsening (OS changes?) problem of overheating on my first generation MacBook Pro. See “What a Relief! MacBook Pro Overheating Problem Cured—Really” and “Can’t Boil Water With Vista on My MacBook Pro Anymore” for the details. The solution turned out to be undervolting—setting cpu operating voltages at values (determined by experiment) below the overly conservative ones set at the factory. A great little piece of software called CoolBook enables one to do that on the Mac. A similar program (RMclock) is available for Windows.

I can report that I have encountered neither high temperatures nor computer instability since adjusting voltages lower with CoolBook. After a couple of weeks of stress-free lower temperatures, I realized that the previously necessary evil of the constant droning of the MacBook Pro’s cooling fans was no longer necessary. In my earlier efforts to control temperature I had installed a System Preferences utility called Fan Control. This allowed me to set the minimum temperature at which the fan speed would start ramping up and the rate at which it would increase with temperature. This was not a solution for sustained operation at the highest default voltage used when the cpu was running at maximum speed, but I think it did keep things cooler than what Apple’s normal fan speed algorithm did.

It may seem funny that Apple would have such high operating voltages coupled with such puny fan cooling; but I think we have reason to believe that Steve Jobs hates fan noise (I’m with you there, Steve), perhaps beyond reason. I remember buying a third-party fan that sat on top of my first Mac, the mighty one-megabyte-RAM Macintosh Plus. Word was that it was needed to prevent premature death of the convectively cooled Mac. I can imagine Steve telling the engineers to get rid of that fan noise on the MacBook Pro, or else.

The fans on my machine, even though one of them was relatively new, having been replaced under AppleCare when my original hard drive croaked (Fatal But Survivable: A Hard Drive Transplant Story), seemed to have gotten noisier over time, from overuse I suppose, so they were annoying me more. Why not get rid of Fan Control? Removing it from the System Preferences Panel wasn’t hard (Ctrl-click and make selection), but this merely put the fan speed versus temperature profile out of my control, while leaving the last one set by Fan Control in effect. I saw one unfortunate on MacUpdate warning people not to install Fan Control because it permanently changes the fan settings. This is fortunately not true, but the folks that make Fan Control should probably do a better job of letting people know how to completely uninstall it. Here is the rest of the procedure: remove the following files and folders (both on your start disk)— /Library/StartupItems/FanControlDaemon and /Library/PreferencePanes/Fan Control.prefPane.

In order to have a way of monitoring temperature and fan speed I went back to running smcFanControl, a program that only allows one to set the minimum fan speed. I used it to set the minimum speed back to 1000 rpm, down from the Fan Control minimum of 1600 rpm I’d been enduring. This is really quiet!

Having smcControl running enables me to step in to raise the fan speed if necessary. Shades of the past: yesterday I was reinstalling the iPhone SDK as part of a long battle (probably not to be related here) to be able to test my in-development iPhone app on an iPod Touch, when I noticed the smcFanControl temperature reading said 90° C, while the fans were still whirring away at less than 2000 rpm. I used smcFanControl to raise the minimum speed much higher manually, which had the desired result. When that taxing installation procedure was over, I set the fan speed back to 1000 rpm.

Now that I finally have what I thought I was getting when I bought the MacBook Pro, this should be the last I’ll have to say on the subject of temperature control and fan noise. Peace.

Can’t Boil Water With Vista on My MacBook Pro Anymore

Tuesday, May 5th, 2009

It was a little over a year ago that I got Windows Vista up and running on my first-generation MacBook Pro by means of Apple’s Boot Camp, only to discover that it ran hot—so hot that it seemed pretty worthless. I believe that post (Vista on My MacBook Pro Is Hot—Boiling Hot!) has brought this blog more visitors than any other, which I count as solid evidence that many other Mac users have encountered the same problem and have gone searching on Google for a solution.

Unfortunately, all I could offer my fellow sufferers was the knowledge that they were not alone, but now I have a solution for them, based on the same “undervolting” technique I finally discovered to solve the even greater overheating problem I had encountered running under Mac OS 10.5.6, where temperatures would climb over 115° C and cause the computer to shut down unless I exited certain programs (rendered useless) or web sites in time.

I recently wrote What a Relief! MacBook Pro Overheating Problem Cured—Really, in which I told of finding a program called CoolBook to be the answer to my overheating problems. The basic idea behind the solution is that the computer’s factory-default voltages, which essentially determine the operating temperature, are for the different cpu clock frequencies substantially higher than they need to be. CoolBook enables one to reset these voltages to lower values, thus gaining much cooler operating temperatures, most importantly for the highest frequency, where sustained heavy-duty computing can lead to overheating. Undervolting with the help of CoolBook really gave me back the full use of my MacBook Pro. I refer anyone having similar problems to that recent post. The procedure for finding the lower voltages your particular computer can live with involves a fairly lengthy trial and error period, but it only needs to be done once.

I mainly wanted Vista on my Mac in order to test the Vista-compatibility of the Windows versions of my science education programs, OnScreen Particle Physics and OnScreen DNA. Having done that, and not having a new version to test, I could easily live without Vista; and the overheating problems encountered under 10.5.6 were much more serious for me. Nonetheless, it was an ongoing irritation in the back of my mind that Apple’s promise of being able to run Windows with Boot Camp was really a false one so long as the temperature went up so high under normal use. Thus it was natural to ask if I could apply the same undervolting procedure under Vista to eliminate the heating problem there as well.

Of course, CoolBook was no help for running Vista, since it is a Mac program, but a Google search for undervolting led me to a Windows solution. If you Google with the search string “undervolting guide,” you will find The Undervolting Guide, which tells you everything you need to know to undervolt under Windows. There is a free downloadable program called RMclock that allows you to reset the default voltages, just as CoolBook does for the Mac. The guide is written under the assumption that you have no previous information about temperature or the lower voltage limits at which your computer can operate stably. It leads you through a procedure similar to what I outlined in my post on Mac undervolting. Since I had already gone through this under Mac OS X and couldn’t see any reason why the lower-limit voltages would depend on the operating system, I assumed my results would still hold under Vista. The whole procedure seems a lot easier on the Mac side, so I would recommend anyone trying to cool down Vista on a Mac to determine lower-limit voltages under the Mac OS. Be sure to write down the lower-limit voltages you have found before booting into Windows to set voltages there.

I went directly to the RMclock instructions in the guide, skipping the parts dealing with stressing the computer at different voltages. You need to follow the RMclock instructions closely, as the procedure is considerably more complicated than what it is for CoolBook, there being several steps to go through before you reach the point of actually setting voltages. Things look quite a bit different too. Instead of showing the frequencies in physical units of MHz, RMclock shows “multipliers,” which are presumably the factors by which some reference frequency (unspecified) is multiplied to obtain the actual frequency. I just made the reasonable assumption that the maximum multiplier corresponded to the maximum frequency (2.004 GHz in my case) and set the voltage to what I had previously determined was sufficient under Mac OS X for my MacBook Pro. For the other multipliers I scaled accordingly, but chose voltages on the conservative side, i.e, a little higher, just to be safe. For keeping the maximum temperature down, it’s really only the top frequency voltage setting that matters much anyway. Lowering the other voltages below that used for the highest frequency just gives you a lower average temperature and longer battery life.

Did it work? Yes, I can run the most complex simulations of OnScreen DNA at a “cool” 80° C, instead of the previous 100° C. Undervolting has made it comfortable for me to run Vista on my MacBook Pro, so I don’t feel cheated anymore. Maybe I’ll actually use Vista for something other than testing my software now.