piernov's FAQ
Why INTRUDER# measures 3.0V or lower on the multimeter?
INTRUDER# has a very weak pull-up (1MΩ). If you touch the probes, skin resistance is enough to pull down the voltage a lot (like less than 1.5V). Even without touching the probes, the internal impedance of the DMM (typically around 10MΩ) will cause it to drop to around 10MΩ*3.3V/(10MΩ+1MΩ) = 3.0V.
Can I use a different SPI ROM part number?
Better use the original part number.
If you can't get it and you have an Intel platform, use UEFITool to check what part numbers are registered in the VSCC table and use one of these.
If you have an AMD platform, I'm not aware of something similar to the VSCC table, but compatibility could still be an issue. Be sure to check operating voltage, size, maximum frequency and dual/quad SPI mode.
I am missing VCCAXG/VCCGFX/VCCGT (iGPU core voltage), how do I solve it?
The iGPU core voltage is almost never relevant. It typically only comes up when there's a significant load on the iGPU. It can often be seen spiking a couple of times on the oscilloscope when POSTing.
In other words, it's generally normal that it's missing. If you have some kind of issue with the machine, the cause is most likely elsewhere.
How can I read sensors on >=2015 Macs?/Where can I download HWSensors?
Latest version of HWSensors is available here as far as I'm aware: https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek/downloads/RehabMan-FakeSMC-2018-0915.zip
SourceForge and other websites have older versions with worse support for 2015 and newer machines.
How can I select a replacement MOSFET if I can't find the original part?
It depends on the circuit it is in.
If it is just used as a power switch, eg. DC-in MOSFETs or MOSFETs turning on/off S0 rails sourced from S5 rails, then you mostly want to pay attention to these parameters:
- N-channel/P-channel (must be the same)
- Package and pinout (must be the same of course)
- Vgs and Vds breakdown voltage (must be same or higher)
- Id current rating (must be same or higher)
- Rdson resistance (must be same or lower)
Vds is a hard requirement but it's rarely a problem, you just have to make sure it's at least 30V.
If they are part of a buck converter, they will be switching at a high frequency, so some other parameters are important too (in addition to the ones above):
- Ci input capacitance (similar or lower)
- Qg total gate charge (similar or lower)
- Tdon turn-on delay time (similar or lower)
- Tdoff turn-off delay time (similar or lower)
- Body diode forward voltage (similar or lower)
These are especially critical in multiphase buck converters like CPU VCore and GPU VCore since the MOSFETs are stressed a lot, these buck converters must suddenly deliver dozens of amps when there's a load spike. Even up to a few hundred amps on high-performance desktop parts.
Thermal characteristics also play a small role in this so it's better to have a MOSFET with low thermal resistance overall. (this is often dictated by the package, but there are still variations)
Additionally, they must have the same part number across all phases in a multiphase buck converter, and preferably come from the same batch.
MOSFETs with higher current rating often have a lower Rdson, that's a good thing (less losses when turned on), but they conversely are often slower and harder to drive (higher input capacitance/total gate charge and slower turn-on/off delay times), so you can't got crazy on the current rating because it'll be counterproductive: the MOSFET will be much less efficient when switching and the MOSFET driver will have a hard time driving it.
Some MOSFETs (very often the low-side on synchronous buck converters) have a schottky-type body diode, that has a lower voltage drop than a "regular" body diode. (otherwise it'd be less efficient)
I am missing SLP_S5#/SLP_S4# (PM_SLP_S5_L/PM_SLP_S4_L), what do?
First thing is to be 100% sure you are using a known good genuine Apple Magsafe of the correct generation and power rating.
Using a lower power rated Magsafe than what is required will prevent the board from going to S4 state or higher when battery is dead/removed/discharged. Refer to https://support.apple.com/en-us/HT201700 .
Using a non-genuine Magsafe as well as using a Magsafe1 instead of a Magsafe2 can cause the same issue with some boards (most notably 820-00164, 820-00165 and 820-4924 but others can be affected too).
In both of these situations, BATLOW# (PM_BATLOW_L) will stay low.
Next step, as always, is to do a thorough visual inspection of the board. Liquid/dirt/corrosion on some components are common causes for this problem.
For example, on A1466 MacBook Airs, the are near the hinge is often affected, and parts such as J6100, U6100, U6101 (820-00165 only), U1900, U1950, U8005 and U5000 (designators for 820-3437/820-00165 boards) are often found to have corrosion around them. Resistors and probe points can get damaged as well.
If there was liquid/dirt/corrosion around the SMC, it is often a good idea to reball it or even replace it.
Then, if no corrosion is found or the damage is believed to be fixed already, the next step is to confirm SLP_S5#/SLP_S4# are actually missing and not pulsing.
Check when plugging in Magsafe if it pulses twice, or if it pulses every couple of seconds.
Note that a pulsing SLP_S5#/SLP_S4# will often not be caught by most multimeters, the pulse is too fast and the refresh/update rates of the multimeters are too slow.
As illustrated in the video below, a Brymen BM857s multimeter can catch the pulse, while a B&K Precision 390A cannot. If you are not 100% sure your multimeter is fast enough, confirm with an oscilloscope.
- If it is pulsing, refer to this page: https://logi.wiki/index.php/820-00165_Pulsing . The power sequence up to S4 state is good, there is no need to troubleshoot it. The problem is further down. Causes can include shorted power rail, buck converter turning off due to some issue, communication issue with the SPI ROM, overcurrent situation detected by the SMC, etc… Check the rest of the power sequence to see where the pulsing stop by referring to https://gitlab.miaounyan.eu/piernov/820-00165-power-sequence/-/blob/master/820-00165-S3-ALL_SYS_PWRGD-sequence.pdf and https://gitlab.miaounyan.eu/piernov/820-00165-power-sequence/-/blob/master/820-00165-ALL_SYS_PWRGD-PLT_RESET_L-sequence.pdf.
- If it is ''not'' pulsing, then there is an issue in the power sequence before getting to S4 state. Check the power sequence up to S4 state following the diagram at https://gitlab.miaounyan.eu/piernov/820-00165-power-sequence/-/blob/master/820-00165-G3-S3-sequence.pdf .
Originally published on 15 December 2020. Last updated on 9 May 2021
🅭🅯🄎 Creative Commons CC-BY-SA 4.0.
As per article 3.a, please link to the original article at https://blog.piernov.org/piernovs-faq/ .