Skip to content
This repository was archived by the owner on Mar 27, 2023. It is now read-only.

Commit 649d642

Browse files
authored
Merge pull request #7 from MuertoGB/test
Test
2 parents 090ca62 + e08f374 commit 649d642

10 files changed

Lines changed: 3327 additions & 46 deletions

File tree

820-5509.nsh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
echo -off
2+
3+
cls
4+
5+
echo "MacMini7,1"
6+
echo "Mac-35C5E08120C7EEAF"
7+
echo "Flashing SMC with 820-5509 v2.24f32 firmware..."
8+
9+
smcutil.efi -force -norestart -LoadUpdate payloads\Mac-35C5E08120C7EEAF\flasher_update.smc
10+
smcutil.efi -force -norestart -LoadBase payloads\Mac-35C5E08120C7EEAF\flasher_base.smc
11+
smcutil.efi -force -norestart -LoadApp payloads\Mac-35C5E08120C7EEAF\Mac-35C5E08120C7EEAF.smc
12+
13+
complete.nsh

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
**Version 1.0.5**
2+
```
3+
- Script optimisation
4+
- Moved thanks to complete.nsh to make space in startup.nsh
5+
- Support Board: 820-5509
6+
```
17
**Version 1.0.4**
28
```
39
- GPT issues resolved

COMPATIBILITY.md

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
-
33
This information is still a work in progress, I only have so many MacBooks at my disposal to verify board-ids and perform a test flash. If a model is marked as verified, this means it was successfully flashed with SMC Tool. If a board is not in the below list, it isn't currently supported.
44

5-
Some boards carry identicle board-ids but have different logic board models, I have tried to keep them seperate for ease of use.
5+
Some boards carry identical board-ids but have different logic board models, I have tried to keep them separate for ease of use.
66

77
If you'd like to verify a board please open an issue. Make sure to include the model, EMC number, board-id, board model, and proof of a successful flash (Just copy the format below if you want). I would really appreciate help here.
88

@@ -109,7 +109,7 @@ A1398 (EMC2876, EMC2881)
109109
110110
Flash using 820-3787.nsh
111111
```
112-
**Use the below with precation, I'm unsure they're all 06F11F11946D27C5.**
112+
*Use the below with precation, I'm unsure they're all 06F11F11946D27C5.*
113113
```
114114
A1398 (EMC2909)
115115
@@ -141,4 +141,13 @@ A1398 (EMC2910)
141141
- Firmware: 2.30f2
142142
143143
Flash using 820-00426.nsh
144+
```
145+
**Mac Mini**
146+
```
147+
- MacMini7,1 (Late 2014-2017)
148+
- Board Model: 820-5509
149+
- Board-ID: Mac-35C5E08120C7EEAF
150+
- Firmware: v2.24f32
151+
152+
Flash using 820-5509.nsh
144153
```

README.md

Lines changed: 31 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,35 @@
11
**SMC Tool by David R:**
22
-
3-
Aimed at MacBook logic board technicians, SMC Tool makes flashing a replacement SMC quicker and easier. It not only saves time, but money, as a specific donor SMC isn't necessary to have 'on hand'. Simply take a matching model SMC from another board, replace and flash.
3+
Aimed at Mac logic board technicians, SMCTool makes flashing a replacement SMC quicker and easier. It not only saves time, but money, as a specific donor SMC isn't necessary to have 'on hand'. Simply take a matching donor SMC* from another board, replace and flash.
44

5-
Currently, a full list of SMC compatibility between boards is unestablished. I recommend you keep the board years as close as possible when taking a donor SMC from a non-matching board.
5+
*Currently, a full list of SMC boot compatibility between boards has not been established. I recommend you keep the board years as close as possible when taking a donor SMC from a non-matching board, otherwise the machine may not power on.
66

7-
💡This project is based on the work from [logi.wiki](https://logi.wiki/index.php?title=SMC_flashing).\
8-
🎥 SMC Tool tested by Paul L Daniels on [YouTube](https://www.youtube.com/watch?v=q8LEh8C4iYo).
7+
It has come to my attention SMCTool may not like some USB memory sticks, I use SanDisk SDCZ50 USB 2.0 without issue. Possibly an issue with UEFI, I don't know, yet.
98

10-
Thanks to:\
11-
Paul L Daniels, pbatard, Logi.wiki, EineWildeStehlampe, theSmudge.
9+
💡 This project is based on the work from [logi.wiki](https://logi.wiki/index.php?title=SMC_flashing).\
10+
🎥 SMC Tool tested by Paul L Daniels on [YouTube](https://www.youtube.com/watch?v=q8LEh8C4iYo).
1211

13-
If you would like to make a donation for my work, please see the link below:\
14-
https://www.buymeacoffee.com/Muerto
12+
**Thanks to:-**\
13+
**Paul L Daniels** for development help, and the kick to finish this project.\
14+
**Logi.wiki** for the original work, which I could base this project on.\
15+
**EineWildeStehlampe** for information and help regarding UEFI.\
16+
**theSmudge** for being a great help verifying information.
1517

16-
------------------------------------------------------------------------------------------------------------------------
18+
---
1719
**Before you start:**
1820
-
21+
I'm not responsible if you do something wrong, if you're here I expect you to know what you're doing. Where I do my utmost to verify all information to my best ability, I'm also not responsible for any mistakes my end either. As they say, sometimes shit happens.
1922

20-
I am not responsible if you do something wrong, if you're here I expect you to know what you're doing. Where I do my upmost to verify all information to my best ability, I am not responsible for any mistakes on my end either. As they say, sometimes shit happens.
23+
This is also **not** a magical 'fix my Mac' tool, it has a specific purpose, which is flashing correct payloads to a System Management Controller with incorrect firmware.
2124

22-
This tool cannot be used to program blank LM4F.
23-
24-
------------------------------------------------------------------------------------------------------------------------
25+
---
2526
**Download:**
2627
-
27-
Current Version: `1.0.4` \
28+
Current Version: `1.0.5`\
2829
See the [Changelog](CHANGELOG.md).\
2930
Downloads can be acquired in the [releases](https://github.com/MuertoGB/SMCTool/releases) section.
3031

31-
------------------------------------------------------------------------------------------------------------------------
32+
---
3233
**Creating a USB disk:**
3334
-
3435
To begin, format a USB disk in ExFAT, FAT32, VFAT or HFS+ using a GPT or MBR partition table, then....
@@ -39,7 +40,7 @@ To begin, format a USB disk in ExFAT, FAT32, VFAT or HFS+ using a GPT or MBR par
3940

4041
Extended instructions [here](BOOTABLEUSB.md).
4142

42-
------------------------------------------------------------------------------------------------------------------------
43+
---
4344
**Flashing the SMC:**
4445
-
4546
1. Plug in your USB disk and power on the Mac whilst holding the `Option ⌥` key.
@@ -49,58 +50,54 @@ Extended instructions [here](BOOTABLEUSB.md).
4950

5051
Quick video of flashing an SMC [here](https://www.youtube.com/watch?v=nUm30m3zNxI).
5152

52-
------------------------------------------------------------------------------------------------------------------------
53+
---
5354
**Compatible Boards:**
5455
-
55-
5656
See the [compatibility information](COMPATIBILITY.md).
5757

5858
Older, single file payloads for boards such as 820-3115/3332 are currently being worked out. Support may be added in the future.
5959

60-
------------------------------------------------------------------------------------------------------------------------
60+
---
6161

62-
**Compatible SMCs:**
62+
**Compatible SMC:**
6363
-
6464

6565
✅ Texus Instruments LM4 BGA157\
6666
❌ Texus Instruments TM4 BGA168\
6767
❌ Renesas DF2117 BGA145
6868

69-
Only MacBooks are supported. Others platforms are possible in the future.
69+
Currently supporting MacBook. and Mac Mini. Coming soon is iMac.
7070

71-
------------------------------------------------------------------------------------------------------------------------
71+
---
7272
**Why must the firmware be flashed:**
7373
-
74+
Each System Management Controller is specifically programmed for it's counterpart board, and is in charge of managing video, hibernation, battery charging, thermal and power management. Incorrect or mismatched firmware causes erratic behaviour such as broken display resolution, high fan speed, throttling, and crashing.
7475

75-
Each System Management Controller is specifically programmed for it's counterpart board, and is in charge of managing video, hibernation, battery charging, themal and power management. Incorrect or mismatched firmware causes erratic behaviour such as broken display resolution, high fan speed, throttling, and crashing.
76-
77-
------------------------------------------------------------------------------------------------------------------------
76+
---
7877
**If you flash the wrong firmware:**
7978
-
79+
You must immediately flash the correct firmware before powering off the system. In some cases you **might** brick the system if you reboot after flashing the incorrect firmware. After much testing I've never achieved a bricked board by flashing an incorrect firmware, however, others have mentioned 'no power' after loading the wrong SMC firmware for that board after a reboot, or power down.
8080

81-
In most cases you can flash again with the correct firmware. In some cases you **might** brick the system. After much testing I've never achieved a bricked board by flashing an incorrect firmware, however, others have mentioned 'no power' after flashing the wrong SMC firmware for that board after a reboot, or power down.
82-
83-
If a system is somehow rendered 'bricked' and cannot get to the boot menu, you must replace the SMC again. You can always put the incorrectly flashed SMC aside for future use on a board it was programmed for.
81+
If a system is somehow rendered 'bricked' and cannot get to the boot menu, you must replace the SMC again. You can always put the incorrectly flashed SMC aside for future use on a board it was 'accidentally' programmed for.
8482

85-
------------------------------------------------------------------------------------------------------------------------
83+
---
8684
**If you want to flash a different firmware:**
8785
-
88-
You can replace the update, base and app code image in the respective folder, say 820-00165 would be `payloads\Mac-937CB26E2E02BB01`.
86+
You must replace the update, base, code and EPM in the respective folder, say 820-00165 would be `payloads\Mac-937CB26E2E02BB01`.
8987

9088
Alternative SMC payloads can be found in firmwareupdate.pkg inside the MacOS Install.ESD file, or [here](https://github.com/sadponyguerillaboy/SMC-Toolkit/tree/main/SMCPayloads).
9189

92-
------------------------------------------------------------------------------------------------------------------------
90+
---
9391

94-
**EFI Screen resolution:**
92+
**Screen resolution:**
9593
-
9694
Use the `mode` command to display a list of supported screen modes, type the highest mode available e.g. `mode 160 47`, then press return.
9795

9896
The script will automatically switch screen mode when it can.
9997

100-
------------------------------------------------------------------------------------------------------------------------
98+
---
10199
**Licenses and acknowledgements:**
102100
-
103-
104101
Startup manager icon by [KBuHT](https://macosicons.com/#/u/KBuHT) on macOSicons.
105102

106103
*** UEFI Shell v2.0, release 4.632 ***

complete.nsh

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
1-
echo ""
2-
echo "SMC Version Check:-"
1+
@echo ""
2+
@echo "SMC Version Check:-"
33
smcutil.efi -v
4-
echo ""
5-
echo "Type 'exit' to reboot, or power off machine to complete the process."
4+
@echo ""
5+
@echo "Thanks to Paul L Daniels, Logi.wiki,"
6+
@echo "EineWildeStehlampe, theSmudge."
7+
@echo ""
8+
@echo "Process complete:"
9+
@echo "Type 'reset -w' to reboot, 'reset -s' to power off."

0 commit comments

Comments
 (0)