Jump to content

OpenCore General Discussion


dgsga
8,805 posts in this topic

Recommended Posts

Hello

 

  Anybody can help how to disable a unsupported SSD in opencore 0.5.6 booting Catalina 10.15.4?

 

  I have 3 SSDs and its corresponding device Path as below:

Samsung SM961:     PciRoot(0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)

Intel 600P:              PciRoot(0x0)/Pci(0x2,0x1)/Pci(0x0,0x0)

Intel P4510:            PciRoot(0x0)/Pci(0x2,0x2)/Pci(0x0,0x0)

 

  I have Windows 10 installed on SM961, Mac installed on Intel 600p. The Intel P4510 is the problematic one as it's not supported by MacOS and can't be recognized by MacOS. The issue is it will take too long time while booting to wait this one to timeout which almost increase about 1 min booting time.

 

  Is there any way in Opencore that I can disable this device for Mac but still have it in Windows(Windows is also loaded via Opencore)?

 

  BTW, I use bifurcation for these 3 SSD so they are actually connected to one PCIeX16 slot.

Link to comment
Share on other sites

15 minutes ago, Javen said:

Hello

 

  Anybody can help how to disable a unsupported SSD in opencore 0.5.6 booting Catalina 10.15.4?

 

  I have 3 SSDs and its corresponding device Path as below:

Samsung SM961:     PciRoot(0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)

Intel 600P:              PciRoot(0x0)/Pci(0x2,0x1)/Pci(0x0,0x0)

Intel P4510:            PciRoot(0x0)/Pci(0x2,0x2)/Pci(0x0,0x0)

 

  I have Windows 10 installed on SM961, Mac installed on Intel 600p. The Intel P4510 is the problematic one as it's not supported by MacOS and can't be recognized by MacOS. The issue is it will take too long time while booting to wait this one to timeout which almost increase about 1 min booting time.

 

  Is there any way in Opencore that I can disable this device for Mac but still have it in Windows(Windows is also loaded via Opencore)?

 

  BTW, I use bifurcation for these 3 SSD so they are actually connected to one PCIeX16 slot.

 

Just my opinion: do you try to add your Intel P4510 to Device Properties/Block section! :)  But if you load Windows via OpenCore, don't work also in Windows, I think!. Maybe a SSDT?

Edited by Matgen84
Link to comment
Share on other sites

1 hour ago, Matgen84 said:

 

Just my opinion: do you try to add your Intel P4510 to Device Properties/Block section! :)  But if you load Windows via OpenCore, don't work also in Windows, I think!. Maybe a SSDT?

I am not quite familiar with the setting in DeviceProperties --> Block. Also try searching in google but find very few information related. That could be reasonable because people always want to use their hardware instead of block it and this is not a critical issue as well. (Not blocking booting but increase booting time)

 

Anyway, I tried to these settings to block the device but no luck.

 

722435254_ScreenShot2020-04-01at4_25_47PM.png.4ec7193fb5310a1904de8ed3421217eb.png

Also tried the full device path: PciRoot(0x0)/Pci(0x2,0x2)/Pci(0x0,0x0)

 

I still see P4510 under 

"IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/BR2C@2,2/IOPP/H000@0"

or device path PciRoot(0x0)/Pci(0x2,0x2)/Pci(0x0,0x0)

 

Am I doing something wrong here? Anyway, I will also search for SSDT solution as well. This is my first hackintosh build and actually I'm still not familiar with all these.

  • Like 1
Link to comment
Share on other sites

On 6/19/2019 at 4:00 PM, vandroiy2012 said:

Open DSDT and count it manually.

It is quite useless patch. 99,9% it will break your Windows booting. Because some names are not only in DSDT but in SSDT's too. 

 

Hi @vandroiy2012, hello all ;)
can you explain how exact I have to count those values manually? I understand I need to drop original ACPI tables and what then? What should I look for inside DSDT? i got problem with I2C touchpad, and on Clover all was working perfectly, when on OC is not, because two of the ACPI hot patches have an TgtBridge value, and those two patches are for touchpad...

Link to comment
Share on other sites

54 minutes ago, hardcorehenry said:

 

still cant understand how I need to count... DSDT is sooo big, that I can't even imagine... I should cone every _STA till I found my GPIO device? of course excluding green comments can I use a Find option in MacIASL? 

Link to comment
Share on other sites

7 hours ago, Javen said:

I am not quite familiar with the setting in DeviceProperties --> Block. Also try searching in google but find very few information related. That could be reasonable because people always want to use their hardware instead of block it and this is not a critical issue as well. (Not blocking booting but increase booting time)

 

Anyway, I tried to these settings to block the device but no luck.

 

722435254_ScreenShot2020-04-01at4_25_47PM.png.4ec7193fb5310a1904de8ed3421217eb.png

Also tried the full device path: PciRoot(0x0)/Pci(0x2,0x2)/Pci(0x0,0x0)

 

I still see P4510 under 

"IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/BR2C@2,2/IOPP/H000@0"

or device path PciRoot(0x0)/Pci(0x2,0x2)/Pci(0x0,0x0)

 

Am I doing something wrong here? Anyway, I will also search for SSDT solution as well. This is my first hackintosh build and actually I'm still not familiar with all these.

Hello

 

  I searched online and found this SSDT to disable a PCI device.

 

  However, after I changed the PCI route to my case, it's still not working. (My SSD is located at PCI0\BR2C\H000)

 

  Anyone have a clue?

SSDT-BR2C.H000-disbale.aml

Link to comment
Share on other sites

10 hours ago, MatiWaldi said:

still cant understand how I need to count... DSDT is sooo big, that I can't even imagine... I should cone every _STA till I found my GPIO device? of course excluding green comments can I use a Find option in MacIASL? 

count only METHOD _CRS without comment _CRS others 

i done this 6 months ago my I2C trackpad is working fine

please provide me your untouch dsdt and tell me about terget location tpd0 tpd1 tdpl

Link to comment
Share on other sites

10 hours ago, MatiWaldi said:

still cant understand how I need to count... DSDT is sooo big, that I can't even imagine... I should cone every _STA till I found my GPIO device? of course excluding green comments can I use a Find option in MacIASL? 

attache patched SSDT-I2C untouch dsdt and config.plist

Edited by anmool
edited
Link to comment
Share on other sites

On 3/31/2020 at 1:47 AM, texem said:

 

@vit9696  seems the problem is here , i'm not _that_ expert but if i remove the build options in OpenCorePkg.dsc  (this should fix Linux boot as far I understand, Bug #491 ?)  Windows boot is fine.

Only OpenRuntime.efi is newly generated btw.

 

thanks for the pointer

Same issue and same fix on my setup

Edited by Squirrelf
Link to comment
Share on other sites

Hi,

I have created a SSDT-PLUG by using SSDTTime under Windows 10.

My system is booting with OpenCore and I followed this guide. (just as reference that you know where I am)

But the bootlog still shows :
 

2020-04-02 05:12:55.108092+0200 0x2b0      Default     0x0                  0      0    kernel: (IOPlatformPluginFamily) WARNING: IOPlatformPluginUtil : getCPUIDInfo: this is an unknown CPU model 0x3c
  -- power management may be incomplete or unsupported
2020-04-02 05:12:55.108099+0200 0x2b0      Default     0x0                  0      0    kernel: (IOPlatformPluginFamily) WARNING: IOPlatformPluginUtil : getCPUIDInfo: this is an unknown CPU model 0x3c
  -- power management may be incomplete or unsupported

Is there something else to configure to make this error disappear, please?


_________

My system ssdt shows:

    Scope (_PR)
    {
        Processor (CPU0, 0x01, 0x00001810, 0x06)
        {
            Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
            {
                ADBG ("CPU0 DEP Call")
                If ((S0ID == One))
                {
                    ADBG ("CPU0 DEP")
                    Return (Package (0x01)
                    {
                        \_SB.PEPD
                    })
                }
                Else
                {
                    ADBG ("CPU0 DEP NULL")
                    Return (Package (0x00){})
                }
            }
        }

the generated ssdt-plug looks like this:

DefinitionBlock ("", "SSDT", 2, "CpuRef", "CpuPlug", 0x00003000)
{
    External (_PR_.CPU0, ProcessorObj)

    Scope (\_PR.CPU0)
    {
        Method (DTGP, 5, NotSerialized)
        {
            If ((Arg0 == ToUUID ("a0b5b7c6-1318-441c-b0c9-fe695eaf949b")))
            {
                If ((Arg1 == One))
                {
                    If ((Arg2 == Zero))
                    {
                        Arg4 = Buffer (One)
                            {
                                 0x03                                             // .
                            }
                        Return (One)
                    }

                    If ((Arg2 == One))
                    {
                        Return (One)
                    }
                }
            }

            Arg4 = Buffer (One)
                {
                     0x00                                             // .
                }
            Return (Zero)
        }

        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            Local0 = Package (0x02)
                {
                    "plugin-type", 
                    One
                }
            DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
            Return (Local0)
        }
    }
}


Looks good, the scope etc looks correct to me, no ?

 

Edited by daslicht
Link to comment
Share on other sites

I have working Clover installation, but I am trying to get Opencore (0.5.6) working with my setup. But there is a problem, I get a very non-descriptive kernel panic if I try to boot without Cpuid1Mask and Cpuid1Data (Clover somehow works without it):

 

IMG_0189.png.c9daa06f91ac8780dfa87ec82e3d8172.png

 

If I try any FakeCPUID, the only thing I get is a black screen after boot picker.

 

Am I doing the FakeCPUID wrong?

For example, if I try FakeCPUID 0x0306A0 that would be:

A0060300 00000000 00000000 00000000

FFFFFFFF 00000000 00000000 00000000 ?

 

This is my config:

config.plist

 

Any ideas/suggestions? Thanks in advance.

 

Link to comment
Share on other sites

On 3/30/2020 at 5:40 PM, hardcorehenry said:

What do you mean? Double click SSDTTime.command, rest is clear.

hi my hpet is giving me a headech  it is not compilable in its curent form the error said too many argumeents 

DefinitionBlock ("", "SSDT", 2, "hack", "HPET", 0x00000000)
{
    External (_SB_.PCI0.LPCB, DeviceObj)

    Name (\_SB.PCI0.LPCB.HPET._CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
    {
        IRQNoFlags ()
            {0,8,11}
        Memory32Fixed (ReadWrite,
            0xFED00000,         // Address Base
            0x00000400,         // Address Length
            )
    })
}

25, 6160, One or more prefix Scopes do not exist (\_SB.PCI0.LPCB.HPET._CRS)

so someone made a mistake  so this is what ssdttime generates

Link to comment
Share on other sites

8 hours ago, daslicht said:

Hi,

I have created a SSDT-PLUG by using SSDTTime under Windows 10.

My system is booting with OpenCore and I followed this guide. (just as reference that you know where I am)

But the bootlog still shows :
 


2020-04-02 05:12:55.108092+0200 0x2b0      Default     0x0                  0      0    kernel: (IOPlatformPluginFamily) WARNING: IOPlatformPluginUtil : getCPUIDInfo: this is an unknown CPU model 0x3c
  -- power management may be incomplete or unsupported
2020-04-02 05:12:55.108099+0200 0x2b0      Default     0x0                  0      0    kernel: (IOPlatformPluginFamily) WARNING: IOPlatformPluginUtil : getCPUIDInfo: this is an unknown CPU model 0x3c
  -- power management may be incomplete or unsupported

Is there something else to configure to make this error disappear, please?


_________

My system ssdt shows:


    Scope (_PR)
    {
        Processor (CPU0, 0x01, 0x00001810, 0x06)
        {
            Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
            {
                ADBG ("CPU0 DEP Call")
                If ((S0ID == One))
                {
                    ADBG ("CPU0 DEP")
                    Return (Package (0x01)
                    {
                        \_SB.PEPD
                    })
                }
                Else
                {
                    ADBG ("CPU0 DEP NULL")
                    Return (Package (0x00){})
                }
            }
        }

the generated ssdt-plug looks like this:


DefinitionBlock ("", "SSDT", 2, "CpuRef", "CpuPlug", 0x00003000)
{
    External (_PR_.CPU0, ProcessorObj)

    Scope (\_PR.CPU0)
    {
        Method (DTGP, 5, NotSerialized)
        {
            If ((Arg0 == ToUUID ("a0b5b7c6-1318-441c-b0c9-fe695eaf949b")))
            {
                If ((Arg1 == One))
                {
                    If ((Arg2 == Zero))
                    {
                        Arg4 = Buffer (One)
                            {
                                 0x03                                             // .
                            }
                        Return (One)
                    }

                    If ((Arg2 == One))
                    {
                        Return (One)
                    }
                }
            }

            Arg4 = Buffer (One)
                {
                     0x00                                             // .
                }
            Return (Zero)
        }

        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            Local0 = Package (0x02)
                {
                    "plugin-type", 
                    One
                }
            DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
            Return (Local0)
        }
    }
}




 

try this tutorial if nothing else works

 

 

Link to comment
Share on other sites

28 minutes ago, markl18 said:

hi my hpet is giving me a headech  it is not compilable in its curent form the error said too many argumeents 

DefinitionBlock ("", "SSDT", 2, "hack", "HPET", 0x00000000)
{
    External (_SB_.PCI0.LPCB, DeviceObj)

    Name (\_SB.PCI0.LPCB.HPET._CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
    {
        IRQNoFlags ()
            {0,8,11}
        Memory32Fixed (ReadWrite,
            0xFED00000,         // Address Base
            0x00000400,         // Address Length
            )
    })
}

25, 6160, One or more prefix Scopes do not exist (\_SB.PCI0.LPCB.HPET._CRS)

so someone made a mistake  so this is what ssdttime generates

Apply patches from Results/patches_OC.plist to your config.

SSDT-HPET.aml

Link to comment
Share on other sites

12 minutes ago, hardcorehenry said:

Apply patches from Results/patches_OC.plist to your config.

SSDT-HPET.aml

you have to explain how does a list suposed to modify an assembler file and your file that you included gets same error actually it is identical and when I include that file it kp on me 

Edited by markl18
Link to comment
Share on other sites

@vit9696 Unfortunately no it didn't work, its doing the same thing and throwing the same error as before when booting into windows. (0xc000000d)

 

If you want me to try anything else for you then just let me know?

 

Z390 Master, 9900K

Edited by AudioGod
  • Like 1
Link to comment
Share on other sites

1 hour ago, hardcorehenry said:

I'm afraid I won't be able to help you any more.

hi I didnt realize that you were talking about those plist files that were generated once that ssddttime manage to execute properly because it wants to import this tk file which is different dependent on which python version you are running so one has to modify the py file in order to get it to workand play withpyenv and stuff sory i didnt understand what you where saying because i diregarded those two plist files because I thought they were for clover again I am so. sory not to understand you the first time

Link to comment
Share on other sites

1 hour ago, vit9696 said:

May I see OpenCore boot log? Please reply to that bug, as insanely takes really long to send my messages if you have a github account.

 

which log exactly is required  ?

 

btw: i can confirm it crashes on z270 boards too, it's not only related to z370/z390 ..

 

 

 

Link to comment
Share on other sites

Well, the log of OpenCore booting in verbose mode (Target = 67). Since github is now down, I attached the newest version here.

 

Please test macOS, Windows, and Linux. Note, that there is a new entry in config.plist Booter → Quirks, which you need to add and enable:

			<key>SyncRuntimePermissions</key>
			<false/>

 

Removed r4 in favour of r5 and newer as available on github:

https://github.com/acidanthera/bugtracker/issues/491#issuecomment-608113296

Edited by vit9696
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

On 4/1/2020 at 3:22 AM, Andrey1970 said:

VoodooTSCSync no.

Samsung 860 not Nvme, it is SATA or M2 SATA.

 

Thanks for your response. I made a mistake, my SSD is “Samsung 960 EVO Plus NVMe M.2” .  So, do I need NVMefix Kext ?

Edited by jon7
Link to comment
Share on other sites

×
×
  • Create New...