Announcement

Collapse
No announcement yet.

820-00875 SSD only boots sometimes

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

    820-00875 SSD only boots sometimes

    it has no liquid damage at all. when the drive boots it works perfectly but if i leave the machine off for a while it doesn't boot from the drive and i have to keep starting before it does detect the ssd.

    #2
    Re: 820-00875 SSD only boots sometimes

    turns out to be a faulty SSD. are there schematics for them or should they just be replaced?

    Comment


      #3
      Re: 820-00875 SSD only boots sometimes

      I have the exact same issue with the exact same board and I've tried diagnose the problem several times, also swapped U8640 (chip responsible for SSD power enable and boot).

      Others have also had the same issue, see:

      https://www.badcaps.net/forum/showthread.php?p=1092430

      Apple does have an extended service program for these machines, see: https://support.apple.com/13-inch-ma...-drive-service

      ...but I have the 512GB SSD and this program just covers 128GB and 256GB drives.

      Are you 100% sure it's the SSD btw? Have you tried another one and can confirm 100% that it boots every single time, and when you swap back the issue returns?

      It's just such a weird problem, because the SSD health is 100% fine and like you write yourself, when it first boots the machine works perfectly fine (until next reboot or in my case, even sleep).

      Also on the machine I have this issue escalated, at first it just happened sometimes that drive was not detected, and after a while and now it's most of the time. So I'm thinking a component on the SSD power enable line that started failing and have just deteriorated over time.

      Comment


        #4
        Re: 820-00875 SSD only boots sometimes

        It's also worth mentioning that there is a tool available in GSX for AASP that can upgrade the SSD firmware for these machines, but it's unavailable to the public.

        See: https://www.ifixit.com/Answers/View/...e#answer716308

        also see the last comment in that post.

        I'd love to get my hands on that though to see if it includes a new firmware for my SSD also. If anyone here has GSX access, please PM.

        Comment


          #5
          Re: 820-00875 SSD only boots sometimes

          the recall doesn't mention the late 2016 model

          Comment


            #6
            Re: 820-00875 SSD only boots sometimes

            The SSD on the logic board is PCIe based.

            In tracing the SSD_BOOT_CONN_L line, there appears to be a RC circuit which may be a factor here.

            As an experiment, remove the caps shown in the attachment - keep them in your toolbox, in case they are required.

            The premise here is to remove the delay on this line which is present due to these caps and the pull-up @ R8645.

            Test again and post your results.
            Attached Files

            Comment


              #7
              Re: 820-00875 SSD only boots sometimes

              Originally posted by kjchatman View Post
              turns out to be a faulty SSD. are there schematics for them or should they just be replaced?
              How did you test the faulty SSD?

              Comment


                #8
                Re: 820-00875 SSD only boots sometimes

                Originally posted by mon2 View Post
                The premise here is to remove the delay on this line which is present due to these caps and the pull-up @ R8645.

                Test again and post your results.
                I think you may be on to something. I actually bought all these caps from Farnell a year back or so (didn't want to buy eBay/Aliexpress caps for this due to their very low tolerance) thinking I would swap them all out, including the 3pF and 3.5pF caps for SSD_PWR_EN_CONN_L.

                So I will definitely try this, first as you suggested with SSD_BOOT_CONN_L caps and then I'll do the same for the SSD_PWR_EN_CONN_L caps if the first attempt does not make any difference. Not sure when I'll get around to it, but I'll definitely keep you posted. Again, thanks for the input, appreciate it. Cheers.

                Edit: Checked the date on the package labels for the caps, purchased 31. aug 2021, damn, you know it's been a loooong year when 4,5 months feels like "a year back or so".
                Last edited by duxzero; 01-12-2022, 02:54 PM. Reason: reminiscence collision

                Comment


                  #9
                  Re: 820-00875 SSD only boots sometimes

                  The RC circuit is a 'poor man's delay' circuit.

                  The signal is '_L' suffix = active low. That is, when the line is LOW, the SSD is held in RESET state and unable to communicate back to the PCIe master (host logic board).

                  Respectively, when this line is released, it is being driven by an open-drain gate which has a LOW state but high impedance otherwise. That is, AFTER the line is released by the driving OD gate, you are at the mercy of the pull-up resistor (100k) and this bank of caps.

                  Moving forward, this timing could be OFF for the installed SSD or the caps could derate over time. Either way, the RC circuit is NOT accurate. So, if the delay is too long to return to a 'high state' for this line then the SSD remains in RESET state. The host could then assume, the SSD is not present since it did not ping back a response.

                  I would try to remove the caps, one at a time to reduce the delay in this circuit. Test again. If still flaky, consider to replace the 100k pull-up with a stronger value of say 10k-47k. Stronger the resistor, the faster the RESET# signal line will be released to active state so the SSD can perform its communication.

                  Either way, update this thread with your results.

                  Comment


                    #10
                    Re: 820-00875 SSD only boots sometimes

                    Originally posted by mon2 View Post
                    Either way, update this thread with your results.
                    Will do, thanks again for the in-depth explanation. It makes sense. I think at one point I hooked up some of these lines to a logic analyser and logged timings with the Saleae software, but can't remember the results, may have it stored somewhere. Is this something you'd recommend me do again, like before and after removing caps to get a better understanding what's going on here?

                    Comment


                      #11
                      Re: 820-00875 SSD only boots sometimes

                      Don't bother on the timing review. Honestly, will be pretty sad if this fault led to the mass recall. However, on a positive note, the end users can repair it or have it repaired. Have a strong suspicion this will fix your quirk. After you validate the fix, we can open up our favorite non-alcoholic drink and post the resolution on Repairwiki / Logiwiki.

                      update - see attached.

                      If needed, consider to change this 100k pull-up to a stronger one like 10k-47k so that the RESET# line is released to a high, faster for the host to enumerate the SSD.

                      Will repeat this offer, if you have VAT #, can drop ship these to you from Arrow. They are dirt cheap parts but every country demands to collect their sales tax. Without the VAT #, we cannot drop ship the parts.
                      Attached Files
                      Last edited by mon2; 01-12-2022, 04:32 PM.

                      Comment


                        #12
                        Re: 820-00875 SSD only boots sometimes

                        Alright, so I got around to do some work on this one today. These are the steps performed:

                        - removed C8676
                        - powered up, SSD not detected
                        - removed C8675
                        - powered up, SSD not detected
                        - removed C8677
                        - powered up, SSD not detected
                        - at this point soldered the caps back (but new ones that has the same tolerance)
                        - wanted to change R8637 as you suggested, but this is marked nostuff on schematic and is not present on board
                        - looked more at schematic and saw the notes for C8671 for SSD_PWR_EN_CONN_L (critical, frequency specific), replaced this with a new one with the same tolerance
                        - powered up, SSD not detected
                        - replaced C8670
                        - powered up, SSD not detected

                        Did measurements on the lines again, the thing is that:

                        SSD_BOOT_CONN_L goes high after a second or so after plugging in power and stays high, haven't checked how this signal is when drive is detected though, as I probably need 50 attempts or so to get it booing.

                        SSD_EN is high as expected

                        SSD_PWR_EN_CONN_L is low as expected

                        SSD_RESET_L goes high as expected

                        SSD_CLKREQ_L also goes high and stays high, but is low at first, assuming that's expected too

                        All signals were just checked using a multimeter, but I can check them with scope to see the timings later, how long they stay low before going high and vice versa.

                        Removed the "tape shield" on the back of the SSD connector when I probed the SSD_RESET_L signal, and the holes where the SSD connector pins are soldered are only half filled with solder, that's not really great but it's enough to get good contact anyway. But that makes me a bit curious about the middle row though, as this row is on the other side of the board and must be surface soldered. It's under the shield so difficult to inspect, just hope they did a better job there.

                        So that's where I'm at. Was thinking of replacing C8673 and C8674 also, but won't bother since SSD_PWR_EN_CONN_L is low as it should be.

                        BTW: What does (BFH#) mean on the schematic on the SSD_BOOT_CONN_L line?

                        And thanks for the offer regarding the resistors though, that is very kind of you and I appreciate the offer, but I already have a range of caps and resistors at most sizes, so I'm good.

                        Comment


                          #13
                          Re: 820-00875 SSD only boots sometimes

                          Very good on the attempts.

                          Sorry if I said the wrong resistor.

                          See attached. There is a 100k pull-up on this open-drain line and IMO, the return to high state is too long and causing this fault.

                          Change the noted resistor to something stronger like 10k or even 4k7.

                          In the end, we want the host to drive this open-drain line to a logic LOW and once the driver tri-states (high impedance); want the rise time to be faster than it is now. You may need to remove the caps but the resistor with a lower resistance will be helpful.

                          Post your results.
                          Attached Files

                          Comment


                            #14
                            Re: 820-00875 SSD only boots sometimes

                            My bad, you did point me to the correct resistor, I was just a bit too quick assuming it was the other one.

                            Alright, so here we go again:

                            - replaced R8645 with a 10k resistor
                            - powered up, SSD not detected
                            - removed C8676
                            - removed C8675
                            - removed C8677
                            - powered up, SSD not detected
                            - replaced R8645 with a 4k7 resistor
                            - powered up, SSD not detected
                            - replaced U8640 again (this time from a donor board, last time it was a new chip)
                            - powered up, SSD not detected
                            - replaced C8640
                            - powered up, SSD not detected

                            Don't have time to do more on this one today, but perhaps in a couple of days. I think this time around I'll hook up the 8ch logic analyser on some of these lines to see what's up, and possibly pay attention to the notes at the bottom left at that schematic page, could be some reset timing issue?

                            Comment

                            Working...
                            X