I have a MacBook Pro Retina 15" that is no longer bootable due to (as far as I can tell) corrupted SMC firmware. The reason I think this is that SMC resets no longer work, the MagSafe charging light is off and the fans are on full blast.

Since I can't boot into Mac OS my idea was to run an rEFInd shell and try to manually re-flash the firmware as described here and here. The problem is that when trying to execute "SmcFlasher.efi -reset 1" I get the following error message:

Warning (at least one SMC) is not in the expected AppCode mode, but in 'U' mode. To enter AppCode mode run SMCUtil with the '-reset 1' option.

...which seems strange, since I just specified the '-reset 1' option.

My question(s):

  1. Does anybody know what I'm doing wrong?
  2. What is the difference between AppCode and 'U' mode?
  3. Any other ideas on how to get my MacBook booting again?

Some more background:

About three weeks ago I replaced the notoriously unreplaceable (glued in) battery as well as the network card. Initially there were some issues with the MagSafe light and fan and so I did an SMC reset. Everything was fine for a week or two at which point the machine began self-initiating restarts (popping up a confirmation dialog, asking if I really wanted to restart). This began sporadically, then increased in frequency and eventually got so bad that I couldn't boot at all without a restart being initiated. Then finally, the MagSafe light went off and the fans came fully on.

Since the battery is new I probably still have some charge left, but my concern is that once the battery runs down (since it's not being charged) I will have no way to even attempt to save my machine.

Any help is much appreciated!


It seems you are not using the right program : you said you are using

SmcFlasher.efi -reset 1

But the error message mentions SMCUtil, I don't know where you can find it though.

Also, have you tried the solution mentioned here.

SmcFlasher.efi -force -update <filename.smc>

To force reflash your firmware ?

  • Thanks for your answer. As the link you pointed me to mentions, SmcFlasher and SmcUtil are apparently synonymous (perhaps SmcUtil is the older name that never got updated in the error message?). The force update command returns the same error message plus some additional output (don't have at hand right now). I presume that the SmcFlasher binary from Apple should work; or is there something special about the binary posted under that link? – John Sep 17 '15 at 15:41
  • No, I don't think there's anything specific about the binary posted there. – Antoine Reversat Sep 18 '15 at 16:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.