Contribute
Register

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

Status
Not open for further replies.
Hi. I used your method to get an EVO 960 running. All was well for a few days until the machine stopped responding. Beachballs, no apps would launch, and a black screen on reboot

For what it's worth, I'm successfully running the 960 EVO (via built-in M.2 slot on the asus h170 motherboard) with no issues for the past couple of days, including sleep/wake cycles.

I followed this guide and created a SSDT to spoof the class code for my particular setup (it was on _SB.PCI0.RP09.PXS). Everything is solid.

XWUyHcB.png
 
For what it's worth, I'm successfully running the 960 EVO (via built-in M.2 slot on the asus h170 motherboard) with no issues for the past couple of days, including sleep/wake cycles.

I followed this guide and created a SSDT to spoof the class code for my particular setup (it was on _SB.PCI0.RP09.PXS). Everything is solid.

XWUyHcB.png

Yeah, I have a feeling @antieatingactivist's mistake is somewhere else.
 
Well I need some help.
I have had my machine up and running for a couple weeks. Trying to get the 950 PRO M.2 SSD working and have hit a wall. The drive is not showing up in OS X.

I've attached Clover and screenshot of MaciASL.

Thanks for any input.
 

Attachments

  • CLOVER.zip
    1.6 MB · Views: 162
  • Screenshot 2016-12-31 09.53.42.png
    Screenshot 2016-12-31 09.53.42.png
    170.4 KB · Views: 351
Well I need some help.
I have had my machine up and running for a couple weeks. Trying to get the 950 PRO M.2 SSD working and have hit a wall. The drive is not showing up in OS X.

I've attached Clover and screenshot of MaciASL.

Thanks for any input.

Attach ioreg as ZIP: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply with an ioreg from any other version of IORegistryExplorer.app.

Provide output (in Terminal):
Code:
kextstat|grep -y acpiplat
kextstat|grep -y appleintelcpu
kextstat|grep -y applelpc
kextstat|grep -y applehda

Attach EFI/Clover folder as ZIP (press F4 at main Clover screen before collecting). Please eliminate 'themes' directory. Provide only EFI/Clover, not the entire EFI folder.

Attach output of (in Terminal):
Code:
sudo touch /System/Library/Extensions && sudo kextcache -u /

Compress all files as ZIP. Do not use external links. Attach all files using site attachments only.
 
Thank you everyone for your response. My last attempt at restoring the system from back up was unsuccessful. Booted to a black screen. If I get it running I'll post my ioreg files, but I have a feeling that I'm going to be RMA this drive. It was working so well for a few days! I just can't think of a way that I could get this right enough to kind of work, but wrong enough to fail. I will keep everyone posted though. Thanks!!
 
Oh! ok that helped. For some reason, probably temporary self-imposed user blindness, I missed a 2nd NVM path which was quickly apparent with IORegistryExplorer v2.1. Corrected the aml file and the drive showed up!

Thanks for the help!
 
Oh! ok that helped. For some reason, probably temporary self-imposed user blindness, I missed a 2nd NVM path which was quickly apparent with IORegistryExplorer v2.1. Corrected the aml file and the drive showed up!

Thanks for the help!

Hello, I kinda need some of your help since we have the same hardware, somehow I got the SB.PCI0.RP17.PXSX done already. Although, I still need some help on the SSDT-NVMe-Pcc.aml and HackrNVMeFamily*.kext, I was just wondering if you would mind sharing these with me, please? I would really appreciate it. Thank you!
 
Hello, I kinda need some of your help since we have the same hardware, somehow I got the SB.PCI0.RP17.PXSX done already. Although, I still need some help on the SSDT-NVMe-Pcc.aml and HackrNVMeFamily*.kext, I was just wondering if you would mind sharing these with me, please? I would really appreciate it. Thank you!

It is best to read post #1.... it is really not that difficult.
 
RehabMan's explanation is spot on.

1) I used MaciASL from his link to compile:

Code:
// Inject bogus class-code for NVMe SSD to prevent IONVMeFamily.kext from loading
DefinitionBlock("", "SSDT", 2, "hack", "NVMe-Pcc", 0)
{
    External(_SB.PCI0.RP17.PXSX, DeviceObj)
    Method(_SB.PCI0.RP17.PXSX._DSM, 4)
    {
        If (!Arg2) { Return (Buffer() { 0x03 } ) }
        Return(Package()
        {
            "class-code", Buffer() { 0xff, 0x08, 0x01, 0x00 },
        })
    }
}
//EOF

I'll attach this.

2) . XCode to add the item for renaming existing paths, just as he said.

3) . Added patch via script for 10.12.1. I can attach this I suppose.

Hope that helps.

Hello, I kinda need some of your help since we have the same hardware, somehow I got the SB.PCI0.RP17.PXSX done already. Although, I still need some help on the SSDT-NVMe-Pcc.aml and HackrNVMeFamily*.kext, I was just wondering if you would mind sharing these with me, please? I would really appreciate it. Thank you!
 

Attachments

  • SSDT&Kext.zip
    90.8 KB · Views: 147
Last edited by a moderator:
Successfully make my PM951 NVMe SAMSUNG working, thanks a ton RehabMan.
FYI, I've patched DSTD before and replaced all existed _DSM, so if combine with Clover patch to replace _DSM, it will ends up with this error:

Code:
Unable to find driver for this platform: \"ACPI\".\n"@/Library/Caches/com.apple.xbs/Sources/xnu/xnu-3789.21.4/iokit/kernel/IOPlatformExpert.com:1667

So I have to leave the clover patch out for it to work.
Hope can help others like me.
 
Status
Not open for further replies.
Back
Top