My Retina MacBook Pro (early 2013 model) has been too quiet lately.
I suspect that either the recent
EFI or the
SMC update modified the fan
control curves, with the result that the fans stay at 2k RPM
independent of thermal load. Running multi-threaded code, such as
par2tbb which takes all the cores that it gets, quickly overheats
the processor to the point of emergency shutdown.
At first I thought that there might be a hardware problem with the
fans, but increasing the fan speed successfully using
smcFanControl proved otherwise. An SMC reset had no effect1, and the
firmware installers refuse to re-run.
The solution comes in the form of the Fan Control preference pane
and daemon, which lets me specify a linear curve between measured
temperature and desired fan speed. Unfortunately, the SMC address
polled for reading the temperature does no longer exist on the Retina MBP
and thus the reported temperature is stuck at 0 degrees. Fortunately, Fan Control
is free software and MacRumors forum members
binaries with modified sensor addresses.
I settled on the version
which reads the
TC0F address. I don’t know exactly which sensor this
address corresponds to, but comparing with iStat Menus it is close to
the “CPU Die – digital” sensor, although the change in reported temperature is
If I find the time I will compile Fan Control myself for further fine tuning,
but I am glad that I can run heavy workloads again. My thanks go to Lobotomo Software
and MacRumors forum members xqdong and maratus. No thanks to Apple
for the botched update.