Intel Management Engine?
I had a look at Intel® Desktop Boards with Intel® Z68 Express Chipset to see what changes were made to the firmware to enable Ivy Bridge CPUs. I found a valuable tip on a Tom's Hardware forum: Ivy Bridge CPUs need ME version 8 firmware.
The Management Engine sits in the Z68 Platform Controller Hub. The firmware for the Management Engine shares the same SPI ROM with the EFI boot ROM. To enable Ivy Bridge processors we may need to replace version 7 ME code with version 8 code made for the Z68 chipset. One possible source for the ME code is version 0040 (or newer) BIOS update for the Intel DZ68DB motherboard.
More on the Intel Management Engine here:
Hello. iMac 21 2011 when updating Mac OS, the computer rebooted and when turned on, it began to emit signals: 3 short, 3 long, 3 short and starts to reboot, and then everything starts over again. After searching the Internet, I realized that this is an SOS signal - damage to the memory of the EFI firmware. Can you dump the firmware ? Will flashing with a programmer help ?Hello,
As I will soon receive my Ivy Bridge processor and test it on my iMac 2011, I made a simple modification of the intel Microcodes.
Since nothing is that simple (well, who knows), I think I need to make some other modifications.
View attachment 960542
By the way this code is in duplicate, I'll have to test with only one (capture of an original rom).
View attachment 960547
I thought it would be nice to see what we can do for that, but not only, make other modifications (see correction?)
I had thought for example to have the boot colors natively black like for a while on the higher machines or even more. 😅
View attachment 960544 View attachment 960545
Boot colors natively black mod Ok : Change your GUID 6A504489-884E-4465-A02F-03B248CDEF13,
by the iMac 16,1 GUID 6A504489-884E-4465-A02F-03B248CDEF13 file attached.
Correct the management of the wifi card when it's changed we can't use it directly at boot time.
View attachment 960553
And who knows other ideas about changes that could help for those who have changed their graphic cards etc...
I really like this kind of research but I know that my skills are very limited.
UEFI ROM (iMac 2011, 21"5 and 27") attachments of a motherboard out of service for those who want.
I count on you, thank you.
Wiki post, don't hesitate to correct my english mistakes.
Just take OUT RAM and re-insert. Clean contacts. This has nothing to do with firmware.Hello. iMac 21 2011 when updating Mac OS, the computer rebooted and when turned on, it began to emit signals: 3 short, 3 long, 3 short and starts to reboot, and then everything starts over again. After searching the Internet, I realized that this is an SOS signal - damage to the memory of the EFI firmware. Can you dump the firmware ? Will flashing with a programmer help ?
I've finally gotten back to working on this, and so far I have now been able to get Coreboot working successfully on my testing 2011 13" MBP8,1. However, using the same build on a completely stock, unmodified 17" MBP8,3 won't boot, it seems to hang (not just show no video). I checked all the GPIO configs, device tree, etc. and all looks good (and matches up exactly with that of MBP8,1 according to schematics). The only difference is the AMD GPU (which I've already disabled via DeMux), and gMux IC (which of course is set to always use iGPU with DeMux). Hopefully I can get some sort of UART or console output from it for debugging, and figure out what the issue is.does it use gmux dual gpu? you using libgfxinit? what payload are you using? if grub2 payload it need a patch first else it hangs?
so its different in dual vs not changing the ads file? this machine have your solder mods? does it show screen in retail bios? does caps lock toggle off and on or external usb keyboard connected can toggle caps lock?
the line is maybe grub2 hanging but i dunno your payload or what u using libgfxinit
you can try get flashconsole log to see if panel resolution is detected and if it jumped to payload
or usb ft232 logging (try find_debug.sh script in the utils dir) I didn't try which port for macbookpro8
(the macbookpro10,1 its on the right side usb with laptop face you normal use), but need disable usb 3.0 in devicetree.cb
edit
i think the ch1p builds is using mbp8,2 which have gmux. you might have to remove the code with gmux in devicetree.cb and other place and also there is a some early_init.c iirc that inside set to disable the dgpu or enable and also accidently disable the root hub switch (due to some logic error that applied to the levono where it was copied from and that when apply will cause thunderbolt to not init properly. i have fix for that and efi-properties- injection fix for eprom thunderboltdrom later if you get to that part too
Awesome!!!Well, with the help of Coreboot, here it is... A 2011 17” MacBook Pro running with Core i7 3720QM and HM77 PCH!
View attachment 2173792
Hi @dosdude1 - If it's okay to ask, is the firmware driver/mod/patch which you used for this available anywhere?The AMD GPU is defective and is fully disabled using DeMux firmware
FA4CE28D-B62F-4C99-9CC3-6815686E30F9:gpu-power-prefs=1
, and also tried using NVRAM GfxMode=0
and GfxMode=4
. These all do seemingly disable it, but the machine is unbootable. I've been assuming the issue is _something like_: the machine powers up in dGPU always, for EFI and onwards into the next OS; and it is only in macOS that it swaps over to using the iGPU for low power features. Therefore, if you disable the dGPU early, the machine won't start, or rather hangs very early in the boot sequence. I am happy to have any of this corrected/clarified, by anybody who knows better.So the CPU and PCH were replaced on the original board? AwesomeA 2011 17” MacBook Pro running with Core i7 3720QM and HM77 PCH!
It is, but it's not compatible with Retina machines. Only 2011 and 2012 non-Retina machines. Not sure if it would make any difference in this case, but the NVRAM command I know works is:Hi @dosdude1 - If it's okay to ask, is the firmware driver/mod/patch which you used for this available anywhere?
I've tried disabling the dGPU on a MacBookPro10,1 using NVRAMFA4CE28D-B62F-4C99-9CC3-6815686E30F9:gpu-power-prefs=1
, and also tried using NVRAMGfxMode=0
andGfxMode=4
. These all do seemingly disable it, but the machine is unbootable. I've been assuming the issue is _something like_: the machine powers up in dGPU always, for EFI and onwards into the next OS; and it is only in macOS that it swaps over to using the iGPU for low power features. Therefore, if you disable the dGPU early, the machine won't start, or rather hangs very early in the boot sequence. I am happy to have any of this corrected/clarified, by anybody who knows better.
I don't actually have a broken dGPU, I bought this machine for testing, I was just trying to investigate how to do this cleanly, for people who do have broken dGPUs, but only got this far.
- https://github.com/acidanthera/OpenCorePkg/pull/390
- https://github.com/acidanthera/OpenCorePkg/pull/338
- https://github.com/acidanthera/bugtracker/issues/928
PS Amazing work on the Sandy Bridge to Ivy Bridge upgrade!
nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
Thank you very much for the reply and info. Yes, I just spotted in the Linux code that the whole setup for retina machines is completely different! (Which means I really don't have the right machine for testing this. :-( )It is, but it's not compatible with Retina machines. Only 2011 and 2012 non-Retina machines. Not sure if it would make any difference in this case, but the NVRAM command I know works is:nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
That is really awesome work! Like always, you do not fail to impress!Well, with the help of Coreboot, here it is... A 2011 17” MacBook Pro running with Core i7 3720QM and HM77 PCH!
View attachment 2173792
That is really awesome work! Like always, you do not fail to impress!
But like you said many times in the comments on yt, it was essential to replace the HM65 as it cannot support Ivy Bridge CPUs. The iMac with its Z98 PCH should though... The Macbook is a lot of work to upgrade, sourcing a faulty ligic board, desoldering cpu and pch and soldering them back up... That requires godly skills like yours! The iMac on the other hand has a socketed cpu and a pch that "should" work but doesn't.
Do you by any chance own a 2011 iMac?
Thanks for all the incredible things you bring to this community.
Coreboot is probably the only way. If someone could grab a copy of their stock 2011 iMac's ACPI (just use MaciASL, and save the system DSDT), I can create a port of Coreboot that should work on the machine, with both Sandy Bridge and Ivy Bridge CPUs. It'll have to be flashed initially externally via an EEPROM programmer.Problem in the iMac is not really the Z68 PCH, which supports Ivy Bridge, but the fact that Intel integrated what used to be the North Bridge inside the CPU.
This North Bridge is, from Sandy Bridge on, part of the CPU (and called now SA - System Agent) and includes the Memory Controller, PEG (PCI Express Graphics), DMI (the bus used to communicate the CPU and the South Bridge) and the iGPU.
The code that initializes and configures all System Agent devices (MRC/PEG/DMI/iGPU) is part of the UEFI bios and largely different between Sandy Bridge and Ivy Bridge, as on Ivy Bridge the Memory Controller supports faster and lower voltage memory, PEG is upgraded from 2.0 to 3.0 and also some DMI features were upgraded. The iGPU is the least problem as it can be fully disabled on the iMac. The iMac bios just knows nothing about Ivy Bridge SA and hangs midway at boot, probably trying to initialize memory.
Sadly there seems not to be an easy fix for that...
Here you go!Coreboot is probably the only way. If someone could grab a copy of their stock 2011 iMac's ACPI (just use MaciASL, and save the system DSDT), I can create a port of Coreboot that should work on the machine, with both Sandy Bridge and Ivy Bridge CPUs. It'll have to be flashed initially externally via an EEPROM programmer.
Yeah, but what about the iMac GPU ??? As far as I know coreboot's libgfxinit only supports Intel's integrated graphics (iGPU), and on the iMac there is no muxer and the iGPU is not even connected to the display, so it needs 100% the dGPU to drive the display...Coreboot is probably the only way. If someone could grab a copy of their stock 2011 iMac's ACPI (just use MaciASL, and save the system DSDT), I can create a port of Coreboot that should work on the machine, with both Sandy Bridge and Ivy Bridge CPUs. It'll have to be flashed initially externally via an EEPROM programmer.
I don’t use libgfxinit, in fact if you do, OS X won’t work properly. You can tell Coreboot to run option ROMs of PCIe video cards, so that’s exactly what I’d do.Yeah, but what about the iMac GPU ??? As far as I know coreboot's libgfxinit only supports Intel's integrated graphics (iGPU), and on the iMac there is no muxer and the iGPU is not even connected to the display, so it needs 100% the dGPU to drive the display...
I know there are some options in coreboot to add a discrete vga bios from a file, would this work and be enough?
Could you also run Coreboot autoport under Linux on the machine as well? That'll provide me a good starting point, and get me a decently accurate PCH GPIO layout. Info can be found here.Here you go!
@m0bil already found a way to software flash the iMac12,2 (okay to apply this patch it needs at least one clip flash).
Ready to help!
Attached you will find the logs - guess you were asking for these files?Could you also run Coreboot autoport under Linux on the machine as well? That'll provide me a good starting point, and get me a decently accurate PCH GPIO layout. Info can be found here.
install@install-iMac:~/Documents/Development/CoreBoot/coreboot/util/autoport$ sudo ./autoport --input_log=logs --make_logs --coreboot_dir=../..
WARNING: The following tool MAY cause your system to hang when it attempts to probe for graphics registers. Having the graphics registers will help create a better port. Should autoport probe these registers?. (y/yes/n/no) Default:y
PCH sound card is card0
Unsupported PCI device 8086:1c2c
Unsupported PCI device 8086:1c27
Unknown PCI device 1002:6821, assuming removable <--- AMD GPU
Unknown PCI device 1002:aab0, assuming removable <--- Oland/Hainan/Cape Verde/Pitcairn HDMI Audio [Radeon HD 7000 Series]
Unknown PCI device 14e4:16b4, assuming removable <--- NetXtreme BCM57765 Gigabit Ethernet PCIe
Unknown PCI device 14e4:43ba, assuming removable <--- BCM43602 802.11ac Wireless LAN SoC
Unknown PCI device 11c1:5901, assuming removable <--- FW643 [TrueFire] PCIe 1394b Controller
Unknown PCI device 8086:1513, assuming removable <--- CV82524 Thunderbolt Controller [Light Ridge 4C 2010]
Unknown PCI device 8086:1513, assuming removable
Unknown PCI device 8086:1513, assuming removable
Unknown PCI device 8086:1513, assuming removable
Unknown PCI device 8086:1513, assuming removable
Unknown PCI device 8086:1513, assuming removable
Unknown PCI device 8086:1513, assuming removable
install@install-iMac:
It should also produce a directory containing some configuration files for Coreboot. I'll need those as well.Attached you will find the logs - guess you were asking for these files?
Both unsupported devices are C200 USB Universal host controller 1C27 and 1C2C chips?Code:install@install-iMac:~/Documents/Development/CoreBoot/coreboot/util/autoport$ sudo ./autoport --input_log=logs --make_logs --coreboot_dir=../.. WARNING: The following tool MAY cause your system to hang when it attempts to probe for graphics registers. Having the graphics registers will help create a better port. Should autoport probe these registers?. (y/yes/n/no) Default:y PCH sound card is card0 Unsupported PCI device 8086:1c2c Unsupported PCI device 8086:1c27 Unknown PCI device 1002:6821, assuming removable Unknown PCI device 1002:aab0, assuming removable Unknown PCI device 14e4:16b4, assuming removable Unknown PCI device 14e4:43ba, assuming removable Unknown PCI device 11c1:5901, assuming removable Unknown PCI device 8086:1513, assuming removable Unknown PCI device 8086:1513, assuming removable Unknown PCI device 8086:1513, assuming removable Unknown PCI device 8086:1513, assuming removable Unknown PCI device 8086:1513, assuming removable Unknown PCI device 8086:1513, assuming removable Unknown PCI device 8086:1513, assuming removable install@install-iMac:
Here are my autoport files. Also iMac 12,2 but since it's my "lab" one has iGPU disabled at hardware level, cleaned Intel ME 8 and Nvidia Pascal dGPU. Also a "lspci -nnv" with all PCI devices/vendor/subsytem ids.Could you also run Coreboot autoport under Linux on the machine as well? That'll provide me a good starting point, and get me a decently accurate PCH GPIO layout. Info can be found here.