Contribute
Register

M.2 Samsung 950 PRO SSD NVMe

Status
Not open for further replies.
Thanks gabrieljsmith1,
I got the SM951 NVMe working a while ago with the NVMeGeneric.kext but since then RehabMans and Pike's fix seem like the best solution. I no longer use NVMe version for my macOS drive, I opted for a SM951 AHCI version.
Ah glad to hear you got it working! Yes mine is the AHCI version of the SM951. Its so dang neat to be able to run OS X on these ;)
 
You can make it show internal by adding an ACPI identity for the device. For example, on my desktop, the raw PCIe device appears under PCI0->P0P1, so I created a small SSDT to add an ACPI identity:
Code:
DefinitionBlock ("", "SSDT", 2, "hack", "nvme", 0)
{
    External (_SB_.PCI0.P0P1, DeviceObj)
    Scope (_SB.PCI0.P0P1)
    {
        Device (SSD0)
        {
            Name (_ADR, Zero)
        }
    }
}
Hi RehabMan, here is my IOreg zip file. Would you mind help me to find how could I get my Intel 750 ssd show as "internal". Thanks a lot.
 

Attachments

  • wdk23411’s Mac Pro.ioreg.zip
    1 MB · Views: 118
Hi RehabMan, here is my IOreg zip file. Would you mind help me to find how could I get my Intel 750 ssd show as "internal". Thanks a lot.

There is a PCI bridge along the path to your SSD. No experience with them...
So... This is just a guess:

Code:
// Add ACPI identity for device under PCI bridge port 0x10 (address 0x00100000) under BR2A.H000
DefinitionBlock("", "SSDT", 2, "hack", "nvme", 0)
{
    External(_SB.PCI0.BR2A.H000, DeviceObj)
    Scope(_SB.PCI0.BR2A.H000)
    {
        Device(BR10)
        {
            Name(_ADR, 0x00100000)
            Device(SSD0) { Name(_ADR, 0) }
        }
    }
}
//EOF
 
Last edited:
There is a PCI bridge along the path to your SSD. No experience with them...
So... This is just a guess:

Code:
// Add ACPI identity for device under PCI bridge port 0x10 under BR2A.H000
DefinitionBlock("", "SSDT", 2, "hack", "nvme", 0)
{
    External(_SB.PCI0.BR2A.H000, DeviceObj)
    Scope(_SB.PCI0.BR2A.H000)
    {
        Device(BR10)
        {
            Name(_ADR, 0x10)
            Device(SSD0) { Name(_ADR, 0) }
        }
    }
}
//EOF

Thanks for reply. It seems that the code doesn't work for me. And all the usb3.0 port doesn't work after follow you suggestion except the USB3.1 port. Perhaps I should choose another motherboard.:banghead:

Edit: The patch worked by change the "0x10" to "0x00100000". Thank you very much.
 
Last edited:
Last edited:
Where can I get a copy of the vanilla IONVMeFamily.kext to repatch?

I am having problems and would like to do a patch, but I can't because I deleted it when I patched before.
 
Where can I get a copy of the vanilla IONVMeFamily.kext to repatch?

Vanilla IONVMeFamily.kext is installed by the OS X/macOS installer.
 
Vanilla IONVMeFamily.kext is installed by the OS X/macOS installer.
So the only way to get the kext back is to re-install the OS?
 
So the only way to get the kext back is to re-install the OS?
Use Pacifist.app at https://www.charlessoft.com to open the installer package that contains the IONVMEFamily.kext and use that to install it. It should have version 2.1.0 for macOS 10.12.3 and version 1.2.0 for Mac OS X 10.11.6.
 
Status
Not open for further replies.
Back
Top