Contribute
Register

How to build your own iMac Pro [Successful Build/Extended Guide]

Status
Not open for further replies.
@interferenc

If I understand the patch correctly, we are nopping the regions where bit-15 (0x8000) of msr(0xE2) is being checked with the first entry of the patch.

In addition to that, your new entry to the patch BE0080000023CE0B -> BE0000000023CE0B sets ecx to 0x0, so that this part of the code always thinks msr 0xE2 is unlocked.**

I'm looking at PpmInitialize now. ***

Now my question is, how do we know that's all the efi modules that need to be patched? Are you grepping all efi modules to look for places where msr 0xE2 bit-15 is being read*?

EDIT1: * written, not read! xD
EDIT2: ** In fact, using this hack allows to always unlock bit-15. If you look at the opcodes, the hack changes the value of esi which is also used later by wrmsr to set bit-15. So this part of the code always enter the condition where write to 0xE2 is performed but always writes to unlock. While before, without the patch, the write was being performed to lock 0xE2 when it was unlocked.
EDIT3: *** The patch for PpmInitialize is a simple change from JE opcode to JNE, not sure if we're trying to avoid jumping to the next section or if we are jumping to the next section. And dunno what the next section means.
 
Last edited:
As I said, I checked all modules that have a write to 0xE2. Reads are fine.

Ah you're correct! wrmsr not rdmsr, just got confused with that opcode at some point. Ok all good, understood.

Gonna check if for the R6E there are other areas where we have write to 0xE2.

Thanks!
 
:headbang:New ASUS BIOS Firmware Patches by our awesome @interferenc :headbang:

1.) No further need of xcpm_core_scope_msrs © Pike R. Alpha for Wake :headbang:

2.) Forced Sleep/Wake now works 100% flawless with boot flag "darkwake=0".. :headbang:

3.) Auto Sleep now works 100% flawless with boot flag "darkwake=0" :headbang:

4.) No further need of NvidiaGraphicsFixup.kext for Wake.. :headbang:

5.) PWM fan issues improved..

Gorgeous work, man! :thumbup:

New patches.txt attached below..

kgp.png
 

Attachments

  • patches.txt.zip
    1.3 KB · Views: 93
Last edited:
If all three patch gets applied, I wouldn't search for more. I don't think asus x299 boards differ regarding these code parts.

Yes, I've looked, all hex strings are present and in place for the R6E.
 
@interferenc,

Code:
./voltageshift read 0xe2

returns now

Code:
RDMSR e2 returns value 0x7e000003

instead of the former

Code:
RDMSR e2 returns value 0x7e000008

"bdmesg" output remains the same..

Following your former advises the value should be

former.png


isn't it?
 
Last edited:
Well I do have a list of GUIDs, but that doesn't really helped me. I searched for specific instructions in UEFITool using their bytecode form, like B9E2000000 for mov ecx, 0x10. Then extracted the files, narrowed down further by excluding all files lacking wrmsr instructions (0F30), and checked the remaining files manually.

@interferenc, maybe a silly question (dunno if that would break stuff), but why not just nopping all B9 E2 00 00 00 0F 30 ? That would patch both SiInit and CpuInitPei at the same time and avoid eventual missed efi modules (although I checked for R6E, and these are the only two modules that have write to 0xE2).
 
@interferenc,

Code:
./voltageshift read 0xe2

returns now

Code:
RDMSR e2 returns value 0x7e000003

instead of the former

Code:
RDMSR e2 returns value 0x7e000008

"bdmesg" output remains the same..

Following your former advises the value should be

View attachment 310016

isn't it?

Finally "almost like a new" after few hours of rest :p

So.. @kgp it's quite interested, because I was thinking it's not so good with my
RDMSR e2 returns value 0x7e000003 (with scope patch disabled)- which was always "here", which was different than yours
0x402 with enabled like most of people...

RDMSR e2 returns value 0x7e000008 :p - today it's seems be OK, but I didn't packed BIOS again,
so I''m very interested a result after next patch :)
* which will be done today :p
- but I wanted to ask if I can patch your BIOS with iMac Pro Logo, again..? or it's better to take a clean one?

BTW: while when I wrote this post, he slept and woke up 2 times without any problems :D
(but of course I will make X more tests, because 2-3 it's not enough for me
especially that it was not total sleep with everything off so it was quite bizarre) :p

PS: or maybe if you patched and replaced actual BIOS again (in guide) let me know,
I don't want to patch The same bios 2 times :)

and of course @interferenc about jour post with new patches :) Great job man!!! :headbang: Thank you for your time! :thumbup::thumbup::thumbup:
 
Last edited:
Finally "almost like a new" after few hours of rest :p

So.. @kgp it's quite interested, because I was thinking it's not so good with my
RDMSR e2 returns value 0x7e000003 - which was always "here", which was different than yours

RDMSR e2 returns value 0x7e000008 :p - today it's seems be OK, but I didn't packed BIOS again,
so I''m very interested a result after next patch :)
-which will be done today :p - but I wanted to ask if I can patch your BIOS with iMac Pro Logo, again..?
or it's better to take a clean one?

BTW: while when I wrote this post, he slept and woke up 2 times without any problems :D
(but of course I will make X more tests, because 2-3 it's not enough for me
especially that it was not total sleep with everything off so it was quite bizarre) :p

I already implemented the new X299D.CAP in my guide. Just take that one, it also has the LOGO ;):lol:

But I am still waiting on @interferenc 's reply on my finding in post #4724. I am also still not content with my PWR fan behaviour after wake and the persistent disfunction of Auto Sleep. I therefore slightly modified (tuned) post #4722 in response.

I will proceed with the guide update, once everything is well settled and clarified..

No idea if still something is missing. However, the entire situation dramatically improved after the new patch release.

Good to know that at least your personal real life auto sleep functionality seems still fully functional :thumbup::lol:

But I guess soon I have to activate my personal real life auto sleep functionality.. I passed again midnight here.. ;)
 
I already implemented the new X299D.CAP in my guide. Just take that one, it also has the LOGO ;):lol:

But I am still waiting on @interferenc 's reply on my finding in post #4724. I am also still not content with my PWR fan behaviour after wake and the persistent disfunction of Auto Sleep. I therefore slightly modified (tuned) post #4722 in response.

I will proceed with the guide update, once everything is well settled and clarified..

No idea if still something is missing. However, the entire situation dramatically improved after the new patch release.

Good to know that at least your personal real life auto sleep functionality seems still fully functional :thumbup::lol:

I have almost 5 hours for tests so I will certainly try to test everything what I can do (since while without that pleasure)
so if you have some special ideas to test here: go ahead ... :)
and Btw: now You and others can rest a little :) (I mean our European friends) :p

About your fans.... you talk about these, connected to MB or all of Fans (with FanHub connection too)?
I know what I have with my actual H115, once configured in Windows, cooling profile, stay the same in OSX,
and change only when sensors found needed Cooling and. faster spin for a while, then always stay like before..

BTW: Maybe try to change mode in BIOS - where you can change mode between PWM or DC, and maybe try a 2nd one...
-maybe it will change FAN reactions :)

PS: Thank you for new/updated BIOS ;) :thumbup:
 
I have almost 5 hours for tests so I will certainly try to test everything what I can do (since while without that pleasure)
so if you have some special ideas to test here: go ahead ... :)
and Btw: now You and others can rest a little :) (I mean our European friends) :p

About your fans.... you talk about these, connected to MB or all of Fans (with FanHub connection too)?
I know what I have with my actual H115, once configured in Windows, cooling profile, stay the same in OSX,
and change only when sensors found needed Cooling and. faster spin for a while, then always stay like before..

BTW: Maybe try to change mode in BIOS - where you can change mode between PWM or DC, and maybe try a 2nd one...
-maybe it will change FAN reactions :)

And you are not European or what? :lol: Poland and France moved to Canada or what? :clap:

See.. my 20 PWM fans are connected to 3 PWM Fan Hubs, the 3 PWM Fan HUBS are totally stand alone (no USB power supply, nothing). The 3 PWM Fan Hubs are just connected to 3 onboard fan heathers (CPU OPT, Chassis 1 and Chassis 2).. alright?

In the BIOS I have Fan header settings in PWM Mode and CPU Opt, Chassis 1 and Chassis 2 in Manual Mode, where I assign 20% fan speed at 16 deg C, 40% fan speed at 40 deg C and 100% fan speed at 60 deg C CPU Temp.

That's all.

With that configuration everything works just perfect, until I wake from sleep. Then Fan dropout starts. You also have the Thermaltake Ring Fans right? You know that the brightness of the colour changes with fan speed. So brilliant at maximum speed and dark at zero speed. Thus my fans after Wake behave similar to a lightning storm, just blinking hysterical :lol:;) on/of.. brighter/darker...

You can try in the next 5 hours to stabilise the Thermaltake Ring Fans after Wake.. Hope to find good news in the morning ;)

Fans must be on PWM in BIOS, as there is simply no other power supply for now.. I could certainly try once more to supply the hubs with USB voltage. But I guess than all fans will just rotate at full speed all time and PWM might be totally difunctional.

Well let's see if you are able to figure out what is the right way to domesticate my PWM fans after Wake.. ;)

Good night non-european @mgregrs, good night world! ;)

BTW, I witnessed that your apple avatar in your profile changes shape and colour as frequent as my PWM Fans after Wake do :lol: It is even difficult to identify your posts because I permanently search for already non existing profile avatars I still have in mind.. :lol: you indeed behave like a chameleon :lol:
 
Last edited:
Status
Not open for further replies.
Back
Top