Mac Pro fan speed problems caused by firmware update
August 6, 2012 8:52 AM   Subscribe

Is it possible to downgrade the SMC firmware on a MacPro? Or is there some other way to fix a fan speed problem which was introduced by updating the firmware?

I have an old (2,1) MacPro running 10.7.4 which was having some problems with failing to reboot, not responding to the power button, etc. Following instructions on Apple's support site, I updated the SMC firmware and reset the SMC, which did correct that problem -- however it introduced a much worse problem in that now the fans run at full howling speed whenever the machine is under even the slightest amount of load (watching a youtube video is enough to trigger it.) The fans run at normal speed while I'm in bootcamp windows; it's only a problem while booted into OSX.

Mountain Lion is apparently not supported on this hardware, and I'm on the latest version of Lion. The machine has the current versions of SMC and EFI for its model as shown on this page; later versions of the firmware refuse to install on this hardware (it was probably very unwise of me even to try.)

Ideally I'd like to revert the firmware to its original factory version -- I can live with the reboot problems, not so much with the fullspeed fan noise; seriously it sounds like a shuttle launch up in here. Is this possible? Or am I screwed?

(I am aware of the FanControl and smcFanControl extensions; both allow you to increase the minimum fan speed, they do not allow you to limit the maximum fan speed.)
posted by ook to Computers & Internet (5 answers total)
Response by poster: ...and as always in the course of writing an askme question I halfway solve my own problem: apparently smcFanControl can in fact limit the max fan speed; it's just that that option is command-line only. That solution makes me nervous, for obvious reasons, so my question about downgrading the firmware still stands.
posted by ook at 9:10 AM on August 6, 2012

I don't know of/can't find a way to downgrade SMC firmware on a successful installation. Sorry =( However, it seems like with the reboot problems it would be more convenient to fix the fan problem anyways. Have you tried resetting the SMC again? Worth a shot, it can fix the problem in newer MacPros which have that problem (which is well documented).

Otherwise - why does that command line solution make you nervous?Is it because of the command line or because of overheating concerns with limiting the fan speed? If you don't want to throttle - have you considered just swapping in a new fan? I think your MacPro has 120mm fan(s? cant remember if there is one in front), and a new one made for quiet operation should run you maybe 10 dollars each and cut down on the noise a fair bit. Choose whatever Max Airflow to Max noise level that you are comfortable with, and avoid the reboot issues of downgrading.

You could also try the command line and keep an eye on CPU temperatures for a while until you find a setting that works for you. Also, I think iStatMenus has fan control options, user configurable fan profiles, .and a comprehensive temperature readout. However if your SMC is wonky I suppose there is no guarantee that it would work.
posted by McSwaggers at 1:50 PM on August 6, 2012

Response by poster: I have tried resetting the SMC a few extra times, no joy there. iStatMenus looks nice but it, too, only wants to set the minimum fan speed, no control over the maximum. (Can't say I blame these developers for not wanting to give their users enough rope to hang themselves...)

Throttling the fan speed manually is scary just because I'd feel awfully stupid if my computer then melted... but I've been experimenting with the script that smcFanControl is a wrapper around and am probably going to wind up cobbling together my own wrapper to monitor the temperatures and force the fan speeds to more reasonable levels.

I tell you, the 2013 MacPro better be able to levitate and shit rainbows. I really wanted to upgrade this year but I just couldn't justify it with their last update.
posted by ook at 7:22 PM on August 6, 2012

Response by poster: oh hey look I linked to the same exact thing in two separate comments can you tell i have like a zillion browser tabs open from futzing with this all freaking day
posted by ook at 7:27 PM on August 6, 2012

Best answer: For the benefit of, well, anyone who cares, here's how I wound up resolving this:
# Locks fans at given RPM. Call without arguments to unlock.

$speed = $ARGV[0];
if ($speed) {
   # smc wants its input in bitshifted hex for some reason
   $hex = sprintf("%x", $speed << 2);
   `smc -k "FS! " -w 0007`;
   `smc -k F0Tg -w $hex`;
   `smc -k F1Tg -w $hex`;
   `smc -k F2Tg -w $hex`;
   # not locking fan 4, as it seems quieter than the rest
} else {
   # unlock fans:
   `smc -k "FS! " -w 0000`;
print `smc -f`; # show current fan settings
The 'smc' executable is contained inside smcFanControl. This script has to be run via sudo, and I've made no provision for watching the temperature and preventing meltdown, but it works well enough for when I just need the fans to STFU for a while so I can watch a video.
posted by ook at 10:44 AM on August 23, 2012

« Older Fleur de Sel Appreciation Society   |   I sort of lost it at a semi-work function. Should... Newer »
This thread is closed to new comments.