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

snsking

macrumors 6502
Jun 10, 2013
369
79
Thanks. For search purposes:

Boot ROM Version: MBP111.0138.B14
SMC Version (system): 2.16f68

snsking, please:
  1. read the precautions below
  2. backup
  3. connect the power adapter to the notebook
  4. log in as an administrator
  5. attach (mount) the disk image that you downloaded from Apple
  6. with a utility such as Pacifist or Payload Extractor, extract the .scap file from Apple's update package to a convenient path, for example ~/Desktop/MBPRetinaEFIUpdate-1.3/
  7. proceed only if you are certain that the drive at disk0 is in good working order; that the .scap file is of good integrity; and that the .scap file is applicable to the model identifier of the Mac
  8. launch Terminal
  9. prepare to enter your administrator password at the command line
  10. run the two single-line commands below.

First command:

Code:
sudo /usr/sbin/bless -mount / -firmware ~/Desktop/MBPRetinaEFIUpdate-1.3/MBP111_0138_B03_LOCKED.scap --recovery --setBoot --nextonly --verbose

Second command:

Code:
clear ; diskutil mount /dev/disk0s1 ; ls -l /Volumes/EFI/EFI/APPLE/FIRMWARE/ ; diskutil unmount /dev/disk0s1

If the output from that second command does not include the expected file – in your case, MBP111_0138_B03_LOCKED.scap – then do not restart. Instead, remount disk0s1 and remove the .scap files from the EFI volume.

If the output from that second command is good then restart the operating system, be patient before and during installation of the firmware (the screen may be blank for a while before the firmware progress bar appears), do not touch the Mac until after OS X restarts with the installed firmware.

Precautions

Google found MBP111_0138_B03_LOCKED.scap mentioned in Откат прошивки EFI на Mac - Проект AppStudio (2014-11-15). I don't read Russian, but a translation of the page suggests that rollback/downgrade of firmware is a most dangerous operation on a Mac.

With a different model (MacBookPro5,2) and the .scap file that's appropriate for that model, the ten-step approach above successfully (re)installed firmware. However I have not tested installation of lesser firmware.

Apple's
Mac OS X manual page for bless(8) may be outdated; there's no description of the -firmware option in --mount mode, and so on.


Tried it, but all it did was take really long to reboot. How can I show you the output log from the terminal commands
 

grahamperrin

macrumors 601
Jun 8, 2007
4,942
648
… How can I show you the output log from the terminal commands

  1. Copy the output
  2. reply to this topic
  3. paste
  4. select the pasted text
  5. click the # button in the editing toolbar.
If the editing toolbar is not present, then use the code tag.

If you need additional help with formatting, please post under Site and Forum Feedback.

Also please let us have output from the following command:

system_profiler SPHardwareDataType | grep ROM
 

snsking

macrumors 6502
Jun 10, 2013
369
79
  1. Copy the output
  2. reply to this topic
  3. paste
  4. select the pasted text
  5. click the # button in the editing toolbar.
If the editing toolbar is not present, then use the code tag.

If you need additional help with formatting, please post under Site and Forum Feedback.

Also please let us have output from the following command:

system_profiler SPHardwareDataType | grep ROM

I will have to run the commands again then and will get back to you in a few hours. I will post from output from the first command, and the second, and then I will reboot again and run the same process?
 

grahamperrin

macrumors 601
Jun 8, 2007
4,942
648
I will have to run the commands again then and will get back to you in a few hours. I will post from output from the first command, and the second, and then I will reboot again and run the same process?

It may be unnecessary to re-run the bless command.

Installation of firmware may have succeeded during the waiting period that you described. Don't expect a successful installation to be followed by a message of confirmation.
 

snsking

macrumors 6502
Jun 10, 2013
369
79
It may be unnecessary to re-run the bless command.

Installation of firmware may have succeeded during the waiting period that you described. Don't expect a successful installation to be followed by a message of confirmation.

I checked my system report and the version is still B14, wouldn't that have changed if the downgrade was truly completed?

So I run the commands w\o the bless command?
 

snsking

macrumors 6502
Jun 10, 2013
369
79
It may be unnecessary to re-run the bless command.

Installation of firmware may have succeeded during the waiting period that you described. Don't expect a successful installation to be followed by a message of confirmation.

Here is the output for command 1:

/usr/sbin/bless -mount / -firmware ~/Desktop/MBPRetinaEFIUpdated-1.3/MBP111_0138_B03_LOCKED.scap --recovery --setBoot --nextonly --verbose
EFI found at IODeviceTree:/efi
GPT detected
No auxiliary booter partition required
System partition found
Preferred system partition found: disk0s1
Returning booter information dictionary:
<CFBasicHash 0x7fd84340a400 [0x7fff7f191f00]>{type = mutable dict, count = 3,
entries =>
0 : <CFString 0x109448e70 [0x7fff7f191f00]>{contents = "System Partitions"} = (
disk0s1
)
1 : <CFString 0x109449650 [0x7fff7f191f00]>{contents = "Data Partitions"} = (
disk0s2
)
2 : <CFString 0x109449670 [0x7fff7f191f00]>{contents = "Auxiliary Partitions"} = (
)
}

Substituting ESP disk0s1
Mounting at /Volumes/bless.knxy
Executing "/sbin/mount"
mount_msdos: /dev/disk0s1: Permission denied
Returned 18176
/sbin/mount returned non-0 exit status
Failed to determine auxiliary partition mountpoint for disk0s1
Error while writing firmware updater for EFI


--

edit:

i am logged into the only account on this mac (admin), folder is titled same as command line indicates and is located on desktop, filename for EFI update is also the same as indicated on command line.

Just to let you know
 

snsking

macrumors 6502
Jun 10, 2013
369
79
You should, at least, use sudo.

Do you want me to keep the bless?

----------

The command that I suggested began with sudo

Here we go:

sudo /usr/sbin/bless -mount / -firmware ~/Desktop/update/MBP111_0138_B03_LOCKED.scap --recovery --setBoot --nextonly --verbose\
>
Password:
EFI found at IODeviceTree:/efi
GPT detected
No auxiliary booter partition required
System partition found
Preferred system partition found: disk0s1
Returning booter information dictionary:
<CFBasicHash 0x7fa6c3507330 [0x7fff7a18cf00]>{type = mutable dict, count = 3,
entries =>
0 : <CFString 0x10cd91e70 [0x7fff7a18cf00]>{contents = "System Partitions"} = (
disk0s1
)
1 : <CFString 0x10cd92650 [0x7fff7a18cf00]>{contents = "Data Partitions"} = (
disk0s2
)
2 : <CFString 0x10cd92670 [0x7fff7a18cf00]>{contents = "Auxiliary Partitions"} = (
)
}

Substituting ESP disk0s1
Mounting at /Volumes/bless.CS4i
Executing "/sbin/mount"
Returned 0
Deleting contents of EFI cache directory
Creating /Volumes/bless.CS4i/EFI/APPLE/FIRMWARE if needed
Deleting previous contents of /Volumes/bless.CS4i/EFI/APPLE/FIRMWARE
Deleting /Volumes/bless.CS4i/EFI/APPLE/FIRMWARE/MBP111_0138_B03_LOCKED.scap (8454768 bytes)
Opened dest at /Volumes/bless.CS4i/EFI/APPLE/FIRMWARE//MBP111_0138_B03_LOCKED.scap for writing
preallocation not supported on this filesystem for /Volumes/bless.CS4i/EFI/APPLE/FIRMWARE//MBP111_0138_B03_LOCKED.scap

/Volumes/bless.CS4i/EFI/APPLE/FIRMWARE//MBP111_0138_B03_LOCKED.scap created successfully
Relative path of /Volumes/bless.CS4i/EFI/APPLE/FIRMWARE//MBP111_0138_B03_LOCKED.scap is \EFI\APPLE\FIRMWARE\MBP111_0138_B03_LOCKED.scap
IOMedia disk0s1 has UUID 829A1425-C3CA-4F8D-8EB5-EE7E5D7399D0
Executing "/sbin/umount"
Returned 0
Write to RTC: 0
Setting EFI NVRAM:
<CFBasicHash 0x7fa6c3402da0 [0x7fff7a18cf00]>{type = mutable dict, count = 1,
entries =>
2 : <CFString 0x10cd91eb0 [0x7fff7a18cf00]>{contents = "efi-apple-recovery"} = <CFString 0x7fa6c3508a90 [0x7fff7a18cf00]>{contents = "<array><dict><key>IOMatch</key><dict><key>IOProviderClass</key><string>IOMedia</string><key>IOPropertyMatch</key><dict><key>UUID</key><string>829A1425-C3CA-4F8D-8EB5-EE7E5D7399D0</string></dict></dict><key>BLLastBSDName</key><string>disk0s1</string></dict><dict><key>IOEFIDevicePathType</key><string>MediaFilePath</string><key>Path</key><string>\EFI\APPLE\FIRMWARE\MBP111_0138_B03_LOCKED.scap</string></dict></array>"}
}


thats command 1,

command 2 is as follows:

clear ; diskutil mount /dev/disk0s1 ; ls -l /Volumes/EFI/EFI/APPLE/FIRMWARE/ ; diskutil unmount /dev/disk0s1

Volume EFI on /dev/disk0s1 mounted
total 16514
-rwxrwxrwx 1 Admin staff 8454768 Mar 31 23:34 MBP111_0138_B03_LOCKED.scap
Volume EFI on disk0s1 unmounted

then i restart.
 

snsking

macrumors 6502
Jun 10, 2013
369
79
Is that shorter or longer than usual?

Try just the first command, then shutdown, then press and hold the power key for around five seconds; when the Mac bleeps, release the power key.

For reference only, http://pastebin.com/raw.php?i=Sx1GvQpw shows the routine that preceded reinstallation of firmware on my MacBookPro5,2.

A normal restart for me takes about 10 seconds. It takes 2 seconds to shutdown, get a black screen for about 1 second, then the initial black boot up screen followed by the gray loading screen - is another 5-7 seconds before im at the desktop.

Ok, so enter the first command only? Is there any need for the 2nd after the reboot
 

grahamperrin

macrumors 601
Jun 8, 2007
4,942
648
… Ok, so enter the first command only? Is there any need for the 2nd after the reboot

Not a reboot/restart.

From my previous post:

"… Try just the first command, then shutdown, then press and hold the power key for around five seconds; when the Mac bleeps, release the power key. …"​

More specifically:
  1. the single-line command below (your earlier post showed something similar, but there was a trailing '\')
  2. a normal shut down
  3. an unusual start – the press and hold of the power button/key, until a bleep is heard.

Code:
sudo /usr/sbin/bless -mount / -firmware ~/Desktop/update/MBP111_0138_B03_LOCKED.scap --recovery --setBoot --nextonly --verbose


Background information

This 2009 quote is quite old, but relevant:

… (if memory serves me) … firmware update when you hold the button down for something like 5 seconds.

maflynn's memory is good. Older but still relevant, a 2006 topic: How to recover from firmware update failure?

… Unfortunately, they held the power button down until the firmware update tone came on. Of course, there was no firmware software to be installed …

… 17" PowerBook running Panther 10.3.9. …

Phrases such as 'firmware update failure' and 'most dangerous operation' are suitably alarming. Amongst the precautions that I suggested on 31st March, I'm particularly troubled by the apparently outdated manual page.


An additional precaution

To any reader of this topic:
  • if you are not confident with command line executions (Terminal, single user mode, and so on), then a command line approach to preparation for a firmware update may be risky
– if the Mac becomes a brick – if, for example, you disturb the Mac during the update – then it may be difficult or impossible to reuse the Mac.

(I have never handled a bricked Mac. Un-bricking would be beyond the scope of this topic.)


More optimistically

From a Google translation of the Russian article:

"… on Macs (unlike iOS, where there is a tyrant) Apple does not prohibit downgrade EFI. …"​

With reference to the 2006 topic ("… Unfortunately … there was no firmware software to be installed …"), here's that other command:

Code:
clear ; diskutil mount /dev/disk0s1 ; ls -l /Volumes/EFI/EFI/APPLE/FIRMWARE/ ; diskutil unmount /dev/disk0s1

That command:
  • clears the screen
  • uses diskutil to mount the volume at slice 1 of disk 0 (that is typically the EFI partition)
  • lists the contents of the directory where we expect to find a copy of the file that the Mac will use for the firmware update
  • uses diskutil to unmount the volume.

If the directory listing shows the appropriate .scap file then you should be assured that there is firmware to be installed.


Apple Support documentation

You might wonder why none of the following mention firmware:
Apple's installers for firmware are user-friendly with an assumption that the user wishes to perform an update; no need for special use of keys or buttons. And so, as noted above:

Trying to open it on the Desktop gives the error that it is not compatible with my system (since I have a higher version that the one im tyring to install) …

Performing a downgrade of firmware is an extraordinary routine; don't expect to find details in any current documentation from Apple.

----

Last but not least, from an archived Apple Support document, Desktop Macintosh: Hold power button to reset:

"… Follow these steps in the event that a firmware update is needed for these computers with no programmer's switch:
  1. After downloading and running the firmware update, shut down the computer.
  2. Wait until the computer is shut down and the power light is off.
  3. Press and hold the power button for several seconds.
  4. The computer will signal that a firmware update is ready to be installed by making a steady tone and the power button light will quickly flash several times for several seconds."

With more modern Macs I should not expect flashing lights and so on, but the routine is essentially similar:
  • prepare for the update
  • shut down
  • start the Mac in a way that uses the prepared file.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.