Contribute
Register

[Guide] HackrNVMeFamily co-existence with IONVMeFamily using class-code spoof

Status
Not open for further replies.
ok i will look that up when i come home but for now is it possible to use windows 10 to go on usb and check the ACPI path? or windows must be installed in order to get the correct info...
can vmware workstation that have windows 10 in it get that info as well btw? i have 10.13.3 on my 960 evo m.2 installed already.
should i buy a 32gb usb drive or is that just waste of time and money since windows to go will not help me after all...?

No idea what you mean by "windows 10 to go on usb".
VMware not applicable.
This guide does not apply to 10.13.x.
 
However you decide to run Windows is ok, as long as it is on bare metal and not within a VM host.
okej so if i try to use windows 8.1 that is installed on another ssd is that possible to see the 960 evo or does it only work from windows 10 ?

Edit:
btw is it safe to upload my .iorg file here ? or is that a security risk for me since it shows all my hardrive serial numbers etc.
i really cant make this work and have no choice but to upload the file and hopefully you could find the correct path and tell me so i can move on already and go to the next stage in the kext making :(
 
Last edited:
okej so if i try to use windows 8.1 that is installed on another ssd is that possible to see the 960 evo or does it only work from windows 10 ?

I have never used Win81 for this purpose.
You could always try it and see what is displayed in Device Manager.

Edit:
btw is it safe to upload my .iorg file here ? or is that a security risk

It is done quite often here.
Your call.
 
I have never used Win81 for this purpose.
You could always try it and see what is displayed in Device Manager.
It is done quite often here.
Your call.
ok here is my ioreg
 
Last edited:
ok here is my ioreg

NVMe SSD is here:
Screen Shot 2018-04-18 at 7.08.16 AM.png


The device is at a path without a full ACPI identity. Partial path is _SB.PCI0.NPE7.
As per post #1..., the full ACPI name needs to be added, and since this is 10.11 and a804, additional properties are needed to spoof as a801.

Code:
// Inject bogus class-code for NVMe SSD to prevent IONVMeFamily.kext from loading
DefinitionBlock("", "SSDT", 2, "hack", "NVMe-Pcc", 0)
{
    External(_SB.PCI0.NPE7, DeviceObj)
    Device(_SB.PCI0.NPE7.SSD0) { Name(_ADR, 0) } // adding SSD0 identity under _SB.PCI0.NPE7
    Method(_SB.PCI0.NPE7.SSD0._DSM, 4)
    {
        If (!Arg2) { Return (Buffer() { 0x03 } ) }
        Return(Package()
        {
            "class-code", Buffer() { 0xff, 0x08, 0x01, 0x00 },
            "built-in", Buffer() { 0 },
            "compatible", Buffer() { "pci144d,a801" },
            "IOName", "pci144d,a801",
            "name", Buffer() { "pci144d,a801" },
        })
    }
}
//EOF
 
NVMe SSD is here:
View attachment 326347

The device is at a path without a full ACPI identity. Partial path is _SB.PCI0.NPE7.
As per post #1..., the full ACPI name needs to be added, and since this is 10.11 and a804, additional properties are needed to spoof as a801.

Code:
// Inject bogus class-code for NVMe SSD to prevent IONVMeFamily.kext from loading
DefinitionBlock("", "SSDT", 2, "hack", "NVMe-Pcc", 0)
{
    External(_SB.PCI0.NPE7, DeviceObj)
    Device(_SB.PCI0.NPE7.SSD0) { Name(_ADR, 0) } // adding SSD0 identity under _SB.PCI0.NPE7
    Method(_SB.PCI0.NPE7.SSD0._DSM, 4)
    {
        If (!Arg2) { Return (Buffer() { 0x03 } ) }
        Return(Package()
        {
            "class-code", Buffer() { 0xff, 0x08, 0x01, 0x00 },
            "built-in", Buffer() { 0 },
            "compatible", Buffer() { "pci144d,a801" },
            "IOName", "pci144d,a801",
            "name", Buffer() { "pci144d,a801" },
        })
    }
}
//EOF
ok so what more do i need to do to find these properties ?
 
ok so what more do i need to do to find these properties ?

All you need as far as creating SSDT_NVMe-Pcc.aml is in post #1172.
Other details (generating HackrNVMe kext) is in post #1.
 
All you need as far as creating SSDT_NVMe-Pcc.aml is in post #1172.
Other details (generating HackrNVMe kext) is in post #1
ok i made the kext will test it now :)

Edit:
It worked, finally :( omg took me ages but thank you for your patience, look forward to ask you many other things about my crazy pc and all the problems i have with os x man.
 

Attachments

  • 960 evo.png
    960 evo.png
    423.2 KB · Views: 115
Last edited:
Status
Not open for further replies.
Back
Top