Missing PM_SLP_S4_L
So you have a board in front of you that isn’t turning on. You’ve narrowed the issue down to PM_SLP_S4_L. Now what? There are several issues that can cause this signal to be missing. First off, double check PP5v_S5, and PP3v3_S5. If both are present, check for a short on PP5v_S4 and PP3v3_S4. If no short is found proceed. If a short is found or one of the S5 rails is missing, resolve that issue and you probably will get a working board.
The next step is a in depth visual inspection of the board under the microscope (No, not a $15 digital one off amazon, a real one like the AmScope SM- XXX). On MacBook Air’s, Particularly the 2013- 14 820-3437/35 and the 2015- 17 820-00165/164, your probably going to have corrosion near U6100. U1950, and U1900. Now what do all of these do and how do these affect your sleep signals.
In order to get PM_SLP_S4_L, We need these signals to be present and stable at 3.3v (Some of these 3.3v lines come from the PCH integrated on the CPU package on the newer boards, and the 3.3v the CPU uses to create these lines is derived off PPVRTC_G3H.
PM_SYSRST_L
PM_PCH_PWROK
M_RSMRST_L
PM_PWRBTN_L
SMC_ADAPTER_EN
PM_BATLOW_L
Have a look at U1900 and U1950. What do you see? If ANY corrosion is near U1900. Replace it. The chip gets killed very easily and doesn’t send out the 32khz clock signals needed for the PCH and CPU to work. If no corrosion is found, is it possible that board was messed with before you and thrown into a ultrasonic cleaner? If so, inspect the pins. Maybe even replace it anyway if the other areas look clean. U1950 outputs PM_PCH_PWROK. Most times if this chip is corroded, the PP3v42 pin is going to be corroded away requiring a jumper wire. If it’s corroded and you see that the PP3v42 pin is missing, run a wire and replace the chip. If PP3v42 is making it to the chip and PM_PCH_PWROK is low or unstable, the board is probably going to turn on, but not POST. If any corrosion is by U1950, replace it.
Now on to the U6100 area. If the BIOS is corroded, DON’T TOUCH IT! It is a 8 pin package that is rarely damaged by liquid. However, what is damaged in this area is SPI termination resistors and traces. CHECK ALL OF THEM. Often times it’s hard to see. Sometimes a trace is burned out in the board. Check them all in diode mode. Run wires and replace corroded resistors as necessary. If you don’t know what SPI Termination resistors are, its time to have a look at the schematic. If you don’t know where to find the schematic, it’s time to do a search on this useful tool.
If no damage is found in these areas, and you’ve replaced and checked the above components, CHECK YOUR WORK. Any bridges? Any poorly soldered components, do you have gobs of some no clean conductive flux on the clock chip? If not, look over the board. Check more of the signals above and see if anything is off. Pretty much, if you see no further damage (Corroded resistor, probe point, corrosion on/under something) we’re in rabbit hole stage now. Time to throw the board in 1 of these 2 ultrasonic cleaners at 70C for 3 to 4 min per side.
Maybe it’ll work, maybe it won’t. At this stage you could continue looking down those other signal lines, or you can move onto the next one.
Power sequence for SLP_S4#,
Some stuff may be missing but it goes more or less like this (not exactly a sequence because some signals come “in parallel” and some other come before they are needed):
G3H/RTC rails + 32kHz RTC clock → {SRTCRST, RTCRST, INTVRMEN, INTRUDER#, DSWVRMEN} → S5 rails → S5_PWRGD → DPWROK → SLP_SUS# → SUS rails → RSMRST# → BATLOW# → PWRBTN# → SLP_S5# → SLP_S4#
Older boards won’t have the SUS state (deep sleep/DeepSx) and newer boards (touchbars/USB-C I think, I don’t know a lot about those) may be a bit more confusing, but it still mostly applies and to PC laptops too. This sequence uses the Intel notation, on Macbook “#” is “L” and most of those signals are prepended with “PM“
Several Macbook boards will power cycle down to SLP_S5#/SLP_S4# when there is a problem up to and including BIOS starting to run.
By experience, first thing to check when SLP_S4# is missing is pulsing VCore and missing BATLOW#, especially on 3435/3437/00164/00165/4924
Sometimes you only get a short spike on SLP_S4# so that’s good to check if that’s the case when plugging in Magsafe. If that’s the case you most likely don’t have any issue with the aforementioned power sequence but rather something after S4 state (same when power cycling).
Your multimeter may be too slow to catch the spike or power cycling, For example the B&K Precision 390A is slower than the Brymen BM857s, with the former you have a lot more chance of missing the spike. If you have an oscilloscope you should double check SLP_S4#, ALL_SYS_PWRGD and CPU VCore pulse with it.
Note that SYS_RESET# and PCH_PWROK are relevant only in S0 and doesn’t affect SLP_S4#, but on those Macbook boards it could be a source of the power cycling.