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 compiled 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.
At first I was unsure if the SMC reset even took place. Apparently the only feedback for a successful reset is the charging indicator switching from orange to green and back. So make sure that the battery is charging before pressing the magic key combination.↩