Announcement

Collapse
No announcement yet.

MacBook Pro A1989 820-00850-A not powering on

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    MacBook Pro A1989 820-00850-A not powering on

    Hey everyone!

    I have a MacBook Pro A1989 with a 820-00850-A board that recently stopped working. I used it overnight to charge my phone, in the morning it didn't turn on, I assumed flat battery but now won't charge and doesn't start at all.

    I have fully dissassembled it, when disconnected the battery reads at 0.012V. Even with the battery disconnected the laptop doesn't boot.

    The diode voltages around all 4 CD3215's seem fine.

    For all CD3215 (UB300, UB400, U3100 and U3200) I read just above 5V on PP20V_USBC_TA_VBUS, 3.3V on PP3V3UPC_TA_LDO, 1.8V on both PP1V8_UPC_TA_LDOD and PP1V8_UPC_TA_LDOA, and 1.1V on PP1V1_UPC_TA_LDO_BMC (TA being then TB, XA and XB respectively).

    The voltages on the transistors seem low from what I'm seeing on the OpenBoardData for that board (the guide says "~26V"):
    GATE1 (pin 1) GATE2 (pin 4)
    TA (QB300) 10.9V 7.8V
    TB (QB400) 10.9V 7.8V
    XA (Q3100) 10.8V 7.6V
    XB (Q3200) 10.9V 7.8V
    The switching to 20V on the USB-C doesn't seem to happen though. I don't have a USB power meter so I'm unsure how much current is being drawn from the 5V on the USB.

    I also measured the voltage on PPBUS_G3H and got 12.3V.

    I am not seeing any obvious signs of damage. No component seem to be heating up excessively (don't have a thermal camera so mostly going by feel). I think I can feel the T2 chip being slightly warmer than ambiant / the rest of the components but hard to know for sure, and nothing drastic.

    I am unsure whether these measurements are enough to diagnose anything, or if there are any additional measurements I can do to further troubleshoot.

    I have access to a multimeter, oscilloscope, signal generator and bench power supply (30V / 5A). I do technically have a soldering station and SMD rework gun, however they're really not the best quality and I don't trust them much, so if possible I want to avoid unnecessarily soldering/desoldering things as there is a high chance that I fry other components in the process due to the sheer amount of heat I sometimes have to output to get a result.

    Any help would be greatly appreciated.

    Thanks,
    Erin

    #2
    Update: upon closer inspection, I can see some gunk around U3100 and some of the capacitors around it (e.g. C3108 and C3100).

    I am wondering:
    • Given that all the voltages still measure normal for that port albeit stuck at 5V, is there hope that some rework would clear the issue?
    • If I need to replace U3100, this chip and all 3 others on my board are CD3215C00Z (9AC1JZW); I have different MacBook Pro board (820-01041-A) that has CD3215C00 (87CLGFW), could I only swap one of the chips or would I need to replace all four CD3215 so that they are all the same model on a given board?
    Thanks in advance!

    Comment


      #3
      Start with pouring IPA (pharmacy grade alcohol) onto this area. Then wipe all of this crud off with a Q-tip / cotton swabs to remove the corrosion. Then test again.

      Comment


        #4
        Thanks! I've attached pictures after cleaning.

        Measurements after cleanup:
        • Diode mode while unplugged:
          • USBC_XA_CC1: 0.556V
          • USBC_XA_CC2: 0.560V
        • Voltages while plugged into stock charger:
          • Power buses:
            • PP20V_USBC_XA_VBUS: 5.15V
            • PP3V3_UPC_XA_LDO: 3.32V
            • PP1V8_UPC_XA_LDOD: 1.79V
            • PP1V8_UPC_XA_LDOA: 1.82V
            • PP1V1_UPC_XA_LDO_BMC: 1.12V
          • Other:
            • UPC_XA_GATE1: 10.84V
            • UPC_XA_GATE2: 7.63V
        Are there any other measurements that would be useful for troubleshooting?

        Comment


          #5
          Good job on the cleaning. Check the voltage to ground of ppbus_g3h again. It is not being boosted.

          To boost, the smbus lines are required. Carefully measure the voltage to ground on each pin on the battery connector. Interest is on the smbus lines (SCL / SDA) to check if either line is being shunted to ground.

          Comment


            #6
            PPBUS_G3H is at 12.3V.

            For the battery connector, both SMBUS_3V3_BATT_SDA and SCL are at 3.3V. The FFC to the battery is disconnected though, should I reconnect it?

            In the meantime, I also payed close attention to the area that had the corrosion and did some measurements, and I noticed that I was getting a low voltage (around 0.2V) on pin 1 of C3100 which is PP3V3_G3H_RTC_ISOL, however what's interesting is that testing the same bus on different areas of the board did read 3.3V. I went ahead and removed C3100 (it does look slightly damaged upon closer inspection btw). I can now measure the 3.3V of PP3V3_G3H_RTC_ISOL properly on the exposed pad 1 of where C3100 used to be. Redid all the measurements in that area and everything still looks the same.

            Comment


              #7
              Consider to invest into a bidirectional USB-C meter which will be helpful to learn about the current draw of the logic board.

              The T2 rom firmware may be corrupted. This firmware is required to select the 20V power delivery contract from the power adapter. Be sure the external power adapter is suited to power this logic board. Personally would attempt to use a 100W rated power adapter + 100W rated PD cable but the internet notes that the 60W or higher OEM charger is ample.

              Would you have another macbook to attempt a DFU?

              There are T2 dumps available on this forum:

              https://www.badcaps.net/forum/troubl...ight=rom+dumps
              * see post # 17

              Be sure to backup the original before reflashing your flash device(s). Do review the voltage requirement for the flash device.

              Comment


                #8
                Also confirm the measurements of the other PD controller like your post # 4. A defective CD321x PD controller can cause the failure to achieve the 20V contract. The BMC LDO voltage of 1v1 will only appear on the active USB-C connector.

                So interested now in the measurements of:

                PP20V_USBC_XB_VBUS, etc. after switching to use the other USB-C connector to power the board.

                Comment


                  #9
                  I am using a 96W Apple charger with its stock cable and have confirmed that it charges a different MacBook I have.

                  I will look into getting a bidirectional USB-C meter.

                  I do have another MacBook that I can try a DFU with, I had initially tried that before any repairs or cleanup but the laptop wasn't being detected. I will try again and report.

                  The battery of the laptop I'm repairing reads 0.2V, while I'm testing voltages and attempting a DFU:
                  • Should the power connector of the battery be connected to the main board?
                  • Should the FFC of the battery circuit be connected to the connector on the main board?
                  Thanks for all your help!

                  Comment


                    #10
                    Yes, do connect the FFC which is the SMBUS interface for the BMU of the battery pack. If available as an option, consider to source a known good battery although I do not know for sure if this logic board requires a battery to boot. Some models do. Perhaps you can source one from Amazon from a local reseller with good ratings and return it if it is not required. Amazon should also have the USB-C meters at fair pricing.

                    Do inspect the USB-C meter contacts to be sure they are clean of debris.

                    Skim through this great webpage by piernov, Chris and others:

                    https://logi.wiki/index.php/CD3215_Bootup_Sequence

                    Continue to post your progress.

                    Comment


                      #11
                      Here are all the measurements for each of the CD3215:
                      • U3200 (XB):
                        • PP20V_USBC_XB_VBUS: 5.15V
                        • PP3V3_UPC_XB_LDO: 3.35V
                        • PP1V8_UPC_XB_LDOD: 1.80V
                        • PP1V8_UPC_XB_LDOA: 1.80V
                        • PP1V1_UPC_XB_LDO_BMC: 1.12V
                        • PPBUS_G3H: 12.3V
                      • UB400 (TB):
                        • PP20V_USBC_TB_VBUS: 5.15V
                        • PP3V3_UPC_TB_LDO: 3.35V
                        • PP1V8_UPC_TB_LDOD: 1.80V
                        • PP1V8_UPC_TB_LDOA: 1.82V
                        • PP1V1_UPC_TB_LDO_BMC: 1.12V
                        • PPBUS_G3H: 12.3V
                      • UB300 (TA):
                        • PP20V_USBC_TA_VBUS: 5.16V
                        • PP3V3_UPC_TA_LDO: 3.35V
                        • PP1V8_UPC_TA_LDOD: 1.80V
                        • PP1V8_UPC_TA_LDOA: 1.82V
                        • PP1V1_UPC_TA_LDO_BMC: 1.12V
                        • PPBUS_G3H: 12.3V
                      Regarding DFU, do the "normal" steps to put the device in DFU mode still apply considering the power isn't what it should be? I haven't tried that yet, just connected both MacBooks via a USB-C cable and not seeing anything yet in the Apple Configurator of the working MacBook so was wondering if the steps would be different or if I reconnect the keyboard and power button and do the "normal" sequence.

                      Comment


                        #12
                        Check R7900 resistance (with no power to the board).

                        Repair-wiki has a few ideas on why the A1989 can be stuck at 5v.

                        Comment


                          #13
                          Thanks! I've checked the page for the A1989 stuck at 5V on repair-wiki, R7900 does read 0R and R7075 does read 4R7 so both seem fine.

                          I'm going through the logic wiki guide for the CD3215, I've definitely been able to confirm that I get to step 7, I'm for now unsure how to check for the steps 8 and 9 for my specific board, I'll keep poking through the schematics and brd file to see if I can find my equivalents. I also know for a fact that I don't get to step 12 as my PP20V VBUS stays at 5.15V, so narrowing down the steps at which there might be an issue.

                          Comment


                            #14
                            You can't simply clean around these components on U3100, they have to be removed and replaced, and pads inspected. 99% on MAC boards and I have corrosion on the component, the pad is corroded underneath.

                            I did have a very similar issue on an A2251 (820-01949), still a T2 machine which uses CD3217. This machine was dead, 5V @ 250ma on all ports. So a quick board examination showed corrosion near U3100_X, I'll attach photo's if it will help. Components affected were R3108, R3109 and R3032. Resistors R3108/R3109 are for a pullup for I2C_UPC_X_SDAM and I2C_UPC_X_SCLM to PP3V3_UPC_X_LDO. The pads for PP3V3_UPC_X_LDO were gone, and I needed to run a jumper to a nearby test pad. R3032 grounds UPC_X_RESET but I don't think this was the cause.

                            Note that until I fixed the above problem, the T2 wouldn't fully boot due to that CD3217 not communicating properly due to the missing pullups. If the T2 doesn't complete it's boot, you don't get any further in the power sequence and you certainly don't get 20V. So a rather seemingly minor fault with a pullup can kill an entire machine!! Your case might very well be the same.

                            In your case, I'd be removing C3100, C3108 and C3106, and cleaning up the pads. Check for continuity from C3108 to R3108/R3109 and the PP3V3_UPC_XA_LDO test point. The other caps go to pads under the IC so use diode mode to test against values in OpenBoardData. Then go around each component and check it's diode values etc. Depending on whether that is liquid or insect damage will determine whether you need to remove the CD3215 to clean under it and reball it.
                            Attached Files

                            Comment


                              #15
                              Thanks, that's what I suspected.

                              I did end up removing U3100 and there was some damage around the pad for PP3V3_UPC_XA_LDO. I will attempt a repair later.

                              In the meantime, given that I have access to a bench power supply, is there a way I can provide power to the board directly to make the computer boot? I acknowledge that it would be a hassle to use it like so in the long run, but if at the very least I can boot it up once to recover some of the data on it in case something goes wrong with the repair later on.

                              Comment


                                #16
                                Short answer is no. T2 is the SMC and SSD controller. So it needs to complete it's boot process before it initiates the power sequence for the Intel side. And it won't do that without it communicating to all the CD3215's.

                                SSD data is also encrypted at the hardware level by the T2 so data recovery isn't possible without a functional and booted T2. This encryption is why they removed the SSD Lifeboat connector that they had on the T1 machines.

                                Comment


                                  #17
                                  Gotcha, thanks for the explanation.

                                  It looks like one of the U3100 pads (53 for PP3V3_UPC_XA_LDO) on the board got lifted in the process of removing the CD3215, so installing a new one will be a pain and not even guaranteed to work.

                                  Would there be a detailed explanation somewhere of how the CD3215 communicates with the T2 and what is the minimum required to continue the boot sequence? I've had a quick look but can't see anything readily available. The TL;DR is that I have plenty of microcontrollers lying around so if I could tap into some of the communication lines and pretend there is a working CD3215 it might solve my problem (at least temporarily). I've seen a few things about how CD3215s are usually set up in pairs and that U3200 would be the master whereas U3100 (the one now missing on my board) is the slave.

                                  At least some pointers as to which communication lines would be the ones to spoof, from what I can see U3100 has:
                                  • I2C
                                    • I2C_UPC_X_SDA2/SCL2 (pins 5/16)
                                    • I2C_UPC_XA_DBG_CTL_SDA/SCL (pins 29/37)
                                    • I2C_TBT_X_SDA/SDL (pins 27/28)
                                  • UART
                                    • UPC_XA_UART_TX/RX (pins 36/45)
                                  From there I might be able to reverse engineer the communication protocol and attempting to inject the adequate payloads to trick the T2 into thinking there is a working CD3215. If so I would of course share the results back with the community!

                                  Comment


                                    #18
                                    Hi all,

                                    before starting a new thread i add my problem here. I got a A1989 which was charging sometimes and sometimes it was not. So i found gunk at the same spot of TO. I claned everything and the battery took a charge. I made some charing tests during the next days to find out today that it was not charging again. :-\
                                    Sinced it worked before can a bad connection be the problem or can this also happen with a dying component?

                                    Comment


                                      #19
                                      So i found gunk at the same spot of TO
                                      ??

                                      Comment


                                        #20
                                        Sorry, thread operator or starter. :-)

                                        Comment

                                        Working...
                                        X