Jump to content
peanutman314

How to disable specific NVMe M.2 slot via DSDT (hide unsupported 970 Evo Plus)

8 posts in this topic

Recommended Posts

As you might know the Samsung 970 EVO Plus variant causes major issues on hackintosh installs. I want to keep it plugged into my motherboard for use in Windows. However, if it's plugged in, macOS is going to try to index this disk eventually and it will crash macOS even though it's not the main install disk. 


Because I don't need this disk under macOS I thought it would be a good solution to somehow disable/hide the unsupported disk for macOS. I looked into doing this via Clover but couldn't find anything useful. I'm hoping I can disable the slot via a DSDT patch. I only want to disable one specific M.2 slot, the others should remain functional (I have another working M.2 disk). So disabling the driver is not an option.

I have very little experience with DSDTs and I have no idea how to do this. I recently created a USB injection patch using RehabMan's excellent guide, so I have some experience with the process, but no idea how to formulate the DSDT patch. 

I have a Gigabyte Aurus Pro z390 motherboard. Below is a screenshot of IORegistryExplorer showing the other working drive (not the one I want to disable, that one is not plugged in yet). 
 

399591


I would be very grateful if anyone can point me in the right direction. If anyone knowns of a non-DSDT solution to disable a specific slot (but not all slots) then that's also fine of course.


Thank you for your time

Share this post


Link to post
Share on other sites
Advertisement
2 hours ago, Hervé said:

Have you tried to simply unmount the associated partition in OS X/macOS and see it that avoids the issue? If it does, you can simply setup your Hackintosh not to mount the partition automatically at boot time.

https://www.idownloadblog.com/2016/11/24/prevent-partitions-from-mounting-mac/

 

That's not a bad idea, I will try this. Thank you for the suggestion. However, I'm not sure if this will fix the problem. It's not very clear if accessing the disk causes problems, or if simply having the disk in your motherboard is the issue. I'm just basing myself on the many many reports coming from other users and people only mention "incompatible firmware" as a reason.

 

Share this post


Link to post
Share on other sites
2 hours ago, peanutman314 said:

That's not a bad idea, I will try this. Thank you for the suggestion. However, I'm not sure if this will fix the problem. It's not very clear if accessing the disk causes problems, or if simply having the disk in your motherboard is the issue. I'm just basing myself on the many many reports coming from other users and people only mention "incompatible firmware" as a reason.

 

post ur dsdt here, extract with f4 key in clover boot screen

Share this post


Link to post
Share on other sites
Posted (edited)
15 hours ago, MaLd0n said:

post ur dsdt here, extract with f4 key in clover boot screen

 

In attachment you will find the DSDT. The slot I would like to disable is _SB.PCI0.RP09 (or  _SB.PCI0.RP09.PXSX ?).

I have no idea if I'm looking for a DSDT or SSDT patch. I found references to _SB.PCI0.RP09 in the DSDT and in  SSDT files 1, 5, 6 and 8. In IOReg it looks like this. 

 

Any help would be greatly appreciated. 

 

image.png.8b1f2dd4b793f0962cdbc926b7892148.png

 

dsdt.zip

Edited by peanutman314

Share this post


Link to post
Share on other sites
29 minutes ago, peanutman314 said:

 

In attachment you will find the DSDT. The slot I would like to disable is _SB.PCI0.RP09 (or  _SB.PCI0.RP09.PXSX ?).

I have no idea if I'm looking for a DSDT or SSDT patch. I found references to _SB.PCI0.RP09 in the DSDT and in  SSDT files 1, 5, 6 and 8. In IOReg it looks like this. 

 

Any help would be greatly appreciated. 

dsdt.zip

DSDT.aml.zip

 

use some renames to avoid ssdt dependencies error

change GFX0 to IGPU
47465830 
49475055 

change HDAS to HDEF
48444153 
48444546 

change HECI to IMEI
48454349 
494d4549 

change SAT0 to SATA
53415430 
53415441 

 

Share this post


Link to post
Share on other sites
1 hour ago, MaLd0n said:

DSDT.aml.zip

 

use some renames to avoid ssdt dependencies error


change GFX0 to IGPU
47465830 
49475055 

change HDAS to HDEF
48444153 
48444546 

change HECI to IMEI
48454349 
494d4549 

change SAT0 to SATA
53415430 
53415441 

 

 

Thank you very much for the help! I would like to learn to do this myself. May I ask what you changed?

Share this post


Link to post
Share on other sites
1 hour ago, peanutman314 said:

 

Thank you very much for the help! I would like to learn to do this myself. May I ask what you changed?

-FIX ERRORS AND WARNINGS
-FIX ACPI ERRORS
-REMOVE UNUSED
-HIGH PRECISION EVENT TIMER
-SATA SERIE 10 ID
-DMAC
-FIX K.P in REBOOT
-SLPB
-DARWIN / WINDOWS 2015
-XHCI
-PLUGIN TYPE
-HDAS to HDEF
-HDEF
-REAL TIME CLOCK
-ARTC
-IPIC
-TIMR
-SBUS
-MIKEY
-BUS1
-MCHC
-ALS0
-SHUTDOWN
-UAR1
-LAN
-FWHD
-USBX
-PMCR
-PPMC
-XSPI
-GMM
-IMEI
-EC
-PNLF
-GFX0
-NVME disabled
-DTGP
-ACQUIRE MUT0 0XFFFF
-OPERATION REGION GPIO
-MUTEX MUT0 0x00
-EXTERNAL REFERENCES
-UNKNOWNOBJ
-HDMI / HDAU
-FULL RENAMED DEVICES

 

device is disabled now?

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 NoEnd
      Hi everyone, I have ordered an NVME drive to upgrade my hackintosh drive. My question is how to upgrade my system with this drive? should I clone the drive then plug and play or there are other measurements I need to consider? Also which Application you recommend for the clone? I'm using APFS.
       
      Thanks 
    • By End3rPower50
      Hi, i want to buy "Broadcom bcm94350zae" for my laptop
      is this compatible with macOS Mojave?
    • By viktr
      Hi!
       
      Please help - cannot install mojave on the gb z370n wifi, 8700, 2x samsung 970 nvme, rx570
      Downloaded latest clover and kexts and installation hangs at the beginning.
      Got some errors at boot (during clover boot, before menu appears) then boot "Mojave install" and then it stuck. Please help. Tried to turn off all fixes, tried old apfs.efi instead of apfsdriverloader - all with no success. Maybe it's a known issue and I'm just doing something completely wrong?
       
      ty
       
       


      clover.tar.gz

    • 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 ivoryblade
      Hello! My internal SSD lifetime is running out so I'm thinking how to upgrade it. I don't want to replace it with slow Sata SSD so I want to buy OWCMercury Helios and install new nvme fast ssd, but I won't be able to boot from it using standard boot loader.... Is it possible to boot nvme ssd using Clover on real iMac?
×