Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.
Bonjour,

Boot colors natively black it's okay, explanation and file in the first post. ;)

I continue my researches and experiments, there I would like to change the default boot sound of my machine by that of the iMac 16.1, the structure is different at this level so not obvious.

Bonne journée.
 
Bonsoir,

I found in the iMac 2011 ROM AtherosWiFi and 80211
and I found in the iMac 2012 ROM BroadcomWirelessDxe and 80211 also

I don't know if it can help you enough. 😉

Otherwise I don't think UEFITool is 100% compatible with all the subtleties of Mac ROMs.

But it's already a great tool!!!!

Edit: By the way it's funny but the bluetooth works very well at startup.
Since the BCM94360(2)CD(P) has been used in iMac 2014/2015 (iMac15,1 and iMac16,1) models I assume we have to search there for a fix of the WiFi on recovery problem...
 
Bonjour,

Great spirit this meeting I just thought about it earlier, we'll see it without fail, I hope it will work, not like my mod for the sound that does not have the same name and do not have the same structure, but for the latter I'm sure there is another way because I like to have a sound at the start, but this one is too aggressive.
 
Bonjour,

AtherosWifi replaced by BroadcomWirelessDxe of the iMac 2015.
Apple80211 replaced by the iMac 2015 version.

Test replacing BroadcomGigabitEthernetDxe with the version of the iMac 2015 (my internal card doesn't work, we can't even see it) to see if it allows my thunderbolt ethernet card to work without modified kext, because it works perfectly on the iMac 2015 without modification.

I have no idea if it would help for the internal card and won't be able to check it.

I'll re-flash soon and keep you informed.

Edit: Tests of the mods carried out without success, I would wait to change the motherboard (it is partly defective for those who were not aware of it) to try again modifications.
 
Last edited:
Great work @StephN999 , i have just subscribed to this post to see your improvements. being able to install an i7 3770 could be very interesting. i also updated to a bcm943602cdp, so it would be cool to have internet recovery <3
 
Last edited:
  • Like
Reactions: StephN999
Great work @StephN999 , i have just subscribed to this post to see your improvements. being able to install an i7 3770 could be very interesting. i also updated to a bcm943602cdp, so it would be cool to have internet recovery <3
+1

bcm943602cdp upgraded for imac 2011 and and BCM94360CD for imac 2010

both upgraded graphic to WX4130.

USB3 upgrade for imac 2010.

Really appreciate TS's work.
 
Bonjour,

I have never done programming/development, I have already compiled programs (and sometimes with difficulty).

What I'm getting at with this explanation is that I've tested a lot of things through my research and testing, but I'm reaching my limit, because I don't really understand how it all works, I also have the constraint of having only one personal machine (I use my wife's iMac to re-flash my machine for example).

I have several projects, one of which is successful (Boot colors natively black) so I miss what you asked me above (which was planned), update the IME without Bug (dong as for the firmware update at each NVRAM reset) and be able to put an Ivy Bridge processor and then a little aside because no modification, the ECC memory, to be sure I'll have to recommend a 2nd bar for the benefit of the doubt, I also have to change my motherboard because it is partially defective (Ethernet HS, defective sound and control of the fans HS which pushes them to the bottom by default, fortunately corrected after the boot by Macs Fan Control).


Sorry for the long text, I hope it won't be too distorted by the translation.

Translated with www.DeepL.com/Translator (free version)
 
Courage Steph, c'est pas facile!

What Steph is saying If I may, is that we need someone with (real) programming skills to actually delve deeper in the matter and integrate the necessary CPU microcode in the NVRAM and all its dependencies.
 
Bonjour,

I explain how to change firmware on the dedicated topic.

I took over all the microcodes of the iMac 2012 rom the last time (I provide you with the updated iMac 2012 rom).

I took a Xeon because I should test the ECC ram, but otherwise it's "exactly" the same processor as you.

Do you have something to flash the ROM of your machine?

In the worst case I do the modification for you (via PM only)

PS: Don't forget that there is duplicate microcodes on the iMac 2011 and according to my research on other Apple machines, so "Apple Microcode Tool" is only for checking, not for editing in our case.

PS2: I would be very interested too in seeing this change in action for as long as we've been talking about it. 😅
What about SMBios update?
 
Bonjour,

Merci pour ton soutien, I hope someone more qualified can help me one day.

I had never thought about it (SmbiosMiscDxe), I just looked quickly, there are dependencies, it had caused me problems with my other modifications.

That's why I would have liked to use an alternative "BIOS" (Coreboot), but the existing project is only used on very few machines and even less Macs.
 
hi I can't modify the roms you provided for the iMac 2011 21.5" in UEFITool the replace menu is grated out.
is there anything set wrong?
 
Bonjour,

I have never done programming/development, I have already compiled programs (and sometimes with difficulty).

What I'm getting at with this explanation is that I've tested a lot of things through my research and testing, but I'm reaching my limit, because I don't really understand how it all works, I also have the constraint of having only one personal machine (I use my wife's iMac to re-flash my machine for example).

I have several projects, one of which is successful (Boot colors natively black) so I miss what you asked me above (which was planned), update the IME without Bug (dong as for the firmware update at each NVRAM reset) and be able to put an Ivy Bridge processor and then a little aside because no modification, the ECC memory, to be sure I'll have to recommend a 2nd bar for the benefit of the doubt, I also have to change my motherboard because it is partially defective (Ethernet HS, defective sound and control of the fans HS which pushes them to the bottom by default, fortunately corrected after the boot by Macs Fan Control).


Sorry for the long text, I hope it won't be too distorted by the translation.

Translated with www.DeepL.com/Translator (free version)
Hi @StephN999
Mine is only in Chinese and my English is very poor are translators to read and understand.
I have multiple iMac 12,2 can help to assist in testing, what do I need to do? Assisted @nikey22 in testing some graphics cards vbios with more success.
Also have multiple PC HP mobile workstation laptop assembled desktop desktops.
Thanks
Translated with www.DeepL.com/Translator (free version)
 
  • Like
Reactions: @t0mX and StephN999
Hello,

Thank you for your proposal, it's very nice. 👍 😉

As I said I can't go further in the development (with all the good will in the world), we are waiting for someone impatiently for that, on the other hand you are the ideal person for the tests, if you also have devellopeur for info the only things I found are in English, either on this forum, or on the forum https://www.win-raid.com/

Waiting for someone more qualified than me or for other information that I would have missed, that we would have missed? o_O
 
May I know imac can be switch to integrated graphics eg:i7 2600 use the HD3000?
thanks!
You can use it with screen sharing remotely getting a small display 1280x800 (or something similar) but unlike the 2011 MacBooks the HD3000 cannot drive the complete internal display, this will remain black if you disable the dGPU (at least to my experiences in various tests while replacing the dGPU).
 
You can use it with screen sharing remotely getting a small display 1280x800 (or something similar) but unlike the 2011 MacBooks the HD3000 cannot drive the complete internal display, this will remain black if you disable the dGPU (at least to my experiences in various tests while replacing the dGPU).
thank you for your reply! if the iMac 2011 empty the MXM III b port ,the iMac only the black screen? I suppose the iMac disable the graphics card, if it's work installation the Mac osx , just like Mac mini 2011 spec for second monitor to used.😅😅😅

did you know the iMac 2011 socket 1155 can be use the ivy bridge CPU eg:i7 3770 or E3-12XXv2....

thanks!
 
thank you for your reply! if the iMac 2011 empty the MXM III b port ,the iMac only the black screen? I suppose the iMac disable the graphics card, if it's work installation the Mac osx , just like Mac mini 2011 spec for second monitor to used.😅😅😅

did you know the iMac 2011 socket 1155 can be use the ivy bridge CPU eg:i7 3770 or E3-12XXv2....

thanks!
The socket can be used for IvyBridge, the firmware not. This is all this thread is about.
The HD3000 alone does not drive an external display - but his is really off topic, here.
 
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.

People erroneously think that upgrading a firmware's set of microcodes will make the computer support newer processors. This is false. Microcodes are errata. No processor sold should need microcodes to boot. Besides, the operating system loads a newer version of microcodes anyway.

Experience shows that adding microcodes to Mac firmware will make the system less likely to boot.

New processors models for any socket are always made fully compatible with older hardware. Features are added, not deleted. Processor compatibility is limited by badly written firmware. In some cases (Dell) this is intentional.

When a firmware starts running one of the first things it does is calls CPUID (op code 0F A2). Good firmware checks the processor family, and if it actually has specific code for multiple families, chooses the appropriate branch. Bad firmware checks for a specific processor model number and halts if it is not an exact match.

To fix the firmware you should do the same kind of disassembly and analysis as I have done for the Mac Pro 2,1 firmware. Start reading from this post:


The Mac Pro 2,1 firmware accepts Clovertowns (CPUID 06F0h), but rejects Harpertowns (CPUID 0670h).

I replaced as planned :

CpuIoDxe BAE7599F-3C6B-43B7-BDF0-9CE07AA91AA6
CpuInitDxe 62D171CB-78CD-4480-8678-C6A2A797A8DE
PchInitDxe DE23ACEE-CF55-4FB6-AA77-984AB53DE823
PchS3Peim 271DD6F2-54CB-45E6-8585-8C923C1AC706
AppleMemoryTest 60A14F6F-55B9-47A3-B067-01A93027F3FE
PowerMgmtDxe F7731B4C-58A2-4DF4-8980-5645D39ECE58
CpuInitPei x2 01359D99-9446-456D-ADA4-50A711C03ADA
MemoryInit x2 3B42EF57-16D3-44CB-8632-9FDB06B41451
PchInitPeim x2 FD236AE7-0791-48C4-B29E-29BDEEE1A838
S3ResumePei x2 8BCEDDD7-E285-4168-9B3F-09AF66C93FFE
CpuS3Pei x2 C866BD71-7C79-4BF1-A93B-066B830D8F9A

The processor-specific parts of the firmware are in the Pre-EFI Initialization section. It contains the PEI modules. The most important is the SEC core module, as it is the first one to be executed.

The EFI drivers in the .DXE modules are not processor specific. They do not need to be changed, unless you want to add new functionality to your Mac, like support for NVMe and APFS booting.

The socket can be used for IvyBridge, the firmware not. This is all this thread is about.

Upgrading a 2011 iMac with a Ivy Bridge CPU would be a great idea. The 2011 iMac is far more upgradable than the slim 2012 models. There is another thread on processor upgrades.


The GPU also needs to be upgraded to run modern versions of macOS.


Update September 14, 2021:

I extracted the SEC-core module from the 27 inch firmware file provided by @StephN999 using UEFITool. I then opened it using Hopper Disassembler V4. I found three places where the code looks at the CPUID. Two of these are at the start of the module, where the code loads the microcode.

In the first case the code loads the CPUID into the EAX registers and scans the section of memory containing the microcodes for a match. If it finds a match, it does another check to see if the CPU is an Arrandale (0x20650), or an "Auburndale" (0x106F0). If so, it does some additional processing.

The last part of the code (wrmsr) writes the start address of the microcode into Model Specific Register 0x79, causing the processor to load the microcode from memory.

Screen Shot 2021-09-14 at 15.02.29.png


I cannot see why the firmware code would reject an Ivy Bridge processor, not even when no microcode is present.
 
Last edited:
Bonjour,

@Petri Krohn> Thank you for all these explanations, as I thought it was beyond my competence, but it comforts me to see that there might be something possible!

I'm changing iMac as soon as the supposed 30" 27" M2 iMac Pro comes out, but I'm not giving up this machine!!!

Good day to all.
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.