netkas.org forum
October 15, 2019, 01:12:08 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Information for registering users http://forum.netkas.org/index.php/topic,2246.0.html
 
   Home   Help Search Login Register  
Pages: 1 2 3 [4] 5 6 ... 10
  Print  
Author Topic: Mac Mini Firmware Upgrade Utility Needed (help request).  (Read 661584 times)
lolof
Guest
« Reply #45 on: September 26, 2011, 04:35:23 PM »



I do not know if someone noticed this, in the updater package 1.2 there is reference to a MM21.88Z.009A.B01 firmware. We have the B00. Too bad, it is not include in the package.

@sebinou Your file is the same as mine (with correction frimware name I forgot), same file but not the same way to process. It looks good.

« Last Edit: September 26, 2011, 06:28:14 PM by lolof » Logged
MacEFIRom
Not Newbie
*
Offline Offline

Posts: 19


« Reply #46 on: September 26, 2011, 07:13:52 PM »

Hey, you guys have made great progress on this. The EFI updater program is very easy to modify, and the script to install for next time boot is also very simple. First, the EFI updater modification:

Download the MacMini EFI Updater dmg from Apple.
Using Pacifist, extract the EFIUpdaterApp.efi program and the firmware update file, named LOCKED_MM11_0055_08B.fd.
Get the CRC32 checksum of this firmware file using the crc32 command line utility, and let's call this crc32-orig.
Rename the modified firmware filename to LOCKED_MM11_0055_08B.fd.
Get the CRC32 checksum of the modified firmware file using the crc32 command line utility, let's call this crc32-mod.
Using a hex editor, find the instances of crc32-orig and replace them with crc32-mod. Remember these will be in LSB-MSB format.
Find the firmware version string lists, they will be in 2 locations, the 32-bit EFI and 64-bit EFI parts.
Replace one of the MM11 firmware version strings in each list with your current firmware version string. This can be easily displayed with Geekbench.
Put the modified EFIUpdaterApp.efi and LOCKED_MM11_0055_08B.fd files together in a folder with this script:

#!/bin/bash

updatesdir1="/System/Library/CoreServices/Firmware Updates"
updatesdir2="/System/Library/CoreServices/Firmware Updates/MacMiniEFIUpdate"
firmwaredir="path to your files"
firmware="EfiUpdaterApp.efi"
firmware2="LOCKED_MM11_0055_08B.fd"

rm -r "${updatesdir1}"
mkdir "${updatesdir1}"
mkdir "${updatesdir2}"

cp "${firmwaredir}/${firmware}" "${updatesdir2}"
cp "${firmwaredir}/${firmware2}" "${updatesdir2}"

/usr/sbin/bless -mount / -firmware "${updatesdir2}/${firmware}" -payload "${updatesdir2}/${firmware2}" -options "-x efi-apple-payload0-data" --verbose

exit 0

Of course replace "path to your files" with the location of the files on your system. Make the script executable and run it, with sudo.

Shut down the system and then reboot, holding the power button down until you see the flashing light or long tone. If everything has been done correctly, the firmware update will get done. If the system screen briefly shows a progress bar and then re-boots, that's because the EFI updater program didn't like something. It has to have a matching firmware string to update to, a matching filename, and the correct CRC32 value to match. In addition, there may be other checksums in the firmware file that have to match, which in the modified file might not be correct.

Good luck!
Logged
Sebinouse
Jr. Member
**
Offline Offline

Posts: 64



« Reply #47 on: September 26, 2011, 08:18:01 PM »

@sebinou Your file is the same as mine (with correction frimware name I forgot), same file but not the same way to process. It looks good.
I took this file :

MD5 43979d390e6b7a6f3af5cb867507312b
File name: firmwarePL.fd File size: 2 MB

And then I removed these parts :

0x4 bytes offset 0x1B004C
0x38D6 bytes offset 0x1B0058
0x244 bytes offset 0x1D0018
0x2000 bytes offset 0x1D8000
0x80 bytes offset 0x1FFF00

And I get the exact same file as with alexcooltranquille


About the .efi for the update, why not use the file from the 1.2 update ? (with the MM21...B01 reference)
EDIT : too late !  Roll Eyes

About the missing part of code, I think this part misses only in the MM11 dumps and no longer in MM21 dumps:

My guess is that this kind of "firmware injection" was on 0x4000 bytes offset 0x1DA000 on MM11 and is now on 0x7000 offset 0x1A4100 on MM21, IM51 and on MM21 dumps !!!
Those two part look similar :
- 4MB exactly / 7MB exactly
- each MB begins with the same sequence
- only several bytes differ from one firmware to another (IM51 IM52 IM61 MM21)






Logged
lolof
Guest
« Reply #48 on: September 26, 2011, 08:46:54 PM »

It is almost the same as the file I have reconstructed but with another method.
I reconstructed with imac5.1 original firmware and the PL one. Funny, almost same result.
The difference are very minimal, I will check now where they come.
Look the difference in the .txt

The line with "!" is where there is a difference in the block.
First block is mine, second is your. It is really really small diff. But one byte can be too much !

I have a working update file, who want it :-)



« Last Edit: September 30, 2011, 02:04:23 PM by lolof » Logged
lolof
Guest
« Reply #49 on: September 26, 2011, 09:51:59 PM »

Here in your file it doesnt reflect pl and Ale firmware dump  

! 01d0010: 85ae 2dbf feff ffff ffff ffff ffff ffff  

I think the other error are minor, I took all other value from locked_im51_0090_09B.fd but as they are in both, I have corrected this except for 01d0010.

I have try to update. It works till efiupdaterapp2 in efi.
I do not understand, I can downgrade and come back to actual firmware....
Maybe we should try with the crc32....

Update : understood ! On the old firmware package, the one to downgrad (1.0.1), there is no crc2 check, only name.....



« Last Edit: September 26, 2011, 10:34:32 PM by lolof » Logged
Sebinouse
Jr. Member
**
Offline Offline

Posts: 64



« Reply #50 on: September 27, 2011, 12:36:08 AM »

I'm not completely sure but to upgrade you need efiupdaterapp.efi not efiupdaterapp2.efi.

Upgrade (MacMini1,1 -> MacMini2,1)
- Get the original MacMini installer application
- Rename a MM21 .fd into "LOCKED_MM11_0055_08B.fd"
- Edit "EFIUpdaterApp.efi" with MM11.88Z.0055.B08 (two places)
- Run the script

Downgrade (MacMini2,1 -> MacMini1,1)
- Get the original ? MacMini/iMac ? installer application
- Rename a MM21 .fd into "LOCKED_MM21_009A_00B.fd"
- Edit "EFIUpdaterApp2.efi" with MM21.88Z.009A.B00 (two places) and a crc32 in LSB-MSB (two-three places)
- Run the script (after editing, it doesn't fit for the moment)

It is very easy to get messed up with the 00B or B00, 08B or B08 ... we have to be VERY careful !

@MacEFIROM : I don't see the location of the crc32 check in the "EFIUpdaterApp.efi", do you remember ?

« Last Edit: September 27, 2011, 12:48:18 AM by Sebinouse » Logged
Sebinouse
Jr. Member
**
Offline Offline

Posts: 64



« Reply #51 on: September 27, 2011, 01:09:42 AM »

! 01d0010: 85ae 2dbf feff ffff ffff ffff ffff ffff  

I think the other error are minor, I took all other value from locked_im51_0090_09B.fd but as they are in both, I have corrected this except for 01d0010.

You're right ... I updated my files ...

Quote
To remove personal data we have to remove :
0x4 bytes offset 0x1B004C
0x38D6 bytes offset 0x1B0058
0x240 bytes offset 0x1D001C
0x2000 bytes offset 0x1D8000
0x80 bytes offset 0x1FFF00
Logged
lolof
Guest
« Reply #52 on: September 27, 2011, 01:22:34 AM »

@sebibou

Yes, I was wrong. This has to be done with 1.1 updater.

I am now on a macmini 2,1. I have updated and it seems to work... I couldnt resist to try.

At first boot after the update I lost the screen, but I forced the computer to shutdown when I was sure that all was finished with update, then restart and reset the pram and all was ok. I suppose that was maybe a paar wrong byte in pram.... All ok after.

If you want, I will give you the uploader. Now lets try to install tiger on it!!!!!!!  Cheesy Cheesy Cheesy

For the crc32 things, you must inverse the results. For exemple if you have a crc like this from the cmd line : 2a 3b 23 24, you must inverse 24 23 3b 2a

I will send back the chips and programmator and instead buy more memory.....   Wink

Now, we have to try to do a package to come back in MM1,1...

SPECIAL THANKS TO macEfirom and all poeple working on this Sebinou, growner, (Alexcooltranquille and PatrickL for MM21 Dump), and all other



« Last Edit: September 30, 2011, 02:05:33 PM by lolof » Logged
Sebinouse
Jr. Member
**
Offline Offline

Posts: 64



« Reply #53 on: September 27, 2011, 09:04:57 AM »

Congratulation s !!!
 Shocked


Of course I want your installer ( I already have my own but I want to give a closer look at yours ) and try it asap !  Cheesy


Let's try the downgarde now !


Logged
girafe
Newbie

Offline Offline

Posts: 3


« Reply #54 on: September 27, 2011, 09:31:42 AM »

lolof, why don't you distribute the installer?
Logged
Sebinouse
Jr. Member
**
Offline Offline

Posts: 64



« Reply #55 on: September 27, 2011, 09:42:02 AM »

Now lets try to install tiger on it!!!!!!!  Cheesy Cheesy Cheesy
The other tiger ... not the leopard ... the LION !

r the crc32 things, you must inverse the results. For exemple if you have a crc like this from the cmd line : 2a 3b 23 24, you must inverse 24 23 3b 2a
I can't find them in the "EFIUpdaterApp.efi" ... ok in "EFIUpdaterApp2.efi" ...

I will send back the chips and programmator and instead buy more memory.....   Wink

Now, we have to try to do a package to come back in MM1,1...
You may need them to get rid of this black screen issue and for the downgrade
But you can also try the memory upgrade 4GB?

Logged
lolof
Guest
« Reply #56 on: September 27, 2011, 09:58:45 AM »

@sebinouse

Yes, lion... I was tired :-)

I will buy memory  in few hours.
I read that only 3GB of the 4 will be working, but it is already good!
The 2 ram modul should be exact the same.
Compare the efiupdate.app from my package with the one from 1.1 update apple, you will see the offset of the crc check.

And yes, I will keep the programmer and chips for the downgrad, even if I do not really want to downgrad now or if someone get bricked I will be able to help.
Poeple must understand nad  have donne a clean dump before to try the update !!!!!!! I think this is very important as I alrready had screen problem during the update. Flashrom is a very easy way to get a dump directly from osx.

We also need a clean package where flashrom could be including to do a dump before the update. MacEfirom, could you help us to do this ?

Please report your result, I am curious to see if you will have the same screen problem I had.

« Last Edit: September 30, 2011, 02:03:20 PM by lolof » Logged
Sebinouse
Jr. Member
**
Offline Offline

Posts: 64



« Reply #57 on: September 27, 2011, 10:19:47 AM »

PM received Thanks !

I finally understand my crc32 issue ... I took a wrong .efi file (from 1.0 update FAIL !)  Angry Angry Angry
Now I have the EXACT same as you have ... good sign !

I will be home this evening so could try. Just remind me what went  wrong :

1) You did the update
2) At reboot no screen
3) You waited a while (how long ?)
4) Reboot pressing the power button
5) No Screen
6) Reboot pressing the power button & PRAM Reset
7) OK
« Last Edit: September 27, 2011, 10:41:59 AM by Sebinouse » Logged
lolof
Guest
« Reply #58 on: September 27, 2011, 10:29:23 AM »

The more important, be sure to have a dump of your actuall firmware somewhere else than in your Macmini HD, I know you have it :-) It is especially said for all poeple who will update later when we will have a beautifull update app.

1) Start the update app
2) Shutdown the computer (The updater will ask you)
3) Restart the computer holding the power button till you can see the blue led flashing on your mini
4) The update process starts (You will see the update  progress bar) I do not remember how long it was, it seemed that was long :-) I would say maybe 3 or 4 minutes. If you think it is blocked it is not, you have to wait.
5) The computer will reboot from itself when the update process will befinished and bring you into osx, just wait, do not do anything.
6) Forget about the message from the update app saying that your computer cannot be updated, quiite the app. Your firmware IS updated

When I have done the  update, at the end of point 4, I lost the screnn for few seconds, the computer rebooted and the screen was not normal (you ll see it if you have it). I could see in a part of the screen that I was after few seconds at the login screen. At this point, I forced the mac to shutdown holding the power button.
I then restart doing a PRAM reset (pomme+alt+p+r untill 2 or 3 tipically apple dongs).
The computer restarts normally and I ve got no problem since the update.
Maybe you will not have this problem, I have done so many test of downgrad, start in effi partition, upgrade and test that I could have corrupt some data in the rom! In addition, I had still refit installed.
« Last Edit: September 27, 2011, 10:40:53 AM by lolof » Logged
Sebinouse
Jr. Member
**
Offline Offline

Posts: 64



« Reply #59 on: September 27, 2011, 10:45:12 AM »

OK thank for the precise info !

Offside request : my gcc compiler is corrupted, I can't download Xcode (too big for 3G connection) ... can you share your flashrom app ?

For the downgrade I would give a try to these two methods :

1) rename "EfiUpdaterApp2.efi" into "EfiUpdaterApp.efi" inside the MacMini firmware upgrade application
(this would allow a easily scriptable application like MacEFIRom's programs)
or
2) edit the iMac firmware to work with MacMini2,1
« Last Edit: September 27, 2011, 12:20:29 PM by Sebinouse » Logged
Pages: 1 2 3 [4] 5 6 ... 10
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!