iMac HDD Thermal Sensor Bypass

From LogiWiki
Revision as of 21:56, 2 March 2021 by Crumblenaut (talk | contribs) (Added a subsection for Fun Facts)
Jump to navigation Jump to search

Problem

If you replace an OEM drive in a 2010 or 2011 iMac, the fans in the system will go crazy. These can be controlled by software like MacsFanControl or smcFanControl, but that's a poor workaround for an issue that can be addressed internally quite easily.

Context

There is no such thing as HDD thermal sensor on iMacs from 2010 or 2011 - instead it's simply a thermal trigger sent by the OEM-installed hard drives. If you connect HDD_OOB_TEMP_FILT to ground, the thermal trigger never occurs and the system will behave as it normally would with its OEM drive installed.

Solution

On 2010 iMacs, there is a separate two-wire cable that runs from the logic board to the hard drive and connects to J5400 on the logic board. The best solution is to simply snip the hard drive terminal off of the cable and strip and solder the two wires together. You could also simply add a jumper between the two pins of J5400 on the logic board itself. The former option will look like this:

2010 Hard Drive Thermal Sensor Jumper.jpg






On 2011 iMacs you can either modify the drive you'll be installing, or the logic board itself.

To modify the logic board, find J4511 where the SATA power cable for the hard drive connects to the logic board, and simply solder HDD_OOB_TEMP_FB on pin 7 to ground on pin 6. This is a more permanent fix and will last through future drive replacements should they occur, but does requires access to the backside of the logic board.

To modify the drive you'll be installing, simply get physical access to the leads of the SATA power port and tie pin 11 to either adjacent ground pin and you're set. Pin 1 is at the end of the plug with the key (the foot of the L shaped plug) and pin 15 is on the far end, so pin 11 is the fifth pin over from the end of the plug without the key. Pins 10 and 12 are both ground so either will work perfectly. Pictured below is a modification of a SATA power plug on a drive with pin 11 tied to pin 12:

SATA Temp.png


Technical Explanation

TempComparator.png

The above circuitry is common to all iMacs from 2010 and 2011. In it, U5400 is a LM393 comparator. The circuit produces a 1V reference voltage from PP12V_S0_SENSE through a voltage divider (R5400 & R5401) and delivers it to pin 2 of U5400. The circuit also produces a 1.5V pullup voltage from PP3V3_S0_SMC_LS through a voltage divider (R5402 & R5404). If the input voltage on pin 3 is LESS THAN pin 2's reference voltage, then U5400 shorts pin 1 to ground. If the input voltage on pin 3 is GREATER THAN pin 2, then U5400 does nothing, leaving the 3.3V pullup voltage on pin 1 provided by PP3V3_S0_SMC_LS unmodified.

Because pin 3 is pulled up to 1.5V by default and 1.5V is greater than the 1.0V reference voltage on pin 2, the comparator does nothing and the 3.3V pullup provided to pin 1 through R5405 is delivered to the system's SMC as a logical 1, which it takes as a sign that your hard drive is on fire and about to melt your iMac and burn down your house.

If the voltage on pin 3 is grounded out by an OEM drive's custom firmware or a clever modification to the circuitry ;) the voltage delivered to pin 3 will be less than the 1.0V reference voltage on pin 2 and U5400 will pull the 3.3V on pin 1 to ground, leaving the SMC to receive a logical 0, which is taken to mean that the hard drive is not, in fact, on fire.

What does that fancy 50$ OWC adapter do? It takes 12V or 5V (who cares, never had one, they're stupid) from the SATA cable, turns it into ~3V and uses a LM35 or something similar to output ~0.5V to pin 11 which will lead to the SMC receiving that same logical 0 it wants to see to feel safe.

Why do you see reports that SATA power Y-adapter cables solve the problem? Most Y cables simply short pin 11 to ground as that is acceptable for 99% of non-server hard drive. (Do not use such cables in servers unless you want to kill your PSU! :) )

fig.2: iMac after jumper-mod

Fun Facts!

  • Fun fact 1: Pin 11 on SATA power connectors is used on server hard drives to regulate "safe" startup by simply delaying motor spinup, thus reducing peak current draw on 12v PSU lines.
  • Fun fact 2: There are Apple plug modifiers for iMacs from 2009-2011 to accommodate SSD setups. On 2009 (and 2010?) it may be shorted, whereas on 2011 Apple Technician are required to remove the logic board and connect the plug to J4511 - the onboard HDD power socket. That means that by Apple's own design, if you upgrade to a SSD it is totally fine to disable the temperature trigger.
  • Fun fact 3: The weird fan behavior we see is actually a compatibility sacrifice, as per this note in the official schematics:
funfact3.png