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.

Gman_777

macrumors newbie
Apr 3, 2021
2
0
Hello:

Last week, I installed K4100m on my imac 12,2 (2011 mid 27'') on High Sierra 10.13.6 ( Bootrom 87.0.0.0). I absolutely used nikey22 vBIOS(July 20,2020). BrightControl also worked well with default High Sierra Setting. I didn't edit AppleBacklight.kext file because Brightcontrol worked well. But, I encountered one issue and wake from deep sleep wasn't working at all.

After entering deep sleep, I should power off/on for iMAC re-booting.
Could I get any help from this Forums? Actually, I think I read most posts for this issue but I failed to find my solution.

After that, I also tried to update iMac-Nvidia-patch.pkg but it didn't work.

Thank you for your help in advance.
saw your post, i have the same card, but i was wondering where you got the flash files, the linux usb didnt have q4100m files in it. thanks Gman 777
 

BadBiscuit

macrumors regular
Jan 9, 2020
136
84
Washington, USA
But it's fun and gives us a triumphant feeling to hunt for cheap cards and turn them to a working nice piece of hardware.
As all risks have been awared and counted for, let's the fun begin!
The true fun is finding a cheap 2009-11 iMac on Craig's List (or the like) for which the prior owner has decided it's only good for parts, and turn it into a nice stable machine. My problem now is to stop myself from looking, for I enjoy the hunt and the fixing but have exceeded my need of iMacs. :)
 
  • Like
Reactions: globetribe

fuegotarta

macrumors newbie
Apr 1, 2021
3
1
From the pictures on techpowerup.com the BIOS chip on the K1000M can be used with a CH341A clip programmer. This one will not ask back but just install the new BIOS. Go and get one.
Thanks.
Finally I make with another mac a bootcamp partition.
Then i replace the bios with remote desktop and nvflash patched to bypass the board id error.
 
  • Like
Reactions: Nguyen Duc Hieu

The_Croupier

macrumors 6502
Oct 11, 2018
419
281
[
saw your post, i have the same card, but i was wondering where you got the flash files, the linux usb didnt have q4100m files in it. thanks Gman 777
Did you bother to read post 1 in this thread?
It is the guide to upgrading your gpu, everything you need to know is there.
I suggest you read it in its entirety then read it again.
And i think you mean K4100m?
 

The_Croupier

macrumors 6502
Oct 11, 2018
419
281
The true fun is finding a cheap 2009-11 iMac on Craig's List (or the like) for which the prior owner has decided it's only good for parts, and turn it into a nice stable machine. My problem now is to stop myself from looking, for I enjoy the hunt and the fixing but have exceeded my need of iMacs. :)
I know what you mean, I have have to kick this addiction.
But its hard when you get this:
Screenshot_2021-03-25-08-05-35-77.jpg


And this:
Screenshot_2021-04-04-16-08-09-05.jpg

All up for $120 AUD
What is it with people not leaving the HDD bracket screwed in after removal?

I'm stoked on the 21.5 2011 in the last screenshot, got the i5 and just started the bake on the Radeon HD 6750M 512mb

The other 21.5 is a c2d blown psu and no glass, and the 27" i5, I couldn't believe it, booted straight up when i installed a HD, i was hoping for some spare parts it was missing a ton of screws, no screws holding down the psu or lcd, put it together and it booted, just a small defect on the lcd where the coating wore off but not noticeable unless on plain background.

Was wondering why the cpu was so hot until i did a complete teardown to find only one screw holding the heatsink down 😆, i stripped down 2 of the HDDs that were dead and used some screws that fit ok and its running great.

After all that i still dont have spare parts 🙄

Edit: the card did not survive the bake, led1 snuffed out on power button press.

Oh well off to look for a bargain basement MXM A card, or should I use the psu and glass and run with the C2D, I would like to use one of these 21.5"s as a standalone iTunes media library streaming to my ATV.
 
Last edited:
  • Like
Reactions: BadBiscuit

Ausdauersportler

macrumors 603
Nov 25, 2019
5,001
5,805
I know what you mean, I have have to kick this addiction.
But its hard when you get this:
View attachment 1753365

And this:
View attachment 1753367
All up for $120 AUD
What is it with people not leaving the HDD bracket screwed in after removal?

I'm stoked on the 21.5 2011 in the last screenshot, got the i5 and just started the bake on the Radeon HD 6750M 512mb

The other 21.5 is a c2d blown psu and no glass, and the 27" i5, I couldn't believe it, booted straight up when i installed a HD, i was hoping for some spare parts it was missing a ton of screws, no screws holding down the psu or lcd, put it together and it booted, just a small defect on the lcd where the coating wore off but not noticeable unless on plain background.

Was wondering why the cpu was so hot until i did a complete teardown to find only one screw holding the heatsink down 😆, i stripped down 2 of the HDDs that were dead and used some screws that fit ok and its running great.

After all that i still dont have spare parts 🙄

Edit: the card did not survive the bake, led1 snuffed out on power button press.

Oh well off to look for a bargain basement MXM A card, or should I use the psu and glass and run with the C2D, I would like to use one of these 21.5"s as a standalone iTunes media library streaming to my ATV.
After some upgrades I have the spare parts you need including all the screws and an old working Radeon 5670 but it is possibly not worth sending it half around the world :)

I tested a WX4150 with the 21.5 Late 2009 (core2duo, two) and got the external display working with OpenCore and High Sierra before I broke off the LVDS connector (my microsoldering skills are near the absolute zero). So I would assume the chances to get it work with an AMD card are not that bad.

The 21.5 2011 is a hard one because (like his bigger brother) it is picky about running with newer cards (I would call them the less compatible models we currently have and rename this thread to 2009-2011).
 

m0bil

macrumors 6502
Sep 29, 2020
436
509
I've asked my friend for a rom dump, and compared it to my own iMac 27 rom dump (hexdump and diff).

Both systems are 87.0.0.0.0, mine smc 1.72f2, my friend smc 1.72f5

To my surprise there are large differences in the rom dumps (I expected just a few bytes of serial numbers and so).

Is it possible same boot rom versions are not really the same? If so, maybe that's related to the problem some 2011 iMacs seem to have with some cards, while they seem to work in others.
As a follow up on this, I've been comparing bios dumps from this apparently identical 2011 27'' iMacs: flash layout is the same, with just two regions populated (Bios and Intel ME):

Code:
File imac27.rom.bin is 8388608 bytes
  Flash Region 0 (Flash Descriptor): 00000000 - 00000fff
  Flash Region 1 (BIOS): 00181000 - 007fffff
  Flash Region 2 (Intel ME): 00001000 - 00180fff
  Flash Region 3 (GbE): 00fff000 - 00000fff (unused)
  Flash Region 4 (Platform Data): 00fff000 - 00000fff (unused)
Code:
File imac27.rom.bin is 8388608 bytes
PCH Revision: Gemini Lake: N5xxx, J5xxx, N4xxx, J4xxx
FLMAP0:    0x02040003
  NR:      2
  FRBA:    0x40
  NC:      1
  FCBA:    0x30
FLMAP1:    0x12100206
  ISL:     0x12
  FPSBA:   0x100
  NM:      2
  FMBA:    0x60
FLMAP2:    0x00210120
  PSL:     0x2101
  FMSBA:   0x200
FLUMAP1:   0x00000adf
  Intel ME VSCC Table Length (VTL):        10
  Intel ME VSCC Table Base Address (VTBA): 0x000df0

ME VSCC table:
  JID0:  0x0000471f
    SPI Component Vendor ID:            0x1f
    SPI Component Device ID 0:          0x47
    SPI Component Device ID 1:          0x00
  VSCC0: 0x20152015
    Lower Erase Opcode:                 0x20
    Lower Write Enable on Write Status: 0x06
    Lower Write Status Required:        No
    Lower Write Granularity:            64 bytes
    Lower Block / Sector Erase Size:    4KB
    Upper Erase Opcode:                 0x20
    Upper Write Enable on Write Status: 0x06
    Upper Write Status Required:        No
    Upper Write Granularity:            64 bytes
    Upper Block / Sector Erase Size:    4KB
  JID1:  0x001740ef
    SPI Component Vendor ID:            0xef
    SPI Component Device ID 0:          0x40
    SPI Component Device ID 1:          0x17
  VSCC1: 0x20052005
    Lower Erase Opcode:                 0x20
    Lower Write Enable on Write Status: 0x50
    Lower Write Status Required:        No
    Lower Write Granularity:            64 bytes
    Lower Block / Sector Erase Size:    4KB
    Upper Erase Opcode:                 0x20
    Upper Write Enable on Write Status: 0x50
    Upper Write Status Required:        No
    Upper Write Granularity:            64 bytes
    Upper Block / Sector Erase Size:    4KB
  JID2:  0x001720c2
    SPI Component Vendor ID:            0xc2
    SPI Component Device ID 0:          0x20
    SPI Component Device ID 1:          0x17
  VSCC2: 0x20052005
    Lower Erase Opcode:                 0x20
    Lower Write Enable on Write Status: 0x50
    Lower Write Status Required:        No
    Lower Write Granularity:            64 bytes
    Lower Block / Sector Erase Size:    4KB
    Upper Erase Opcode:                 0x20
    Upper Write Enable on Write Status: 0x50
    Upper Write Status Required:        No
    Upper Write Granularity:            64 bytes
    Upper Block / Sector Erase Size:    4KB
  JID3:  0x004b25bf
    SPI Component Vendor ID:            0xbf
    SPI Component Device ID 0:          0x25
    SPI Component Device ID 1:          0x4b
  VSCC3: 0x200d200d
    Lower Erase Opcode:                 0x20
    Lower Write Enable on Write Status: 0x50
    Lower Write Status Required:        Yes
    Lower Write Granularity:            64 bytes
    Lower Block / Sector Erase Size:    4KB
    Upper Erase Opcode:                 0x20
    Upper Write Enable on Write Status: 0x50
    Upper Write Status Required:        Yes
    Upper Write Granularity:            64 bytes
    Upper Block / Sector Erase Size:    4KB
  JID4:  0x0017ba20
    SPI Component Vendor ID:            0x20
    SPI Component Device ID 0:          0xba
    SPI Component Device ID 1:          0x17
  VSCC4: 0x20052005
    Lower Erase Opcode:                 0x20
    Lower Write Enable on Write Status: 0x50
    Lower Write Status Required:        No
    Lower Write Granularity:            64 bytes
    Lower Block / Sector Erase Size:    4KB
    Upper Erase Opcode:                 0x20
    Upper Write Enable on Write Status: 0x50
    Upper Write Status Required:        No
    Upper Write Granularity:            64 bytes
    Upper Block / Sector Erase Size:    4KB

OEM Section:
00: 39 64 36 36 61 65 63 65 64 65 35 32 62 38 65 66
10: 38 64 65 30 33 32 61 35 34 61 62 65 63 32 33 39
20: 0a ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

Found Region Section
FLREG0:    0x00000000
  Flash Region 0 (Flash Descriptor): 00000000 - 00000fff
FLREG1:    0x07ff0181
  Flash Region 1 (BIOS): 00181000 - 007fffff
FLREG2:    0x01800001
  Flash Region 2 (Intel ME): 00001000 - 00180fff
FLREG3:    0x00000fff
  Flash Region 3 (GbE): 00fff000 - 00000fff (unused)
FLREG4:    0x00000fff
  Flash Region 4 (Platform Data): 00fff000 - 00000fff (unused)

Found Component Section
FLCOMP     0x64900024
  Dual Output Fast Read Support:       supported
  Read ID/Read Status Clock Frequency: 50MHz
  Write/Erase Clock Frequency:         50MHz
  Fast Read Clock Frequency:           50MHz
  Fast Read Support:                   supported
  Read Clock Frequency:                20MHz
  Component 2 Density:                 8MB
  Component 1 Density:                 8MB
FLILL      0x00000000
  Invalid Instruction 3: 0x00
  Invalid Instruction 2: 0x00
  Invalid Instruction 1: 0x00
  Invalid Instruction 0: 0x00
FLPB       0x00000000
  Flash Partition Boundary Address: 0x000000

Found PCH Strap Section
PCHSTRP0  : 0x0920d682
PCHSTRP1  : 0x0000010f
PCHSTRP2  : 0x00000000
PCHSTRP3  : 0x00000000
PCHSTRP4  : 0x00c8e000
PCHSTRP5  : 0x00000000
PCHSTRP6  : 0x00000000
PCHSTRP7  : 0x00000000
PCHSTRP8  : 0x00000000
PCHSTRP9  : 0x0000058c
PCHSTRP10 : 0x00810044
PCHSTRP11 : 0x87000089
PCHSTRP12 : 0x00000000
PCHSTRP13 : 0x00000000
PCHSTRP14 : 0x00000000
PCHSTRP15 : 0x0000833e
PCHSTRP16 : 0x00000000
PCHSTRP17 : 0x00000002
PCHSTRP18 : 0xffffffff
PCHSTRP19 : 0xffffffff
PCHSTRP20 : 0xffffffff
PCHSTRP21 : 0xffffffff
PCHSTRP22 : 0xffffffff
PCHSTRP23 : 0xffffffff
PCHSTRP24 : 0xffffffff
PCHSTRP25 : 0xffffffff
PCHSTRP26 : 0xffffffff
PCHSTRP27 : 0xffffffff
PCHSTRP28 : 0xffffffff
PCHSTRP29 : 0xffffffff
PCHSTRP30 : 0xffffffff
PCHSTRP31 : 0xffffffff
PCHSTRP32 : 0xffffffff
PCHSTRP33 : 0xffffffff
PCHSTRP34 : 0xffffffff
PCHSTRP35 : 0xffffffff
PCHSTRP36 : 0xffffffff
PCHSTRP37 : 0xffffffff
PCHSTRP38 : 0xffffffff
PCHSTRP39 : 0xffffffff
PCHSTRP40 : 0xffffffff
PCHSTRP41 : 0xffffffff
PCHSTRP42 : 0xffffffff
PCHSTRP43 : 0xffffffff
PCHSTRP44 : 0xffffffff
PCHSTRP45 : 0xffffffff
PCHSTRP46 : 0xffffffff
PCHSTRP47 : 0xffffffff
PCHSTRP48 : 0xffffffff
PCHSTRP49 : 0xffffffff
PCHSTRP50 : 0xffffffff
PCHSTRP51 : 0xffffffff
PCHSTRP52 : 0xffffffff
PCHSTRP53 : 0xffffffff
PCHSTRP54 : 0xffffffff
PCHSTRP55 : 0xffffffff
PCHSTRP56 : 0xffffffff
PCHSTRP57 : 0xffffffff
PCHSTRP58 : 0xffffffff
PCHSTRP59 : 0xffffffff
PCHSTRP60 : 0xffffffff
PCHSTRP61 : 0xffffffff
PCHSTRP62 : 0xffffffff
PCHSTRP63 : 0xffffffff
PCHSTRP64 : 0x00000000
PCHSTRP65 : 0xffffffff
PCHSTRP66 : 0xffffffff
PCHSTRP67 : 0xffffffff
PCHSTRP68 : 0xffffffff
PCHSTRP69 : 0xffffffff
PCHSTRP70 : 0xffffffff
PCHSTRP71 : 0xffffffff
AltMeDisable bit is not set

Found Master Section
FLMSTR1:   0xffff0000 (Host CPU/BIOS)
  Platform Data Region Write Access: enabled
  GbE Region Write Access:           enabled
  Intel ME Region Write Access:      enabled
  Host CPU/BIOS Region Write Access: enabled
  Flash Descriptor Write Access:     enabled
  Platform Data Region Read Access:  enabled
  GbE Region Read Access:            enabled
  Intel ME Region Read Access:       enabled
  Host CPU/BIOS Region Read Access:  enabled
  Flash Descriptor Read Access:      enabled
  Requester ID:                      0x0000

FLMSTR2:   0xffff0000 (Intel ME)
  Platform Data Region Write Access: enabled
  GbE Region Write Access:           enabled
  Intel ME Region Write Access:      enabled
  Host CPU/BIOS Region Write Access: enabled
  Flash Descriptor Write Access:     enabled
  Platform Data Region Read Access:  enabled
  GbE Region Read Access:            enabled
  Intel ME Region Read Access:       enabled
  Host CPU/BIOS Region Read Access:  enabled
  Flash Descriptor Read Access:      enabled
  Requester ID:                      0x0000

FLMSTR3:   0xffff0118 (GbE)
  Platform Data Region Write Access: enabled
  GbE Region Write Access:           enabled
  Intel ME Region Write Access:      enabled
  Host CPU/BIOS Region Write Access: enabled
  Flash Descriptor Write Access:     enabled
  Platform Data Region Read Access:  enabled
  GbE Region Read Access:            enabled
  Intel ME Region Read Access:       enabled
  Host CPU/BIOS Region Read Access:  enabled
  Flash Descriptor Read Access:      enabled
  Requester ID:                      0x0118

Found Processor Strap Section
????:      0x00000000
????:      0xffffffff
????:      0xffffffff
????:      0xffffffff
????:      0xffffffff
????:      0xffffffff
????:      0xffffffff
????:      0xffffffff

Then I used UEFITool to extract and compare all BIOS Volumes, and they are the same except the NVram Volume EfiSystemNvDataFvGuid (VSS/Fsys/Gaid stores, where data as pram, serial numbers, boot options, bluetooth and wifi parings reside). There is also a small difference at the end of Volume 04ADEEAD-61FF-4D31-B6BA-64F8BF901F5A with MLB serial number (hardware id) and BuildDate.

Next I took a look at the Intel Management Engine ME Region. It contains also several partitions, all compare to the same, except the EFFS partition. EFFS is the embedded flash file system for the ME engine, apparently it stores there configuration and runtime data, so no surprise they're different.

Code:
╔════════════════════════════════════════════════════════════════════════════════╗
║                             Flash Partition Table                              ║
╟──────┬───────┬──────────┬──────────┬──────────┬─────────┬──────┬───────┬───────╢
║ Name │ Owner │  Start   │   Size   │   End    │   Type  │  ID  │ Valid │ Empty ║
╟──────┼───────┼──────────┼──────────┼──────────┼─────────┼──────┼───────┼───────╢
║ FOVD │  KRID │ 0x001400 │ 0x000C00 │ 0x002000 │ Generic │ 0000 │  True │  True ║
╟──────┼───────┼──────────┼──────────┼──────────┼─────────┼──────┼───────┼───────╢
║ MDES │  MDID │ 0x002000 │ 0x001000 │ 0x003000 │ Generic │ 0000 │  True │  True ║
╟──────┼───────┼──────────┼──────────┼──────────┼─────────┼──────┼───────┼───────╢
║ FCRS │  OSID │ 0x003000 │ 0x001000 │ 0x004000 │ Generic │ 0000 │  True │  True ║
╟──────┼───────┼──────────┼──────────┼──────────┼─────────┼──────┼───────┼───────╢
║ EFFS │  OSID │ 0x004000 │ 0x034000 │ 0x038000 │   EFFS  │ 0000 │  True │ False ║
╟──────┼───────┼──────────┼──────────┼──────────┼─────────┼──────┼───────┼───────╢
║ NVCL │       │          │ 0x0095D9 │          │   GLUT  │ 0000 │  True │  True ║
╟──────┼───────┼──────────┼──────────┼──────────┼─────────┼──────┼───────┼───────╢
║ NVJC │       │          │ 0x005000 │          │   GLUT  │ 0000 │  True │  True ║
╟──────┼───────┼──────────┼──────────┼──────────┼─────────┼──────┼───────┼───────╢
║ NVKR │       │          │ 0x00F883 │          │   GLUT  │ 0000 │  True │  True ║
╟──────┼───────┼──────────┼──────────┼──────────┼─────────┼──────┼───────┼───────╢
║ NVQS │       │          │ 0x000DEF │          │   GLUT  │ 0000 │  True │  True ║
╟──────┼───────┼──────────┼──────────┼──────────┼─────────┼──────┼───────┼───────╢
║ NVTD │       │          │ 0x001E44 │          │   GLUT  │ 0000 │  True │  True ║
╟──────┼───────┼──────────┼──────────┼──────────┼─────────┼──────┼───────┼───────╢
║ FTPR │       │ 0x038000 │ 0x06A000 │ 0x0A2000 │   Code  │ 0000 │  True │ False ║
╟──────┼───────┼──────────┼──────────┼──────────┼─────────┼──────┼───────┼───────╢
║ NFTP │       │ 0x0A2000 │ 0x0DC000 │ 0x17E000 │   Code  │ 0000 │  True │ False ║
╚══════╧═══════╧══════════╧══════════╧══════════╧═════════╧══════╧═══════╧═══════╝

So large dump differences on bios correspond to BIOS NVram and ME file system, but all code is the same.

Taking a deeper look at how ME engine works, I've found it can be removed or cleaned from EFI firmware (more info on that later). Apparently it is responsible for part of the POST behavior.

Could it be possible ME is responsible for non POST behavior of some cards on the 2011 iMac ? I'm talking of the case where otherwise fine working cards (tested on PCs or older iMacs) fail to POST on the 2011.

I tested ME Cleaner script on my bios file and it seems to do the work fine:
Code:
# python me_cleaner.py iMac27.rom.bin
Full image detected
Found FPT header at 0x1010
Found 11 partition(s)
Found FTPR header: FTPR partition spans from 0x37000 to 0xa1000
ME/TXE firmware version 7.0.0.1193 (generation 2)
Public key match: Intel ME, firmware versions 7.x.x.x, 8.x.x.x
The AltMeDisable bit is NOT SET
Reading partitions list...
FOVD (0x00000400 - 0x000001000, 0x00000c00 total bytes): removed
MDES (0x00001000 - 0x000002000, 0x00001000 total bytes): removed
FCRS (0x00002000 - 0x000003000, 0x00001000 total bytes): removed
EFFS (0x00003000 - 0x000037000, 0x00034000 total bytes): removed
NVCL (NVRAM partition, no data, 0x000095d9 total bytes): nothing to remove
NVJC (NVRAM partition, no data, 0x00005000 total bytes): nothing to remove
NVKR (NVRAM partition, no data, 0x0000f883 total bytes): nothing to remove
NVQS (NVRAM partition, no data, 0x00000def total bytes): nothing to remove
NVTD (NVRAM partition, no data, 0x00001e44 total bytes): nothing to remove
FTPR (0x00037000 - 0x0000a1000, 0x0006a000 total bytes): NOT removed
NFTP (0x000a1000 - 0x00017d000, 0x000dc000 total bytes): removed
Removing partition entries in FPT...
Removing EFFS presence flag...
Correcting checksum (0x05)...
Reading FTPR modules list...
UPDATE           (LZMA   , 0x078236 - 0x0782c8       ): removed
BUP              (Huffman, fragmented data, ~43 KiB  ): NOT removed, essential
KERNEL           (Huffman, fragmented data, ~114 KiB ): removed
POLICY           (Huffman, fragmented data, ~84 KiB  ): removed
HOSTCOMM         (LZMA   , 0x0782c8 - 0x07d8a7       ): removed
RSA              (LZMA   , 0x07d8a7 - 0x08040c       ): removed
CLS              (LZMA   , 0x08040c - 0x084dc7       ): removed
TDT              (LZMA   , 0x084dc7 - 0x08ae8b       ): removed
FTCS             (Huffman, fragmented data, ~15 KiB  ): removed
The ME minimum size should be 307200 bytes (0x4b000 bytes)
The ME region can be reduced up to:
00001000:0004bfff me
Checking the FTPR RSA signature... VALID
Done! Good luck!

It is possible that removing ME may have some side effects on iMac, has anyone tried this ?? I've seen posts from people doing this on macbooks (for security reasons) without apparently side effects.

Also there is the more complex option of Cleaning the ME region
This involves extracting a clean ME partition from Apple software update and replacing it on your bios image, so it starts from new.

All this requires of course motherboard programming with bios chip clip (ch341a), to be able to program and recover in case of non working bios. This is dangerous and you may damage your motherboard.

Next time I open my iMac I'll try to flash a "removed ME" bios, just to see if it works or has any side effects, sadly I don't have a 2011 non POSTing card to test. I'll also try to create a Clean ME region for my bios to see if method works. If anyone wants to also try this and needs help on removing or cleaning their ME bios I can provide help.
 
Last edited:

Ausdauersportler

macrumors 603
Nov 25, 2019
5,001
5,805
As a follow up on this, I've been comparing bios dumps from this apparently identical 2011 27'' iMacs: flash layout is the same, with just two regions populated (Bios and Intel ME):

Code:
File imac27.rom.bin is 8388608 bytes
  Flash Region 0 (Flash Descriptor): 00000000 - 00000fff
  Flash Region 1 (BIOS): 00181000 - 007fffff
  Flash Region 2 (Intel ME): 00001000 - 00180fff
  Flash Region 3 (GbE): 00fff000 - 00000fff (unused)
  Flash Region 4 (Platform Data): 00fff000 - 00000fff (unused)
Code:
File imac27.rom.bin is 8388608 bytes
PCH Revision: Gemini Lake: N5xxx, J5xxx, N4xxx, J4xxx
FLMAP0:    0x02040003
  NR:      2
  FRBA:    0x40
  NC:      1
  FCBA:    0x30
FLMAP1:    0x12100206
  ISL:     0x12
  FPSBA:   0x100
  NM:      2
  FMBA:    0x60
FLMAP2:    0x00210120
  PSL:     0x2101
  FMSBA:   0x200
FLUMAP1:   0x00000adf
  Intel ME VSCC Table Length (VTL):        10
  Intel ME VSCC Table Base Address (VTBA): 0x000df0

ME VSCC table:
  JID0:  0x0000471f
    SPI Component Vendor ID:            0x1f
    SPI Component Device ID 0:          0x47
    SPI Component Device ID 1:          0x00
  VSCC0: 0x20152015
    Lower Erase Opcode:                 0x20
    Lower Write Enable on Write Status: 0x06
    Lower Write Status Required:        No
    Lower Write Granularity:            64 bytes
    Lower Block / Sector Erase Size:    4KB
    Upper Erase Opcode:                 0x20
    Upper Write Enable on Write Status: 0x06
    Upper Write Status Required:        No
    Upper Write Granularity:            64 bytes
    Upper Block / Sector Erase Size:    4KB
  JID1:  0x001740ef
    SPI Component Vendor ID:            0xef
    SPI Component Device ID 0:          0x40
    SPI Component Device ID 1:          0x17
  VSCC1: 0x20052005
    Lower Erase Opcode:                 0x20
    Lower Write Enable on Write Status: 0x50
    Lower Write Status Required:        No
    Lower Write Granularity:            64 bytes
    Lower Block / Sector Erase Size:    4KB
    Upper Erase Opcode:                 0x20
    Upper Write Enable on Write Status: 0x50
    Upper Write Status Required:        No
    Upper Write Granularity:            64 bytes
    Upper Block / Sector Erase Size:    4KB
  JID2:  0x001720c2
    SPI Component Vendor ID:            0xc2
    SPI Component Device ID 0:          0x20
    SPI Component Device ID 1:          0x17
  VSCC2: 0x20052005
    Lower Erase Opcode:                 0x20
    Lower Write Enable on Write Status: 0x50
    Lower Write Status Required:        No
    Lower Write Granularity:            64 bytes
    Lower Block / Sector Erase Size:    4KB
    Upper Erase Opcode:                 0x20
    Upper Write Enable on Write Status: 0x50
    Upper Write Status Required:        No
    Upper Write Granularity:            64 bytes
    Upper Block / Sector Erase Size:    4KB
  JID3:  0x004b25bf
    SPI Component Vendor ID:            0xbf
    SPI Component Device ID 0:          0x25
    SPI Component Device ID 1:          0x4b
  VSCC3: 0x200d200d
    Lower Erase Opcode:                 0x20
    Lower Write Enable on Write Status: 0x50
    Lower Write Status Required:        Yes
    Lower Write Granularity:            64 bytes
    Lower Block / Sector Erase Size:    4KB
    Upper Erase Opcode:                 0x20
    Upper Write Enable on Write Status: 0x50
    Upper Write Status Required:        Yes
    Upper Write Granularity:            64 bytes
    Upper Block / Sector Erase Size:    4KB
  JID4:  0x0017ba20
    SPI Component Vendor ID:            0x20
    SPI Component Device ID 0:          0xba
    SPI Component Device ID 1:          0x17
  VSCC4: 0x20052005
    Lower Erase Opcode:                 0x20
    Lower Write Enable on Write Status: 0x50
    Lower Write Status Required:        No
    Lower Write Granularity:            64 bytes
    Lower Block / Sector Erase Size:    4KB
    Upper Erase Opcode:                 0x20
    Upper Write Enable on Write Status: 0x50
    Upper Write Status Required:        No
    Upper Write Granularity:            64 bytes
    Upper Block / Sector Erase Size:    4KB

OEM Section:
00: 39 64 36 36 61 65 63 65 64 65 35 32 62 38 65 66
10: 38 64 65 30 33 32 61 35 34 61 62 65 63 32 33 39
20: 0a ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

Found Region Section
FLREG0:    0x00000000
  Flash Region 0 (Flash Descriptor): 00000000 - 00000fff
FLREG1:    0x07ff0181
  Flash Region 1 (BIOS): 00181000 - 007fffff
FLREG2:    0x01800001
  Flash Region 2 (Intel ME): 00001000 - 00180fff
FLREG3:    0x00000fff
  Flash Region 3 (GbE): 00fff000 - 00000fff (unused)
FLREG4:    0x00000fff
  Flash Region 4 (Platform Data): 00fff000 - 00000fff (unused)

Found Component Section
FLCOMP     0x64900024
  Dual Output Fast Read Support:       supported
  Read ID/Read Status Clock Frequency: 50MHz
  Write/Erase Clock Frequency:         50MHz
  Fast Read Clock Frequency:           50MHz
  Fast Read Support:                   supported
  Read Clock Frequency:                20MHz
  Component 2 Density:                 8MB
  Component 1 Density:                 8MB
FLILL      0x00000000
  Invalid Instruction 3: 0x00
  Invalid Instruction 2: 0x00
  Invalid Instruction 1: 0x00
  Invalid Instruction 0: 0x00
FLPB       0x00000000
  Flash Partition Boundary Address: 0x000000

Found PCH Strap Section
PCHSTRP0  : 0x0920d682
PCHSTRP1  : 0x0000010f
PCHSTRP2  : 0x00000000
PCHSTRP3  : 0x00000000
PCHSTRP4  : 0x00c8e000
PCHSTRP5  : 0x00000000
PCHSTRP6  : 0x00000000
PCHSTRP7  : 0x00000000
PCHSTRP8  : 0x00000000
PCHSTRP9  : 0x0000058c
PCHSTRP10 : 0x00810044
PCHSTRP11 : 0x87000089
PCHSTRP12 : 0x00000000
PCHSTRP13 : 0x00000000
PCHSTRP14 : 0x00000000
PCHSTRP15 : 0x0000833e
PCHSTRP16 : 0x00000000
PCHSTRP17 : 0x00000002
PCHSTRP18 : 0xffffffff
PCHSTRP19 : 0xffffffff
PCHSTRP20 : 0xffffffff
PCHSTRP21 : 0xffffffff
PCHSTRP22 : 0xffffffff
PCHSTRP23 : 0xffffffff
PCHSTRP24 : 0xffffffff
PCHSTRP25 : 0xffffffff
PCHSTRP26 : 0xffffffff
PCHSTRP27 : 0xffffffff
PCHSTRP28 : 0xffffffff
PCHSTRP29 : 0xffffffff
PCHSTRP30 : 0xffffffff
PCHSTRP31 : 0xffffffff
PCHSTRP32 : 0xffffffff
PCHSTRP33 : 0xffffffff
PCHSTRP34 : 0xffffffff
PCHSTRP35 : 0xffffffff
PCHSTRP36 : 0xffffffff
PCHSTRP37 : 0xffffffff
PCHSTRP38 : 0xffffffff
PCHSTRP39 : 0xffffffff
PCHSTRP40 : 0xffffffff
PCHSTRP41 : 0xffffffff
PCHSTRP42 : 0xffffffff
PCHSTRP43 : 0xffffffff
PCHSTRP44 : 0xffffffff
PCHSTRP45 : 0xffffffff
PCHSTRP46 : 0xffffffff
PCHSTRP47 : 0xffffffff
PCHSTRP48 : 0xffffffff
PCHSTRP49 : 0xffffffff
PCHSTRP50 : 0xffffffff
PCHSTRP51 : 0xffffffff
PCHSTRP52 : 0xffffffff
PCHSTRP53 : 0xffffffff
PCHSTRP54 : 0xffffffff
PCHSTRP55 : 0xffffffff
PCHSTRP56 : 0xffffffff
PCHSTRP57 : 0xffffffff
PCHSTRP58 : 0xffffffff
PCHSTRP59 : 0xffffffff
PCHSTRP60 : 0xffffffff
PCHSTRP61 : 0xffffffff
PCHSTRP62 : 0xffffffff
PCHSTRP63 : 0xffffffff
PCHSTRP64 : 0x00000000
PCHSTRP65 : 0xffffffff
PCHSTRP66 : 0xffffffff
PCHSTRP67 : 0xffffffff
PCHSTRP68 : 0xffffffff
PCHSTRP69 : 0xffffffff
PCHSTRP70 : 0xffffffff
PCHSTRP71 : 0xffffffff
AltMeDisable bit is not set

Found Master Section
FLMSTR1:   0xffff0000 (Host CPU/BIOS)
  Platform Data Region Write Access: enabled
  GbE Region Write Access:           enabled
  Intel ME Region Write Access:      enabled
  Host CPU/BIOS Region Write Access: enabled
  Flash Descriptor Write Access:     enabled
  Platform Data Region Read Access:  enabled
  GbE Region Read Access:            enabled
  Intel ME Region Read Access:       enabled
  Host CPU/BIOS Region Read Access:  enabled
  Flash Descriptor Read Access:      enabled
  Requester ID:                      0x0000

FLMSTR2:   0xffff0000 (Intel ME)
  Platform Data Region Write Access: enabled
  GbE Region Write Access:           enabled
  Intel ME Region Write Access:      enabled
  Host CPU/BIOS Region Write Access: enabled
  Flash Descriptor Write Access:     enabled
  Platform Data Region Read Access:  enabled
  GbE Region Read Access:            enabled
  Intel ME Region Read Access:       enabled
  Host CPU/BIOS Region Read Access:  enabled
  Flash Descriptor Read Access:      enabled
  Requester ID:                      0x0000

FLMSTR3:   0xffff0118 (GbE)
  Platform Data Region Write Access: enabled
  GbE Region Write Access:           enabled
  Intel ME Region Write Access:      enabled
  Host CPU/BIOS Region Write Access: enabled
  Flash Descriptor Write Access:     enabled
  Platform Data Region Read Access:  enabled
  GbE Region Read Access:            enabled
  Intel ME Region Read Access:       enabled
  Host CPU/BIOS Region Read Access:  enabled
  Flash Descriptor Read Access:      enabled
  Requester ID:                      0x0118

Found Processor Strap Section
????:      0x00000000
????:      0xffffffff
????:      0xffffffff
????:      0xffffffff
????:      0xffffffff
????:      0xffffffff
????:      0xffffffff
????:      0xffffffff

Then I used UEFITool to extract and compare all BIOS Volumes, and they are the same except the NVram Volume EfiSystemNvDataFvGuid (where data as pram, serial numbers, boot options, bluetooth and wifi parings reside). There is also a small difference at the end of Volume 04ADEEAD-61FF-4D31-B6BA-64F8BF901F5A with something that looks like a serial number or hardware id.

Next I took a look at the Intel Management Engine ME Region. It contains also several partitions, all compare to the same, except the EFFS partition. EFFS is the embedded flash file system for the ME engine, apparently it stores there configuration and runtime data, so no surprise they're different.

Code:
╔════════════════════════════════════════════════════════════════════════════════╗
║                             Flash Partition Table                              ║
╟──────┬───────┬──────────┬──────────┬──────────┬─────────┬──────┬───────┬───────╢
║ Name │ Owner │  Start   │   Size   │   End    │   Type  │  ID  │ Valid │ Empty ║
╟──────┼───────┼──────────┼──────────┼──────────┼─────────┼──────┼───────┼───────╢
║ FOVD │  KRID │ 0x001400 │ 0x000C00 │ 0x002000 │ Generic │ 0000 │  True │  True ║
╟──────┼───────┼──────────┼──────────┼──────────┼─────────┼──────┼───────┼───────╢
║ MDES │  MDID │ 0x002000 │ 0x001000 │ 0x003000 │ Generic │ 0000 │  True │  True ║
╟──────┼───────┼──────────┼──────────┼──────────┼─────────┼──────┼───────┼───────╢
║ FCRS │  OSID │ 0x003000 │ 0x001000 │ 0x004000 │ Generic │ 0000 │  True │  True ║
╟──────┼───────┼──────────┼──────────┼──────────┼─────────┼──────┼───────┼───────╢
║ EFFS │  OSID │ 0x004000 │ 0x034000 │ 0x038000 │   EFFS  │ 0000 │  True │ False ║
╟──────┼───────┼──────────┼──────────┼──────────┼─────────┼──────┼───────┼───────╢
║ NVCL │       │          │ 0x0095D9 │          │   GLUT  │ 0000 │  True │  True ║
╟──────┼───────┼──────────┼──────────┼──────────┼─────────┼──────┼───────┼───────╢
║ NVJC │       │          │ 0x005000 │          │   GLUT  │ 0000 │  True │  True ║
╟──────┼───────┼──────────┼──────────┼──────────┼─────────┼──────┼───────┼───────╢
║ NVKR │       │          │ 0x00F883 │          │   GLUT  │ 0000 │  True │  True ║
╟──────┼───────┼──────────┼──────────┼──────────┼─────────┼──────┼───────┼───────╢
║ NVQS │       │          │ 0x000DEF │          │   GLUT  │ 0000 │  True │  True ║
╟──────┼───────┼──────────┼──────────┼──────────┼─────────┼──────┼───────┼───────╢
║ NVTD │       │          │ 0x001E44 │          │   GLUT  │ 0000 │  True │  True ║
╟──────┼───────┼──────────┼──────────┼──────────┼─────────┼──────┼───────┼───────╢
║ FTPR │       │ 0x038000 │ 0x06A000 │ 0x0A2000 │   Code  │ 0000 │  True │ False ║
╟──────┼───────┼──────────┼──────────┼──────────┼─────────┼──────┼───────┼───────╢
║ NFTP │       │ 0x0A2000 │ 0x0DC000 │ 0x17E000 │   Code  │ 0000 │  True │ False ║
╚══════╧═══════╧══════════╧══════════╧══════════╧═════════╧══════╧═══════╧═══════╝

So large dump differences on bios correspond to BIOS NVram and ME file system, but all code is the same.

Taking a deeper look at how ME engine works, I've found it can be removed or cleaned from EFI firmware (more info on that later). Apparently it is responsible for part of the POST behavior.

Could it be possible ME is responsible for non POST behavior of some cards on the 2011 iMac ? I'm talking of the case where otherwise fine working cards (tested on PCs or older iMacs) fail to POST on the 2011.

I tested ME Cleaner script on my bios file and it seems to do the work fine:
Code:
# python me_cleaner.py iMac27.rom.bin
Full image detected
Found FPT header at 0x1010
Found 11 partition(s)
Found FTPR header: FTPR partition spans from 0x37000 to 0xa1000
ME/TXE firmware version 7.0.0.1193 (generation 2)
Public key match: Intel ME, firmware versions 7.x.x.x, 8.x.x.x
The AltMeDisable bit is NOT SET
Reading partitions list...
FOVD (0x00000400 - 0x000001000, 0x00000c00 total bytes): removed
MDES (0x00001000 - 0x000002000, 0x00001000 total bytes): removed
FCRS (0x00002000 - 0x000003000, 0x00001000 total bytes): removed
EFFS (0x00003000 - 0x000037000, 0x00034000 total bytes): removed
NVCL (NVRAM partition, no data, 0x000095d9 total bytes): nothing to remove
NVJC (NVRAM partition, no data, 0x00005000 total bytes): nothing to remove
NVKR (NVRAM partition, no data, 0x0000f883 total bytes): nothing to remove
NVQS (NVRAM partition, no data, 0x00000def total bytes): nothing to remove
NVTD (NVRAM partition, no data, 0x00001e44 total bytes): nothing to remove
FTPR (0x00037000 - 0x0000a1000, 0x0006a000 total bytes): NOT removed
NFTP (0x000a1000 - 0x00017d000, 0x000dc000 total bytes): removed
Removing partition entries in FPT...
Removing EFFS presence flag...
Correcting checksum (0x05)...
Reading FTPR modules list...
UPDATE           (LZMA   , 0x078236 - 0x0782c8       ): removed
BUP              (Huffman, fragmented data, ~43 KiB  ): NOT removed, essential
KERNEL           (Huffman, fragmented data, ~114 KiB ): removed
POLICY           (Huffman, fragmented data, ~84 KiB  ): removed
HOSTCOMM         (LZMA   , 0x0782c8 - 0x07d8a7       ): removed
RSA              (LZMA   , 0x07d8a7 - 0x08040c       ): removed
CLS              (LZMA   , 0x08040c - 0x084dc7       ): removed
TDT              (LZMA   , 0x084dc7 - 0x08ae8b       ): removed
FTCS             (Huffman, fragmented data, ~15 KiB  ): removed
The ME minimum size should be 307200 bytes (0x4b000 bytes)
The ME region can be reduced up to:
00001000:0004bfff me
Checking the FTPR RSA signature... VALID
Done! Good luck!

It is possible that removing ME may have some side effects on iMac, has anyone tried this ?? I've seen posts from people doing this on macbooks (for security reasons) without apparently side effects.

Also there is the more complex option of Cleaning the ME region
This involves extracting a clean ME partition from Apple software update and replacing it on your bios image, so it starts from new.

All this requires of course motherboard programming with bios chip clip (ch341a), to be able to program and recover in case of non working bios. This is dangerous and you may damage your motherboard.

Next time I open my iMac I'll try to flash a "removed ME" bios, just to see if it works or has any side effects, sadly I don't have a 2011 non POSTing card to test. I'll also try to create a Clean ME region for my bios to see if method works. If anyone wants to also try this and needs help on removing or cleaning their ME bios I can provide help.
Hi again!

I own a RX480 and a WX4150 running perfectly in the 2009/2010 but both not posting the 2011.
And I have an iMac 2011 (with a minor ambient temp sensor problem) with I can use to test with firmware mods.

So I will give it a try!
 

Letoledo

macrumors newbie
Apr 4, 2021
2
0
Ok, so the best choice gpu that I can do to my iMac Mid 2011 21.5'' is the AMD WX4150 ? It's a mxm type A and has just 50w tdp. Right? Can I buy with my eyes closed?

I'm gonna use for games and Windows 8 or 10.
 

passatgt

macrumors 6502a
Jun 16, 2011
538
429
Ok, so the best choice gpu that I can do to my iMac Mid 2011 21.5'' is the AMD WX4150 ? It's a mxm type A and has just 50w tdp. Right? Can I buy with my eyes closed?

I'm gonna use for games and Windows 8 or 10.
Ok, so the best choice gpu that I can do to my iMac Mid 2011 21.5'' is the AMD WX4150 ?

Yes

Can I buy with my eyes closed?

No

"AMD WX4130/WX4150
This card needs to have an EEPROM chip on board too. There are multiple versions of this card - only the "Dell" branded versions currently work. These WX 4130/4150 are not detected in every case by the 2011 iMacs for unknown reason, and therefore are currently not fully compatible. Even worse, some models are not detected in any iMac model from late 2009 to mid 2011. A few Dell versions will be recognized and run in 2011 models. There is currently no rule available to figure out in advance which model will run."
 

Nguyen Duc Hieu

macrumors 68030
Jul 5, 2020
2,857
927
Ho Chi Minh City, Vietnam
Good evening !

I would greatly appreciate if somebody can share the xanderon linux USB file.
The mediafire link from xanderon's original post is too slow (10hrs or something) and the mirror link is not connectable....
I can leave the machine on for downloading all night, but I'm just afraid that it would corrupt in the middle and I would have to download it all over again.

Thanks a lot.
 

Ausdauersportler

macrumors 603
Nov 25, 2019
5,001
5,805
Good evening !

I would greatly appreciate if somebody can share the xanderon linux USB file.
The mediafire link from xanderon's original post is too slow (10hrs or something) and the mirror link is not connectable....
I can leave the machine on for downloading all night, but I'm just afraid that it would corrupt in the middle and I would have to download it all over again.

Thanks a lot.
Just search back a few pages where @The_Croupier posted an update with his own download link....
 

Letoledo

macrumors newbie
Apr 4, 2021
2
0
Ok, so the best choice gpu that I can do to my iMac Mid 2011 21.5'' is the AMD WX4150 ?

Yes

Can I buy with my eyes closed?

No

"AMD WX4130/WX4150
This card needs to have an EEPROM chip on board too. There are multiple versions of this card - only the "Dell" branded versions currently work. These WX 4130/4150 are not detected in every case by the 2011 iMacs for unknown reason, and therefore are currently not fully compatible. Even worse, some models are not detected in any iMac model from late 2009 to mid 2011. A few Dell versions will be recognized and run in 2011 models. There is currently no rule available to figure out in advance which model will run."

Thanks @passatgt

Second choice would be...?
 

KR4G3N

macrumors newbie
Apr 4, 2021
1
0
Mr Mur.

I can't read Chinese, do you know if it is possible to obtain these in Canada? And if so how much they might cost?
 

Nguyen Duc Hieu

macrumors 68030
Jul 5, 2020
2,857
927
Ho Chi Minh City, Vietnam
Mr Mur.

I can't read Chinese, do you know if it is possible to obtain these in Canada? And if so how much they might cost?

Search around from local markets, or laptop repair shop if they have those lying around. Offer to buy for a few dollars. The laptops which use those MXM cards are now obsoleted or broken and they are heading to the dumpster, or stocked at repair shop as donor parts.
 

cirnolol

macrumors newbie
Apr 7, 2020
5
3
Hi everyone

New (for me) problem: cannot boot High Sierra after flash 780m card from BR2 to BR3. After apple on white screen everything turn black, sometimes appear loading circle in center and arrow in left top corner, and that's all. It can be for 30+ mins. OS can be booted in safe mode, and in safe mode sometimes animation became slow and with black lines.
Before today everything was fine.
Already tried: return BR2 flash, new OS (remove ssd and pre instal high sierra on it by another imac), reset everything many times, install Ausdauersportler's pack on current SSD by another mac and in the safe mode. Everytime is same situation.
Going to try clear the ssd and install high sierra from the internet, I don't know what to do else.
Can anyone help me?

upd.
After PRAM and SMC reset fans dont't work at max speed.
After reset with power button (unplag fork, pushing power button, plug fork, keep pushing few more sec, power on) fans work at max speed, and loading line go little slower, but black screen with arrow and loading circle appear anyway. If SMC and PRAM reset after this, then fan don't max again.

upd.2
I accidentally turn on imac with unplagged little cable from display to board in top left corner. And it was looking like macos was running but with black background. White lines from doc section appear, white lines after clicking on top menu buttons too. Arrow worked fine.
 
Last edited:

Umarx

macrumors member
Jan 15, 2021
57
9
Bahrain
Try this package (just download the complete EFI folder and put if on the Catalina Loader). Unfortunately you will have to reset the PRAM, reboot into High Sierra and set the default starting object back to Catalina Loader, again. It is listed on top of the OC post, too.

After installation you will figure out to have an iMacPro1,1 which is able to use Apple software update to install more recent macOS versions. Please create in any case new partitions for a new macOS version. DO NOT use APFS containers. It will break the system. You can also download the stock apple installers using this

It will bring back sleep with High Sierra automatically.

I developed this package on my iMac 2011 with an WX4130 to run all macOS versions unpatched. Only sound is not working on macOS version above High Sierra, yet. There is no patching necessary. It will run with any new AMD GPU even on 2009 and 2010 systems. It shares 99% of the config with the latest OCLP version.
Today I faced an issue after system had an update 10.13.6, my boot progress bar broke after nearly 70% and screen went black. I had to plug in external display and it all came back. Boot sequence is not smooth as before and I can only get to login screen having external screen connected. The 'CL package' is untouched from day one.
Is there something caused by the update? can it be resolved without a reformat which I am trying to avoid.
Edit: i just checked and the HS SSD drive has changed now to APFS. Gosh
 
Last edited:

cirnolol

macrumors newbie
Apr 7, 2020
5
3
Ok, install High Sierra from internet on imac with 780m failed. Black screen with white lines of windows borders. Voice assistant works btw :D

I don't know what to do. Hardware part was fine, I didn't touch it when problem appear first time. Return old version of flash don't help too. Only pre-install mac os and safe mode work.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.