Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

prageethk

macrumors newbie
Original poster
Jun 23, 2019
16
9
Hey guys, I had a mostly dead M1 Pro (2021) 820-02098-A board with 32GB RAM. It never went into DFU mode. So I had another 820-02098-A board that came with M1 Pro 16GB RAM which was iCloud locked but booted and DFU restored just fine. I thought I could swap the SOC (32GB), WiFi, SPI NOR from the dead board to the iCloud locked board with a fresh set of NAND and get a working M1 Pro A2442 board with 32GB RAM. Boy I was wrong.

After swapping, the board went successfully into DFU. I could even start the restore, go into RestoreOS mode after RecoveryOS. Somehow, the restore process terminates due to disconnection. At this point I see most of the power rails looping. It always fails at fdr_recover. This checkpoint never completes.

Is it not possible to swap SOC between 32GB and 16GB boards? Is there any difference between these boards?

Attached is the complete log file.

Code:
[23:53:37.8179] Completed checkpoint id: 0x626 (mount_filesystem)
[23:53:37.8182]   Started checkpoint id: 0x65B (restore_system_image)
[23:53:37.8182] Completed checkpoint id: 0x65B (restore_system_image)
[23:53:37.8185]   Started checkpoint id: 0x662 (write_persistent_files)
[23:53:37.8191] Completed checkpoint id: 0x662 (write_persistent_files)
[23:53:37.8195] Completed checkpoint id: 0x677 (perform_main_os_prepare)
[23:53:37.8197] <Restore Device 0xc60cf9e00>: operation 13 progress 0
[23:53:37.8200]   Started checkpoint id: 0x67A (perform_short_prepare)
[23:53:37.8204] Completed checkpoint id: 0x67A (perform_short_prepare)
[23:53:37.8212]   Started checkpoint id: 0x67B (perform_restore_installing)
[23:53:37.8214]   Started checkpoint id: 0x627 (fdr_restore_saved_data)
[23:53:37.8217] sock  24: connected to  [fe80::9cd1:23ff:fe8f:78e4%en23]:12346 as [fe80::9cd1:23ff:fe8f:781b%en23]:56574
[23:53:37.8218] sock  24: set SO_KEEPALIVE=1
[23:53:37.8222] ASR progress: Initialized communication with client
[23:53:37.8248] ASR progress: Starting to send payload
[23:53:37.8257] Completed checkpoint id: 0x627 (fdr_restore_saved_data)
[23:53:37.8285]   Started checkpoint id: 0x69A (update_device_firmware_pre_fdr)
[23:53:37.8285] <Restore Device 0xc60cf9e00>: operation 13 progress 0
[23:53:37.8371] sock  26: connected to  [fe80::9cd1:23ff:fe8f:78e4%en23]:49165 as [fe80::9cd1:23ff:fe8f:781b%en23]:56575
[23:53:37.8373] sock  26: set SO_KEEPALIVE=1
[23:53:37.9126]   Started checkpoint id: 0x130C (update_aht)
[23:53:37.9126] Completed checkpoint id: 0x130C (update_aht)
[23:53:37.9293] Completed checkpoint id: 0x69A (update_device_firmware_pre_fdr)
[23:53:37.9296]   Started checkpoint id: 0x69B (fdr_prepare)
[23:53:37.9304] Completed checkpoint id: 0x69B (fdr_prepare)
[23:53:37.9314]   Started checkpoint id: 0x634 (fdr_recover)
[23:53:39.8102] URL Request: Server Response 200: (body length 241)
[23:53:39.8102]
[23:53:39.8103] sock  26: closed
[23:53:40.6150] RestoreOS mode device disconnected
[23:54:37.9399] sock  21: recv(4) failed: Operation timed out
 

Attachments

  • MacUpdater-132.log.zip
    24.7 KB · Views: 1
Thanks for the reply. SoC is searlialized with what else? I moved WiFi chip and SPI NOR. Anything else serialized to SoC?
The SoC is serialized. You can’t swap them.
Hi @JPack, don't say that because I just did and am typing this post on the 14 inch M1 Pro with the fixed A2442 logic board with M1 Pro 32G SoC. What a journey this was! To answer "Anything else serialized to Soc?" - It was the SEP EEPROM (U2000 on boardview).

So anyone looking forward to do complete SoC swaps to a donor board, below are everything you need.

Things you need:
  1. A working donor board preferabley same revision (in my case it was 820-02098-A)
  2. Working SoC
    1. Original SPI NOR chip paired with the above SoC
    2. Original SEP EEPROM paired with the above SoC
    3. Original WiFi chip paired with the above SoC
  3. Original NAND came with the above SoC / blanked out / new NAND
  4. Preferably the original Touch ID board paired with the above SoC
How to do it?

  1. Remove SoC, SPI NOR, SEP EEPROM, WiFi chip, NAND if present from the donor board. Set them aside (garbage). Clean the pads, use solder wick. A board pre-heater will greatly help and can lower hot air temps required.
  2. Prepare the targed SoC. I used a reballing JIG and used solder balls instead of paste, because I could not do it right. Make sure all solder balls are even. Clean the SoC with isopropyl alcohol.
  3. Reball the SPI NOR (paired to SoC) - I did a simple reball using the soldering iron and some flux and worked just fine
  4. Reball SEP EEPROM (paird to SoC) - I did a simple reball using the soldering iron and some flux and worked just fine
  5. Reball the WiFi chip (paired to SoC) - I used a stencil and good paste
  6. Reball NAND if not already
  7. Place the blank board on the pre-heater and solder SoC, SPI NOR, SEP EEPROM, WiFi chip and NAND
  8. Test for shorts
  9. Place the board in the Mac, connect battery, keyboard, touch ID and at least the USB-C port closest to the MagSafe (DFU)
  10. Plug in the second mac via USB-C cable to the DFU port while using tweezers to short the FORCE DFU pins. The host Mac should pop up a Finder window showing the fixed board in DFU mode. Click restore and wait for it to finish.
  11. Done and congratulations.
 
Last edited:
  • Like
Reactions: JPack
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.