820-00045-A DIY Lifeboat Connector

clusterfsck

New member
Got an 820-00045-A logic board here that appears to have a failed CPU. I can't find any missing power rails, board pulls 20V from charger, but I can't get it to boot. The customer is only interested recovering his data from the failed MacBook.

We've had some success using the lifeboat connector on 2016-2017 touch bar boards and I'm wondering if it is possible to do something similar with this board. Unless I'm missing something, both models simply have a PCIe NVMe SSD integrated into the board. There isn't anything incredibly special about the lifeboat connector. Removing the cover disconnects the SSD from the rest of the board and the migration tool taps into the power/PCIe lines leading to the SSD. Can you similarly tap into the power/data lines on this logic board and access the SSD with another computer?

I decided to try wiring up a working 820-00045-A board to a PCIe-M.2 (NGFF) adapter. I removed the M.2 connector from the adapter made the following connections to the logic board:

svlvq6F.jpg


M.2 PinLogic Board
1 GNDGND
41 PETn0PCIE_SSD_D2R_N<0>
43 PETp0PCIE_SSD_D2R_P<0>
47 PERn0PCIE_SSD_R2D_C_N<0>
49 PERp0PCIE_SSD_R2D_C_P<0>
50 PERST#SAK_SSD_PCIE_RESET_L
52 CLKREQ#SSD_CLKREQ_L
53 REFCLKnPCIE_CLK100M_SSD_N
55 REFCLKpPCIE_CLK100M_SSD_P

To stop the logic board from trying to access the SSD, I tied PM_SYSRST_L to GND. I verified that grounding this signal does reset the machine and I'm hoping holding the CPU in a reset state keeps it off the PCIe bus. I secured the logic board to the adapter board and stuck it in a Linux box. Unsurprisingly, this did not work. The host machine did not see an NVMe SSD or anything in the PCIe slot.

One of my earliest concerns was how to go about powering the SSD. The lifeboat migration tool supplies its own 3.3V, but different SSD components (DRAM buffer, NAND, etc.) require different voltages and I worried that these wouldn't be supplied without the enable signals from the system.

Has anyone tried something like this before and had success?
 

2informaticos

Administrator
Staff member
You try to access the same lines which CPU requires to work with SSD.
Data migration tool is good for non-working boards, where SSD area is still OK; bad CPU, or other onboard problem.
In your case, CPU works.
Why do you think you can access the lines which CPU cannot???
 

clusterfsck

New member
CPU on the customer board is bad. The customer needs his data, though, and I'm assuming the SSD still works. My idea is to connect another PC to the PCIe lines going to/from the SSD to recover the data.

I have another, working board that I'm testing with because I don't want to risk damage to the customer board. I wired everything up like I described, but could not see the SSD with the other PC. Asking if anyone here has tried something similar or has any insight on how to make this work.
 

2informaticos

Administrator
Staff member
Hopeless project, if you cannot isolate CPU from SSD data lines.
Lifeboat connector does that, but no way here.
Data lines remain connected to BAD CPU, which will block the communication.
 
Top