Jump to content

[UEFIPatch] UEFI patching utility

BIOS patch power management UEFI

  • Please log in to reply
1676 replies to this topic

#261
xtraa

xtraa

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,051 posts
  • Gender:Male
  • Location:Hamburg
Then this utility should work on desktops, too? If one has an Ivy or Sandy board with UEFI of course.

#262
Doublepranks

Doublepranks

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 168 posts
  • Gender:Male
  • Location:Belém / Pará
Just wanna say thank you!

#263
CodeRush

CodeRush

    InsanelyMac Sage

  • Developers
  • 405 posts
  • Gender:Male
  • Location:Deggendorf, Germany
xtraa, sure, it was meant for ASUS desktop boards at the beginning of development, and now tested on many boards from all first tier vendors: ASUS, Asrock, MSI. There is no need to apply this patch on Gigabyte.
Boards from second tier vendors like Foxconn, Biostar, Sapphire are tested only 'virtually' (patcher produces modified BIOS file, but noone has a board to test if it works or not.) Only Zotac and ECS boards of that kind are really tested.

Legionario, thank you too. :)

#264
Onixs

Onixs

    Since 2007

  • Members
  • PipPipPipPipPipPipPip
  • 781 posts
  • Gender:Male
Hi, I have ans Asus P8H61-M LX R20, bios can be downloaded from here http://www.asus.com/...upport_Download
Tried using the PMPatch and flashed the newly generated file, but failed due to signing.

Here is the output of PMPatch:


PMPatch 0.5.11
PowerManagement module at 003F8AE0 patched.
AMI nest modules not found.
Phoenix nest modules not found.
CpuPei module at 00790B68 not patched: Patch pattern not found.
CpuPei module at 007D0B68 not patched: Patch pattern not found.
Output file generated.

Can anyone shed light on this please. Thanks!

#265
CodeRush

CodeRush

    InsanelyMac Sage

  • Developers
  • 405 posts
  • Gender:Male
  • Location:Deggendorf, Germany
rals2007, use FTK to flash modified BIOSes, link to the guide is in my signature.

#266
Onixs

Onixs

    Since 2007

  • Members
  • PipPipPipPipPipPipPip
  • 781 posts
  • Gender:Male
CodeRush

Can you look at my post regarding the PMPatch log, does it mean that it was patch
correctly?

#267
Subbi

Subbi

    InsanelyMac Protégé

  • Members
  • Pip
  • 1 posts
Hi,
I downloaded a new bios version (1002) for my P8B75-M LX, flashed it and afterwards patched with PMPatch and installed the patched bios with fpt.exe. Then I tried to boot OSX86 with original nullcpu kext but all I got was a kernel panic :( I ensured that my bios was patched (dump bios and try to patch, which apparently failed, because it was already patched)

This is the link to the bios file: http://dlcdnet.asus....X-ASUS-1002.zip

I would appreciate any help :)


edit: Nevermind, I followed the guide in your signature and everything works fine now :) Thanks for this great tool =)

#268
CodeRush

CodeRush

    InsanelyMac Sage

  • Developers
  • 405 posts
  • Gender:Male
  • Location:Deggendorf, Germany

Here is the output of PMPatch:
PMPatch 0.5.11
PowerManagement module at 003F8AE0 patched.
...

Here is the message about patched module. If output file is generated, all things are in order.

#269
faithie999

faithie999

    InsanelyMac Protégé

  • Members
  • Pip
  • 21 posts
coderush--thanks for your hard work and willingness to help us all!

i have an MSI H61M-P31 (G3). i am trying to Clover UEFI boot with an i3-2125. i can boot "legacy" but when i try UEFI the boot hangs just before the OS X boot message about IOAPIC should appear.

i applied PMPatch (successfully, i think) to my bios


PMPatch 0.5.11
PowerManagement module at 002A92D0 patched.
AMI nest modules not found.
Phoenix nest modules not found.
CpuPei module at 003C3890 not patched: Patch pattern not found.
Output file generated.

however, UEFI boot still hangs.

i assume this patch is not meant to solve my problem.

thanks

#270
CodeRush

CodeRush

    InsanelyMac Sage

  • Developers
  • 405 posts
  • Gender:Male
  • Location:Deggendorf, Germany
faithie999, you need to add OsxAptioFixDrv.efi to your drivers64UEFI folder to address your problem. This patch is about using vanilla AppleIntelCPUPowerManagement.kext, nothing more, nothing less.

#271
CodeRush

CodeRush

    InsanelyMac Sage

  • Developers
  • 405 posts
  • Gender:Male
  • Location:Deggendorf, Germany
As I have posted two weeks ago, I'm working on new program, codenamed "PMPatch done right". The real name is now "Universal UEFI BIOS Patcher", but it can be changed to anything any second. :)
I have been convinced by other people, who uses PMPatch as part of their software, not to use GUI as primary interface, so C++/Qt is not needed too.
What is done:
1. Compression code refactored.
2. All patches and modules to patch are stored in patches.ini file and read after execution, it is easy to add, modify or remove any particular patch for any particular module.
Here is an example of file, that implements all PMPatch 0.5.11 functions + patch for Intel EFI, which is not implemented in PMPatch yet.
;---------------------------------------------------------------------------------------------
; PATCHES
;---------------------------------------------------------------------------------------------
; Found by RevoGirl. RIP, young genius.
[PMPatch_PowerManagement]
type = patch
find = 75080FBAE80F89442430
replace = EB089090909090909090
; Found by Donovan6000 on InsanelyMac.
[PMPatch_SmmPlatform]
type = patch
find = 480FBAE00F7212480FBAE80FB9E2000000
replace = 480FBAE00FEB1290909090909090909090
; A bit better CpuPei patch for old AMI BIOSes
[PMPatch_CpuPei_common]
type = patch
find = 0D00800018EB050D00800000
replace = 0D00000018EB050D00000000
; Special CpuPei patch for old AMI BIOSes on ECS boards
[PMPatch_CpuPei_ECS]
type = patch
find = 81CE00800018EB0681CE00800000
replace = 81CE00000018EB0681CE00000000
; Patch for Intel EFI on server boards
[PMPatch_MpCpuX64]
type = patch
find = B9E2000000480FBAE80F488BD0
replace = B9E2000000480FBAE00F488BD0
;---------------------------------------------------------------------------------------------
; GAP MODULES
;---------------------------------------------------------------------------------------------
; Gap modules can be used as free space and for maintaining BIOS structure after modifications
;---------------------------------------------------------------------------------------------
[Gap module]
type = gap
guid = E4536585-7909-4A60-B5C6-ECDEA6EBFB54
;---------------------------------------------------------------------------------------------
; IGNORE MODULES
;---------------------------------------------------------------------------------------------
; Occurence of any other module will be ignored, if it is found inside this type of modules
;---------------------------------------------------------------------------------------------
[StatusCodeReport module]
type = ignore
guid = 987EA6EA-FBFD-4273-B819-A7210ADF6760
;---------------------------------------------------------------------------------------------
; CHECKSUM MODULES
;---------------------------------------------------------------------------------------------
; Modules for checksum recalculation
;---------------------------------------------------------------------------------------------
[Dell RAW file]
type = checksum
guid = F33E367F-41D2-4201-9CB7-AFA63DCCEEC9
;---------------------------------------------------------------------------------------------
; NEST MODULES
;---------------------------------------------------------------------------------------------
; Modules that have another modules inside, packed or not
;---------------------------------------------------------------------------------------------
[AMI nest]
type = nest
guid = AE717C2F-1A42-4F2B-8861-78B79CA07E07
[Phoenix/Insyde nest]
type = nest
guid = 4A538818-5AE0-4EB2-B2EB-488B23657022
;---------------------------------------------------------------------------------------------
; MODULES FOR PATCHING
;---------------------------------------------------------------------------------------------
[PowerManagement]
type = module
guid = 8C783970-F02A-4A4D-AF09-8797A51EEC8D
patch = PMPatch_PowerManagement
[PowerManagement2.efi]
type = module
guid = F7731B4C-58A2-4DF4-8980-5645D39EC358
patch = PMPatch_PowerManagement
[CpuPei]
type = module
guid = 2BB5AFA9-FF33-417B-8497-CB773C2B93BF
patch = PMPatch_CpuPei_common,PMPatch_CpuPei_ECS
[SmmPlatform]
type = module
guid = 99C20A37-042A-46E2-80F4-E4027FDBC86F
patch = PMPatch_SmmPlatform
[MpCpuX64]
type = module
guid = 62D171CB-78CD-4480-8678-C6A2A797A8DE
patch = PMPatch_MpCpuX64

What to do:
1. EFI filesystem traversal instead of pattern matching. Will be implemented in one of future version, because it's rather hard to implement a routine, that will work on any UEFI BIOS. (Hello to Phoenix developers :)). But Andy have done it right in PhoenixTool, so I know it's possible.
2. Actual patching code, I'm working on it right now.
3. A pair of minor ideas, which I will describe later, after first version will be ready.

The code will be available on GitHub under BSD, as usual.
If you have an idea or feature request - tell me now, before it's too late. That is why I'm writing this post, actually. :)

#272
gaansan

gaansan

    InsanelyMac Protégé

  • Members
  • Pip
  • 26 posts

coderush--thanks for your hard work and willingness to help us all!

i have an MSI H61M-P31 (G3). i am trying to Clover UEFI boot with an i3-2125. i can boot "legacy" but when i try UEFI the boot hangs just before the OS X boot message about IOAPIC should appear.

i applied PMPatch (successfully, i think) to my bios


PMPatch 0.5.11
PowerManagement module at 002A92D0 patched.
AMI nest modules not found.
Phoenix nest modules not found.
CpuPei module at 003C3890 not patched: Patch pattern not found.
Output file generated.

however, UEFI boot still hangs.

i assume this patch is not meant to solve my problem.

thanks


HI I also tried on my Asus rampage III gene (X58) (AMI)
and get following:


PMPatch 0.5.11
PowerManagement modules not found.
AMI nest modules not found.
Phoenix nest modules not found.
CpuPei modules not found.

I also tried to open with the BIOS.ROM file
with FD44Editor (Mac) and get this:


Error parsing BIOS data.
$BOOTEFI$ signature not found.
Please open correct ASUS BIOS file.

Probably my board is a no go.
Any way thank you a lot for sharing
:mellow:

#273
CodeRush

CodeRush

    InsanelyMac Sage

  • Developers
  • 405 posts
  • Gender:Male
  • Location:Deggendorf, Germany

tried on my Asus rampage III gene (X58) (AMI)

This isn't an UEFI BIOS, so the utility can't patch it, sorry.

#274
gaansan

gaansan

    InsanelyMac Protégé

  • Members
  • Pip
  • 26 posts

This isn't an UEFI BIOS, so the utility can't patch it, sorry.

Oh ... Thank you.
:mellow:

#275
CodeRush

CodeRush

    InsanelyMac Sage

  • Developers
  • 405 posts
  • Gender:Male
  • Location:Deggendorf, Germany
Tested on Zotac Z77ITX v0.10 by myself, works normally. I have spotted some bugs in v0.10 and sent it to Zotac BIOS developers, so I hope a new version will be out soon.

#276
maxihouston

maxihouston

    InsanelyMac Protégé

  • Members
  • Pip
  • 21 posts
Hello, i need your help. I have a Asrock z75 pro3 and i try to patch my bios but i fail.
Could you help me??

PMPatch 0.5.11
PowerManagement modules not found.
Trying to apply patch #1
Nested PowerManagement module al 003C7504 not patched: Patch pattern not found.
AMI nest module at 00247240 not patched: PowerManagement modules not found in ne
sted module.
Poenix nest modules not found.
CpuPei module at 0075A488 not patched: Patch pattern not found.

#277
CodeRush

CodeRush

    InsanelyMac Sage

  • Developers
  • 405 posts
  • Gender:Male
  • Location:Deggendorf, Germany
Interesting. Will look at it and reply a bit later.
UPD: worked for me on the latest BIOS
D:\Projects\PMPatch\build\Release>PMPatch.exe Z75PRO31.80 Z75PRO31.80.MOD
PMPatch 0.5.11
PowerManagement modules not found.
Trying to apply patch #1
Nested PowerManagement module at 003C7504 patched.
AMI nest module at 00247240 patched.
Phoenix nest modules not found.
CpuPei module at 0075A488 not patched: Patch pattern not found.
Output file generated.
Attached File  Z75PRO31.zip   4.35MB   4 downloads

#278
maxihouston

maxihouston

    InsanelyMac Protégé

  • Members
  • Pip
  • 21 posts
Thanks, but the one in the post is a original, isn't it?

#279
CodeRush

CodeRush

    InsanelyMac Sage

  • Developers
  • 405 posts
  • Gender:Male
  • Location:Deggendorf, Germany
It's a modded one, and you had a modded one when you tried to patch it.
I tried to patch already patched file and my PMPatch output is now totally like yours.

#280
maxihouston

maxihouston

    InsanelyMac Protégé

  • Members
  • Pip
  • 21 posts
i don't understand because i update the last one and the bios don't have power management. When try to install Mountain lion the installation reboot automatically. i'll keep trying. Thanks





Also tagged with one or more of these keywords: BIOS, patch, power management, UEFI


4 user(s) are reading this topic

2 members, 2 guests, 0 anonymous users


© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy