Jump to content
CodeRush

[UEFIPatch] UEFI patching utility

1,989 posts in this topic

Recommended Posts

Advertisement

For Dell machines with Phoenix Secure Core Tiano UEFI 2.0, such as Vostro 3750, L502x etc you can apply the patch straight to the .exe you have got from Dell.

Then flash it as if it was a stock updater thereafter. As said in the original post it will unlock all the advanced menus available for a particular machine you are patching for. The patch sequence used in this utility has originated from bios-mods, you can read this article for in-depth details on the advanced menus.

Share this post


Link to post
Share on other sites

k3nny, FTK for Windows is easier to use and don't have any CAP verification at all, but I still don't recommend to flash BIOS under Windows - it's way too risky.

Any other system program or driver can interfere with flashing process and make unpredictable results. With strong antivirus or virtual machine enabled this chance is rather high.

It's less dangerous to use flashrom under Linux or OS X, but DOS or is still better, because nothing can interfere with flashing process in single task system (if a bunch of drivers and/or TSR's don't loaded, of course).

More to say, flashing with non-Asus tools leads to individual data loss, so now you have to restore your SMBIOS UUID, LAN MAC and Motherboard S/N using FD44Editor and then reflash BIOS to write the restored data.

Read my post on [H] linked above.

Share this post


Link to post
Share on other sites

buoo, yes and no.

The pattern to find is also 75080fbae80f89442430, but there are 6 different patch variants that the program is trying to perform.

I have made an analysis of that assembly (warning, crappy Google-translate from Russian) and now is a bit more complex then just patching 0x75 to 0xeb.

Different patch variants are needed because after 0x75 to 0xeb patch the compressed module is often 1 byte bigger than original and there are BIOS versions that don't have even 1 byte of free space to insert it.

Share this post


Link to post
Share on other sites

Lenovo ThinkPad R61i 8932-FDG (Phoenix)

Not an UEFI, can't be patched with this program.

Intel SC5520SC

Has different module organisation and doesn't have PowerManagement or CpuPei modules to patch.

Is a patch required for this board to work with native AppleICPM.kext? Is there any patched BIOS for this board anywhere?

Share this post


Link to post
Share on other sites

Lenovo ThinkPad R61i and Intel SC5520SC require patching AICPUPM.kext. I haven't seen anyone who patched Intel EFI BIOSes.

 

EDIT: about Lenovo:

 

UEFI BIOS Version 8JET42WW (1.36) 
UEFI BIOS Date 2012-05-15

Share this post


Link to post
Share on other sites

oswaldini, 8JET42WW can be patched by version 0.5.9 after unpacking, BIOS file to patch is $0A8J000.FL1

There is no problem to patch Intel EFI file, the main problem is to flash patched file to BIOS chip on Intel boards.

I don't know any method to flash modified Intel BIOSes with standard Intel tools, but I do know two methods to unlock access to whole BIOS and flash it with Intel Flash Programming Tool.

Another possible way to flash modified BIOS is described by phpdev32 in his mail:

I can report that the Intel DQ77KB thin mITX build I made this weekend worked just fine. Naturally I tested the newest ROM with PMPatch before I even bought the parts (just to be safe)' date=' but the F7 BIOS flasher worked just fine. I'm pretty sure the recovery flash didn't work, restarted several times without flashing, but that isn't critical. I imagine anyone wanting to repair the BIOS could flash the stock first using recovery, then flash the patched using F7 after rebooting.[/quote']

Share this post


Link to post
Share on other sites

The utility is BSD-licensed and available on GitHub.

Compiled versions for Windows and OS X are here.

Latest version is 0.5.9

 

Much better and easier than doing it under windows with Phoenix tools and an hex editor. :)

Thumb up.

 

I need testers with different boards from different vendors to make the utility better, so if you have enough courage or a spare BIOS chip - please try it and report in this topic.

Thank you in advance.

 

Tested on my Asus P8B-WS, bios 2106 (previously patched) with a Xeon E3-1230v2.

Works without any problem, a binary file compare show differences with my "hand-patched" bios but I can't see any differences under UEFI bios screens nor working under ML 10.8.2

Sleeps and wakes as usual, speedstep is the same using the same SSDT with modified iMac12_2.plist :

 

MSRDumper PStatesReached: 16 20 27 33 35 36 37.

 

Nice work !

Share this post


Link to post
Share on other sites

I can't see any differences under UEFI bios screens nor working under ML 10.8.2

It's normal, for AMI UEFI it only patches PowerManagement module and nothing more. Thank you for report.

Share this post


Link to post
Share on other sites

Did not work for me on Intel DZ77GA70K. I press F7 and then select .bio file and PC reboots and tries to flash but then reboots again and boots into Windows.

 

C:\>pmpatch GA0061.bio GA0061A.bio
PMPatch 0.5.9
PowerManagement module at 0045CC8C patched.
AMI nest modules not found.
Phoenix nest modules not found.
CpuPei module at 001FE83C not patched: Patch pattern not found.
Output file generated.

Share this post


Link to post
Share on other sites

Intel is famous for difficulties on flashing modified BIOSes...

I know a way to overcome it, but it isn't simple.

Please download FTK for Windows from the link in third post, then open Administrator console, cd to FTK/Win32 and execute fpt -i command.

I need the output to guide you further.

Share this post


Link to post
Share on other sites

Intel is famous for difficulties on flashing modified BIOSes...

I know a way to overcome it, but it isn't simple.

Please download FTK for Windows from the link in third post, then open Administrator console, cd to FTK/Win32 and execute fpt -i command.

I need the output to guide you further.

 

C:\FTK_0.9.4_win\Win32>fpt -i

Intel (R) Flash Programming Tool. Version:  8.1.10.1286
Copyright (c) 2007 - 2012, Intel Corporation. All rights reserved.

Platform: Intel(R) Z77 Express Chipset
Reading HSFSTS register... Flash Descriptor: Valid

   --- Flash Devices Found ---
   W25Q64BV    ID:0xEF4017    Size: 8192KB (65536Kb)

   --- Flash Image Information --
   Signature: VALID
   Number of Flash Components: 1
    Component 1 - 8192KB (65536Kb)
   Regions:
    Descriptor - Base: 0x000000, Limit: 0x000FFF
    BIOS	   - Base: 0x1C0000, Limit: 0x7FFFFF
    ME		 - Base: 0x003000, Limit: 0x1BFFFF
    GbE	    - Base: 0x001000, Limit: 0x002FFF
    PDR	    - Not present
   Master Region Access:
    CPU/BIOS - ID: 0x0000, Read: 0x0B, Write: 0x0A
    ME	   - ID: 0x0000, Read: 0x0D, Write: 0x0C
    GbE	  - ID: 0x0118, Read: 0x08, Write: 0x08

Total Accessable SPI Memory: 8192KB, Total Installed SPI Memory : 8192KB

FPT Operation Passed

Share this post


Link to post
Share on other sites

OK, as we can see, ME and GbE regions are locked, BIOS region is not.

Execute fpt -bios -d dump.bin command, if it works, patch this dump.bin file with PMPatch (pmpatch dump.bin mod.bin) and flash patched file with FPT by executing fpt -bios -f mod.bin command. If it works, reboot your computer.

Share this post


Link to post
Share on other sites
C:\FTK_0.9.4_win\Win64>fpt -bios -f mod.bin

Intel (R) Flash Programming Tool. Version:  8.1.10.1286
Copyright (c) 2007 - 2012, Intel Corporation. All rights reserved.

Platform: Intel(R) Z77 Express Chipset
Reading HSFSTS register... Flash Descriptor: Valid

   --- Flash Devices Found ---
   W25Q64BV    ID:0xEF4017    Size: 8192KB (65536Kb)


Error 280: Failed to disable write protection for the BIOS space!

Share this post


Link to post
Share on other sites

It's won't be so easy, as I thought but there is a way to unlock BIOS from this kind of lock. It is described here and can be dangerous, but I tried it like 10 times and it worked.

You need to disable Intel AntiTheft before trying it.

After unlocking access to all regions, you can make a dump of Descriptor region by executing fpt -desc -d desc.bin, and edit it with Hex-editor to remove locks completely.

This values are to be set:

locki.png

Then you can flash modified Descriptor region by executing fpt -desc -f desc.bin and modified BIOS region by fpt -bios -f mod.bin. If all things goes without error, then modified BIOS is finally flashed.

This way it dangerous and can lead to BIOS loss, so I don't recommend to try it unless you have to.

Share this post


Link to post
Share on other sites

No thanks. I don't want to risk to break anything, i can't afford to buy another board if this breaks. I rathed use NullCPU or patch DSDT. There is no AntiTheft on this motherboard.

 

I don't understand why it works to flash with F7 on Intel DQ77KB http://www.insanelym...y/#entry1878932 but not on my board, they have similar BIOS.

 

My motherboard has Intel® BIOS Vault Technology but so does DQ77KB.

 

Virtually incorruptible BIOS that provides fault-tolerant and secure firmware operating and upgrade environments.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Drovosek
      Hello.
      I extracted .aml files via F2 to Clover, then moved iasl and patchmatic to .../bin and DSDT converted.aml to DSDT.dsl
      Then I patched the DSDT.dsl patch battery_HP-G6-2221ss.txt and clicked "Compile".

      11750, 6126, syntax error, unexpected PARSEOP_ARG1
      19689, 6126, syntax error, unexpected PARSEOP_METHOD
      19735, 6126, syntax error, unexpected PARSEOP_CLOSE_PAREN
      19738, 6126, syntax error, unexpected '}', expecting $end and premature End-Of-File

      The first error disappears if you remove all the "args", the third if you remove the closing parenthesis (but I do not know how this is the correct solution to the errors)
       

      debug_9278.zip
      battery_HP-G6-2221ss.txt
      DSDT after bat patching.dsl
      DSDT primary.dsl
    • By valueimagery
      Hello Everybody,

      First Hack here, and I have a fresh vanilla install with Mojave 10.14.2 closely following this vanilla installation:
      https://hackintosh.gitbook.io/-r-ha...p-guide/config.plist-per-hardware/coffee-lake

      I was surprised how well it worked initially with the above suggested settings. Only a few minor things (USB SSDT, signing the Bluetooth Kext, and switching from VritualSMC to FakeSMC) needed to be adjusted to get were I am currently.

      I built this machine to be a video editing/photography workstation. And so far pretty happy but would really appreciate if anyone has any knowledge or solutions with the few problems I'm still experiencing:

      1) FIXED (SEE COMMENT BELOW)
      Sleep issues waking up from sleep (maybe due to the ASMEDIA USB controller)
      -FIX WAS UNRELATED TO ASMEDIA CONTROLLER BUT DUE TO PREFERENCE OF "ALLOW BLUETOOTH DEVICE TO WAKE THIS COMPUTER"/ AN EXTERNAL USB 3 to SATA Cable for Hot plugging SSD's/2.5" HDD's.  With USB to SATA adapter unplugged/ Bluetooth preference changed, Mac now sleeps uninterrupted.

      2)
      The ASMEDIA USB 3.1 Gen 2 ports ejecting after sleep

      3)
      Am I currently using the correct setup for graphic acceleration with a connector-less ID for the UHD 630 and Radeon RX580? Specifically for optimized performance with FCPX. 

      4)
      Normal Power Consumption?


      I've attached my config.plist, ioreg.zip from RUNME app, SSDT-UIAC.aml (created using Rehabman Method), and my DSDT.aml (from this post for the Maximus x code courtesy of @MaLd0n ) If anyone has the time to take a look and maybe shed some light if I've done something wrong that be awesome.

      And for anyone looking to build a similar machine, I would highly recommend it, and feel free to use these settings. If these minor last things are addressed, this is a really solid hack.

      Cheers,
      Shark

      Detailed below is What is Not Working, The Build/BIOS Setup/Install Process, and What is Working.


      NOT WORKING:
      1) Sleep:

      If I put the computer to sleep, or it falls asleep on it's own, it wakes up immediately after sleep.
       
      I’m getting these errors in terminal trying to figure this out using the following two commands:

      Command: pmset -g
      sleep 10 (sleep prevented by powerd, sharingd)

      Command: log show --style syslog | fgrep "Wake reason"
      localhost kernel[0]: (AppleACPIPlatform) AppleACPIPlatformPower Wake reason: XHC


      Here are my current settings:
      Clover:
      Boot -> Darkwake=0 (tried 1 and 2 as well)
      Energy Saver Settings: 
      Nothing Checked EXCEPT Put Hard disk to sleep when possible

      Would like Power Nap Enabled for the purpose of Time Machine, but doesn’t seem to be an option with Hackintosh?

      Using Terminal I have disabled the following:
      sudo pmset -a ttyskeepawake 0
      sudo pmset -a proximitywake 0
      sudo pmset -a standby 0
      sudo pmset -a autopoweroff 0

      2) USB 3.1 Gen 2

      For the 2.0/3.0 Intel Chipset, I’ve tried both the @headkaze Intel FB-Patcher v 1.6.8 and @RehabMan instructions on creating a SSDT. The FB-Patcher did not work completely. So I continued with @RehabMan method, created a SSDT, and sacrificed 2 x usb 2.0 ports and 1 internal RGB LED header to reach my 15 port max with 3.0 speeds on all SS ports.

      The ASMEDIA Ports work OOB with full 3.1 speeds. However the Eject issue can only be resolved by using an App like Jettison. And using that app doesn’t solve the sleep issue, computer still wakes. I’d rather figure out why the disks keep ejecting on sleep and if fixing issue #1 would resolve issue #2 or vice versa?

      Do I possibly need a power management ssdt? And how would I create one for the ASMEDIA chip?
       
      I've now tried using the attached DSDT.aml in my Patched folder.  I can now see it's working as my PCI devices in System Profiler are now populating (before it was stating no PCI devices).  However still experiencing sleep and eject issues.

      Ioreg Reads for the ASMEDIA 3.1 controller as:

      The 3.1 controllers for the back USB gen 2 ports are controlled by:
      RP05@1C,4/IOPP/PXSX@0/PXSX@01000000
      PRT1@01100000 (type C) (3.1 speeds)
      PRT2@01200000 (type A) (3.1 speeds)
      PRT3@01300000 (type C) (2.0 speeds)
      PRT4@01400000 (type A) (2.0 speeds)

      The 1 x 3.1 type C port on the front panel is controlled by:
      RP07@1C,6/IOPP/PXSX@0/PXSX@01000000
      HS01@00300000 (2.0 speed)
      SS01@00100000 (3.1 Speed) 

      There is also a SS02@0010000 under this controller, and as far as I can tell it does not have a function. Is there a way to disable, such as when creating an Intel Chipset SSDT?

      3) FINAL CUT ISSUES/ GRAPHIC ACCELERATION:
      Currently it doesn’t appear that the IGPU UHD 630 is doing much in iStats. In Apple System Profile/ Activity Monitor GPU window I only see RX580, no UHD 630. Is this how it should be? Or is that what connector-less ID should look like?

      With FCPX there is no crashing, glitchy exports, or rendering issues, however not sure if Graphic acceleration is being used to its fullest potential.
      The IGPU uses 5-8% Memory/ Processor when playing/scrubbing in timeline.
      And only 5-10% of the IGPU Memory (no processor) is used during any render or export of footage. The RX580 is still doing most of the hard work. My Bruce X times are quick 14-18 seconds, but I’m curious as to why the IGPU isn’t doing any of the lifiting. Is this expected? I'm pretty happy with how Lightroom and Final Cut are performing, I just want to make sure I've set the hardware up correctly.


      4) Power Consumption
      I have a general understanding of building computers, but not an expert especially with first time building a Hackintosh, overclocking, timings, voltages, etc…

      In HWMonitor the CPU Package Core reads blank, CPU Package Total is anywhere from 3.52w to 4.8w, the CPU Package DRAM is anywhere from 1.12 – 5.08. 

      Is this normal, or high? My temperatures seem fine and idle between 45-57 C, And Max shortly at 85 during stress tests.

      So just not sure if the CPU Power Consumption HWmonitor reporting is normal or abnormal. I've attached two HWmonitor screenshots 1 normal idle cpu, one while FCP rendering.
       
      THE INSTALL…
      Kexts Used:
      AirportBrcmFixup.kext
      AppleALC.kext
      BRCMFirmwareData.kext
      BrcmNonPatchRAM2.kext
      BrcmPatchRAM2.kext
      FakeSMC_ACPISensors.kext
      FakeSMC_CPUSensors.kext
      FakeSMC_GPUSensors.kext
      FakeSMC_LPCSensors.kext
      FakeSMC_SMMSensors.kext
      FakeSMC.kext
      IntelMausiEthernet.kext
      Lilu.kext
      USBInjectAll.kext 
      WhateverGreen.kext
      XHCI-unsupported.kext

      BUILD:
      ASUS ROG Maximus X CODE
      i7 8700k OC’d to 4800
      2 x 16gb Corsair Vegeance LPX DDR4 2400mhz C16 OC’d to 2666mhz
      Sapphire RX 580 NITRO+ 8Gb Graphics Card
      BCM94352Z Dell DW1560 (Wifi and Bluetooth Both Natively Working with Rehabman Kexts)
      BeQuiet! Darkrock Pro 4 
      EVGA 650w g1+
      Phanteks Enthoo Evolv X
      Samsung 28” E590DS (DP), Samsung 24” D300 (HDMI), Samsung 22” Syncmaster (DVI), Sony Bravia 48” (HDMI)

      Pre Install BIOS Settings:
      Updated Bios to Version 1704
      Loaded Optimized Defaults 
      AI Overclocker Tuner > Manual
      Extreme Tweeking > Enable
      Advanced \ System Agent(SA) Configuration →IGPU Multi-Monitor : Enabled
      Advanced \ System Agent (SA) Configuration →Vt-d: Disabled
      System Agent (SA) Configuration > Graphics Configuration > Primary Display > PEG
      USB Configuration > Legacy USB Support > AUTO
      USB Configuration > Keyboard and Mouse Simulation > Disabled
      APM Configuration > Power on by PCI - E/PCI > Disabled
      CSM: Disabled 
      Fast Boot > Disabled
      Boot Logo Display > Disabled
      Secure Boot > OS Type > Other OS
      DVMT Pre-Allocated > 128M

      WORKING:
      ICLOUD, iMessages, Handoff, etc

      Nitro+ 8GB GPU:
      4 Displays (DVI, DP, HDMI 1&2) from RX580 with Audio
      Currently set to 1920 resolution, but have option to use up to 4k resolution (3840x2160)
      Audio over DP and HDMI
      *Not sure if Airplay works as I don’t have an Apple TV, but registers in System Bar and say's looking...

      IGPU:
      Set in Connectorless State (AAPL,ig-platform-id: 0300923E)
      *If in a Connected State, slows down Bruce 5k Exports to well over a minute, with glitches, and does not send display signal to DP or HDMI (just green screen), even with connector type patch to correct type. So keeping it connectorless.
      *Not sure if Graphic acceleration is really working as FCPX is struggling with Multicam original media. This could just be the GH5 4k file encoding that FCPX struggles with. Was just hoping to remove creating proxy media from my workflow.

      Audio Front/ Back
      All working:
      Digital Optical Out 
      Back Green - Internal Speakers
      Front Headphones - Internal Speakers automatically changes to Headphones when plugged in
      Back Mic (Internal Microphone, not Line In)
      Front Mic (Internal Microphone, changes to a 2nd Line In)

      Bluetooth
      After initial install Bluetooth was seen by Mac System but not recognising any devices
      Thanks to @RehabMan Entered following code in terminal and bluetooth now works:
      sudo nvram boot-args="kext-dev-mode=1"

      I've now enabled this in my config.plist as well.
      https://github.com/RehabMan/OS-X-BrcmPatchRAM/blob/master/README-Mac.md
      (unsigned kernel extensions need to be enabled. Take the following steps in the Terminal)

      FANS/ TEMPS
      Temps or Fans were not registering with TG Pro using VirtualSMC.kext
      Fixed by switching from VIRTUALSMC.kext with older FAKESMC.kext with sensor gauges kexts. All working now.
      Computer Idles between 46 and 52 Celcius. Hits 81-87 when stress testing.

      USB 2.0/3.0 
      It appears that are physically too many USB ports on the Asus Maximus Code X to ever work with the 15 port limit safely. I created a custom SSDT that disabled USB 2.0 hs07(L),HS08(ML),12(aura led controller) to get usb 3.0 speeds on ss04,ss05, and ss06
      Be curious if anyone ever found a workaround for this...
       
       
      Overclocking:
      RAM:
      2400mhz to 2666mhz with Manual DRAM frequency change in BIOS. Did not change Latency or Timing and no crashing or panics so far. The 2666mhz speed is recognised in About this Mac and the Novabench RAM score increased.
      *Please advise if this method of overclocking the RAM is unadvisable.
       
      CPU:
      4.8ghz @ 75F @ 50% (Prime 95 test)
      Followed these BIOS steps:
       


       
      config_ValuesImac.plist
      DSDT.aml
      Send me Values-iMac.zip
      SSDT-UIAC.aml


    • By grisno
      Hi people,
       
      This is a preliminary installer to activate the sound card IDT 92HD87B2/4 (111D:76D9) in MacOS. This new version of the installer does not contain AppleHDA patched Kext. To work properly, it must be installed over vanilla AppleHDA Kext.
       
      I want to thank the whole community for their efforts and content provided, because without these it would not be possible to create this installer.
       
      I would appreciate comments and suggestions!!
       
      Status:
      Speakers : OK Headphones : OK HDMI Audio : OK (Intel HD3K/4K Tested) LineIn : OK MicInt : OK MicIntNoiseReduction : OK MicExt : OK AutoDetectLineIn : OK Sleep : OK WakeUp : OK AutoSleep : OK Hibernate : OK Siri : OK   Tested Laptops:
       
      - HP Pavillion G6-2209SS
      - HP Probook 4440S
       
      Coming Soon:
       
      - Unified installer for the different supported operating systems
       
      Original Verbs:
      00a71cf0 00a71d00 00a71ef0 00a71f40 00b71c1f 00b71d10 00b71e21 00b71f04 00c71c20 00c71d10 00c71ea1 00c71f04 00d71c10 00d71d01 00d71e17 00d71f90 00f71cf0 00f71d00 00f71ef0 00f71f40 01171c30 01171d01 01171ea3 01171fd5   Modified Verbs Layer ID 3 & 12:
      00A71CF0 00A71D00 00A71EF0 00A71F40 01371C40 01371D10 01371E21 01371F04 00C71C20 00C71D10 00C71E81 00C71F04 01471C10 01471D01 01471E17 01471F90 00F71C50 00F71D00 00F71EF0 00F71F40 01171C30 01171D01 01171EA0 01171F90  
      Modified Verbs Layer ID 2:
      00B71C10 00B71D10 00B71E21 00B71F04 00C71C20 00C71D10 00C71E81 00C71F04 00D71C30 00D71D00 00D71E17 00D71F90 01171C40 01171D00 01171EA0 01171F90  
        AppleHDAHardwareConfigDriver.kext > Info.plist (Layer ID 2, 3 & 12): <key>HDAConfigDefault</key> <array> <dict> <key>AFGLowPowerState</key> <data> AwAAAA== </data> <key>Codec</key> <string>IDT 92HD87B2/4</string> <key>CodecID</key> <integer>287143641</integer> <key>ConfigData</key> <data> AKcc8ACnHQAApx7wAKcfQAE3HEABNx0QATce IQE3HwQAxxwgAMcdEADHHoEAxx8EAUccEAFH HQEBRx4XAUcfkAD3HFAA9x0AAPce8AD3H0AB FxwwARcdAQEXHqABFx+Q </data> <key>FuncGroup</key> <integer>1</integer> <key>LayoutID</key> <integer>2</integer> </dict> <dict> <key>AFGLowPowerState</key> <data> AwAAAA== </data> <key>Codec</key> <string>IDT 92HD87B2/4</string> <key>CodecID</key> <integer>287143641</integer> <key>ConfigData</key> <data> ALccEAC3HRAAtx4hALcfBADHHCAAxx0QAMce gQDHHwQA1xwwANcdAADXHhcA1x+QARccQAEX HQABFx6gARcfkA== </data> <key>FuncGroup</key> <integer>1</integer> <key>LayoutID</key> <integer>3</integer> </dict> <dict> <key>AFGLowPowerState</key> <data> AwAAAA== </data> <key>Codec</key> <string>IDT 92HD87B2/4</string> <key>CodecID</key> <integer>287143641</integer> <key>ConfigData</key> <data> ALccEAC3HRAAtx4hALcfBADHHCAAxx0QAMce gQDHHwQA1xwwANcdAADXHhcA1x+QARccQAEX HQABFx6gARcfkA== </data> <key>FuncGroup</key> <integer>1</integer> <key>LayoutID</key> <integer>12</integer> </dict> </array>   DSDT:
       
      Patch to apply with MaciASL in your DSDT. You must change the value of the layout-id before applying the patch. In MacOS Mojave should always be 0x02
      ######################################### HDEF ######################################## into method label _DSM parent_label HDEF remove_entry; into device label HDEF insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n Return (Package()\n {\n "built-in", Buffer () { 0x00 }, \n "hda-gfx", Buffer() { "onboard-1" }, \n "layout-id", Buffer () { 0x03, 0x00, 0x00, 0x00 }, \n "PinConfigurations", Buffer () {}, \n "MaximumBootBeepVolume", Buffer () { 0x4d } \n })\n }\n end;  
    • By tokia
      Hello,
       
      My desktop Hackintosh is running macOS Mojave 10.14.2 with two dedicated GPUs installed: NVIDIA GTX 1080 Ti, AMD Radeon HD 7970.
       
      The AMD GPU is used primarily under macOS and the NVIDIA one under Windows.
       
      macOS boots without issues as long as there are no displays connected to the NVIDIA GPU. If a display is connected then the display connected to the AMD GPU will become blank. The system can be accessed using Screen Sharing/VNC.
       
      There are no problems if I swap PCI-e slots for the GPUs so that the AMD GPU is in the first slot (primary GPU), but I prefer not to do this.
       
      I have tried to remove the whole PCI (bridge) device in the DSDT file and all the lines that refer to it. The PCI entries in ioreg and System Information are gone but System Information still shows an NVIDIA GPU under Graphics/Display.
       
      Many of the suggestions I have found in guides and forum posts do not seem to apply here. My problem with some of the guides and answers is that they give the solution without explaining how anything works, or they tell you what to do without explaining the reasons behind it.
       
      What else can I do? Thank you for any assistance you can provide!
       
      I have attached some files that may help you help me.
       
      DSDT_BIOS_3101.zip contains the original ACPI (*.aml) files without any patches.
      Send me Steffens-iMac.zip is a file produced by RunMe.app, and do contain simple patches to rename some devices.
      DSDT.dsl.patch is a diff of the original DSDT.dsl file and the one with the PCI devices removed (commented out).
       
      Motherboard: ASUS Rampage V Extreme (X99), BIOS version 3101 (macOS does not boot with anything newer).
      Clover version: 4813.
       
      DSDT.dsl.patch:
      --- /Users/sl/Desktop/DSDT_BIOS_3101/DSDT.dsl 2018-12-17 05:24:30.000000000 +0100 +++ /Volumes/EFI/EFI/CLOVER/ACPI/patched/DSDT.dsl 2018-12-17 16:52:08.000000000 +0100 @@ -5,7 +5,7 @@ * * Disassembling to symbolic ASL+ operators * - * Disassembly of DSDT.aml, Mon Dec 17 05:24:30 2018 + * Disassembly of DSDT.aml, Mon Dec 17 04:01:52 2018 * * Original Table Header: * Signature "DSDT" @@ -2128,7 +2128,7 @@ ^^PCI0.BR2B.OSHP () ^^PCI0.BR2C.OSHP () ^^PCI0.BR2D.OSHP () - ^^PCI0.BR3A.OSHP () + //^^PCI0.BR3A.OSHP () ^^PCI0.BR3B.OSHP () ^^PCI0.BR3C.OSHP () ^^PCI0.BR3D.OSHP () @@ -2274,7 +2274,7 @@ ^^PCI0.BR2B.OSHP () ^^PCI0.BR2C.OSHP () ^^PCI0.BR2D.OSHP () - ^^PCI0.BR3A.OSHP () + //^^PCI0.BR3A.OSHP () ^^PCI0.BR3B.OSHP () ^^PCI0.BR3C.OSHP () ^^PCI0.BR3D.OSHP () @@ -2420,7 +2420,7 @@ ^^PCI0.BR2B.OSHP () ^^PCI0.BR2C.OSHP () ^^PCI0.BR2D.OSHP () - ^^PCI0.BR3A.OSHP () + //^^PCI0.BR3A.OSHP () ^^PCI0.BR3B.OSHP () ^^PCI0.BR3C.OSHP () ^^PCI0.BR3D.OSHP () @@ -2570,7 +2570,7 @@ ^^PCI0.BR2B.OSHP () ^^PCI0.BR2C.OSHP () ^^PCI0.BR2D.OSHP () - ^^PCI0.BR3A.OSHP () + //^^PCI0.BR3A.OSHP () ^^PCI0.BR3B.OSHP () ^^PCI0.BR3C.OSHP () ^^PCI0.BR3D.OSHP () @@ -2803,12 +2803,14 @@ If ((CSTA (Arg0, Arg1) == 0x00)) { FLAG = 0x00 - PRID (APID = 0xFF) = 0xFF + APID = 0xFF + PRID = 0xFF } Else { Local0 = APID - PRID (FLAG = 0x01) = Local0 + FLAG = 0x01 + PRID = Local0 } Return (APIC) @@ -15259,7 +15261,7 @@ ^BR2B.OSHP () ^BR2C.OSHP () ^BR2D.OSHP () - ^BR3A.OSHP () + //^BR3A.OSHP () ^BR3B.OSHP () ^BR3C.OSHP () ^BR3D.OSHP () @@ -26861,7 +26863,7 @@ } } - Device (BR3A) + /*Device (BR3A) { Name (_ADR, 0x00030000) // _ADR: Address OperationRegion (MCTL, SystemMemory, 0xE0013188, 0x04) @@ -27496,7 +27498,7 @@ { Name (_ADR, 0xFFFF) // _ADR: Address } - } + }*/ Device (BR3B) { @@ -30267,7 +30269,7 @@ ^^PCI0.BR2B.OSHP () ^^PCI0.BR2C.OSHP () ^^PCI0.BR2D.OSHP () - ^^PCI0.BR3A.OSHP () + //^^PCI0.BR3A.OSHP () ^^PCI0.BR3B.OSHP () ^^PCI0.BR3C.OSHP () ^^PCI0.BR3D.OSHP () @@ -30567,21 +30569,21 @@ WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x4158, // Range Minimum - 0x0000, // Range Maximum + 0x4158, // Range Maximum 0x0000, // Translation Offset 0x0001, // Length ,, , TypeStatic, DenseTranslation) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x5758, // Range Minimum - 0x0000, // Range Maximum + 0x5758, // Range Maximum 0x0000, // Translation Offset 0x0000, // Length ,, , TypeStatic, DenseTranslation) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x5858, // Range Minimum - 0x0000, // Range Maximum + 0x5858, // Range Maximum 0x0000, // Translation Offset 0x0000, // Length ,, , TypeStatic, DenseTranslation) @@ -37604,7 +37606,7 @@ ^^PCI0.BR2B.OSHP () ^^PCI0.BR2C.OSHP () ^^PCI0.BR2D.OSHP () - ^^PCI0.BR3A.OSHP () + //^^PCI0.BR3A.OSHP () ^^PCI0.BR3B.OSHP () ^^PCI0.BR3C.OSHP () ^^PCI0.BR3D.OSHP () @@ -37904,21 +37906,21 @@ WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x4558, // Range Minimum - 0x0000, // Range Maximum + 0x4558, // Range Maximum 0x0000, // Translation Offset 0x0001, // Length ,, , TypeStatic, DenseTranslation) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x4259, // Range Minimum - 0x0000, // Range Maximum + 0x4259, // Range Maximum 0x0000, // Translation Offset 0x0000, // Length ,, , TypeStatic, DenseTranslation) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x4359, // Range Minimum - 0x0000, // Range Maximum + 0x4359, // Range Maximum 0x0000, // Translation Offset 0x0000, // Length ,, , TypeStatic, DenseTranslation) @@ -44941,7 +44943,7 @@ ^^PCI0.BR2B.OSHP () ^^PCI0.BR2C.OSHP () ^^PCI0.BR2D.OSHP () - ^^PCI0.BR3A.OSHP () + //^^PCI0.BR3A.OSHP () ^^PCI0.BR3B.OSHP () ^^PCI0.BR3C.OSHP () ^^PCI0.BR3D.OSHP () @@ -45241,21 +45243,21 @@ WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x4958, // Range Minimum - 0x0000, // Range Maximum + 0x4958, // Range Maximum 0x0000, // Translation Offset 0x0001, // Length ,, , TypeStatic, DenseTranslation) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x4559, // Range Minimum - 0x0000, // Range Maximum + 0x4559, // Range Maximum 0x0000, // Translation Offset 0x0000, // Length ,, , TypeStatic, DenseTranslation) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x4659, // Range Minimum - 0x0000, // Range Maximum + 0x4659, // Range Maximum 0x0000, // Translation Offset 0x0000, // Length ,, , TypeStatic, DenseTranslation) @@ -53823,7 +53825,7 @@ Notify (\_SB.PCI0.BR2D.H007, Local0) } - If ((\_SB.PCI0.BR3A.PMEP == 0x01)) + /*If ((\_SB.PCI0.BR3A.PMEP == 0x01)) { Local0 = \_SB.PCI0.BR3A.PMEH (0x05) } @@ -53848,7 +53850,7 @@ Notify (\_SB.PCI0.BR3A.H005, Local0) Notify (\_SB.PCI0.BR3A.H006, Local0) Notify (\_SB.PCI0.BR3A.H007, Local0) - } + }*/ If ((\_SB.PCI0.BR3B.PMEP == 0x01)) { @@ -54608,11 +54610,11 @@ \_SB.PCI0.BR2D.PMEP = 0x01 } - If ((Local1 == 0x07)) + /*If ((Local1 == 0x07)) { \_SB.PCI0.BR3A.PMES = 0x01 \_SB.PCI0.BR3A.PMEP = 0x01 - } + }*/ If ((Local1 == 0x08)) { @@ -54879,10 +54881,10 @@ Notify (\_SB.PCI0.BR2D, 0x02) } - If ((\_SB.PCI0.BR3A.DEVS () != 0x00)) + /*If ((\_SB.PCI0.BR3A.DEVS () != 0x00)) { Notify (\_SB.PCI0.BR3A, 0x02) - } + }*/ If ((\_SB.PCI0.BR3B.DEVS () != 0x00)) { @@ -55927,10 +55929,10 @@ { Notify (\_SB.PCI0.BR2D, 0x00) } - Case (0x28) + /*Case (0x28) { Notify (\_SB.PCI0.BR3A, 0x00) - } + }*/ Case (0x29) { Notify (\_SB.PCI0.BR3B, 0x00) @@ -56736,11 +56738,11 @@ } } - Scope (_SB.PCI0.BR3A) + /*Scope (_SB.PCI0.BR3A) { Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { - If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */)) + If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") / * Device Labeling Interface * /)) { If (((Arg1 == 0x02) && (Arg2 == 0x00))) { @@ -56765,7 +56767,7 @@ 0x00 }) } - } + }*/ Scope (_SB.PCI1.QR1A) {  
      DSDT_BIOS_3101.zip
      Send me Steffens-iMac.zip
      DSDT.dsl.patch
    • By hst51
      System is Mojave 1.341. Hardware is GA-Z97-HD3/i3/15 gb DDR3 2133/GTX 660
       
      When I set the correct time in bios it is changed to an incorrect value upon reboot. Time remains correct in Mojave desktop. Both bios and desktop are configured to use 24 hr. time instead of AM/PM. I changed the CMOS battery and it made no difference. No other bios parameters are affected, just the time. Latest bios is installed I believe.
       
      In researching this the only hits that turned up had to do with dual boot Mac OS/Windows or dual boot Linux/Windows. This is not a dual boot machine.
       
      Any idea as to why this is happening?
       
      Thanks
×