This tool is aimed at MacBook logic board technicians, and makes flashing a MacBook SMC quicker and easier. It not only saves time but money, as a specific donor board or SMC aren't necessary to have 'on hand'.
This tool is based on the work from logi.wiki.
Current Version: 1.0.3
Discord: Muerto#6935
Thanks to:
Paul L Daniels, pbatard, Logi.wiki, EineWildeStehlampe.
To begin, format a USB disk in ExFAT, FAT32 or HFS+ with a Master Boot Record (MBR) filesystem. Then....
- Option A: Manually copy the SMC_Tool.iso files to the formatted USB disk.
Hidden files must be shown, otherwise the volume icon and name may not transfer, thus the disk will show as 'EFI Boot'.
- Option B: Write the raw SMC_Tool.img to disk with ddrescue, or similar.
NOTE: You may use a bootable USB creation tool, however, make sure to use the correct filesystem when formatting.
- Plug in the USB disk and power on the Mac whilst holding the
Option ⌥
key. - Load into
SMC Tool
from the boot menu and let startup.nsh run. - Type the boardnumber.nsh you want to flash, e.g:
820-00165.nsh
, the script will then flash the SMC. - Type 'exit' to reboot, or power off machine to complete the process.
Quick video here: https://www.youtube.com/watch?v=nUm30m3zNxI
A1465 820-3435 (Mojave Firmware) Type:
820-3435.nsh
A1466 820-3437 (Mojave Firmware) Type:820-3437.nsh
A1465 820-00164 (Mojave Firmware) Type:820-00164.nsh
A1466 820-00165 (Mojave Firmware) Type:820-00165.nsh
A1502 820-3476 (Mojave Firmware) Type:820-3476.nsh
A1502 820-4924 (Mojave Firmware) Type:820-4924.nsh
A1398 820-3662 (Mojave Firmware) Type:820-3662.nsh
A1398 820-00138 (Yosemite Firmware) Type:820-00138.nsh
A1398 820-00426 (Yosemite Firmware) Type:820-00426.nsh
In most cases all you'll need to do is reboot and flash again with the correct firmware. In some cases you may brick the system, however, after much testing I've never achieved a bricked board by flashing an incorrect firmware.
If a system is somehow rendered 'bricked' and will not get to the boot menu, you must replace the SMC.
I am not responsible if you do something wrong, if you're here I expect you know what you're doing. If your dad's uncle's friend suggested you use this as your MacBook fan is running too fast, I suggest you turn around and leave.
You can replace the update, base and app code image in the respective folder, say 820-00165 would be 'payloads\Mac-937CB26E2E02BB01'.
SMC payloads can be found in the firmwareupdate.pkg inside MacOS Install.ESD file.
I'm actively investing time into this. So far it has proved not to be worth the time and effort, on top of this its getting harder to acquire blank TI LM4F and you must manually build payloads. This tool has slighlty toppled my will to continue putting effort in. However, I will keep going, no promises you'll hear any more about it.
Type mode
to display a list of supported screen modes, then type the highest mode available e.g. mode 160 47
.
The script will automatically switch screen mode when it can.
This project utilizes UEFI Shell v2.0, release 4.632 (2010.05.27)
https://github.com/pbatard/UEFI-Shell/releases/tag/4.632\
The IA32 image has been removed.
*** UEFI Shell v2.0, release 4.632 ***
This bootable image contains builds of the 2.0 UEFI Shell, as provided by the Open Source 'EDK' project (https://github.com/tianocore/edk).
More specifically, this release, which we call '4.632', was produced using the Shell executables, built on 2010.05.07, and published at: https://github.com/tianocore/edk/tree/master/Other/Maintained/Application/UefiShell/bin
This image supports the following UEFI platform architectures:
- X64
- IA32
You are invited to validate that the binaries provided on this ISO are 100% identical to the ones from the official EDK project.
For more information on this release, you are invited to visit our official project page at https://github.com/pbatard/UEFI-Shell.