Contribute
Register

OS X Driver for NVMe M.2 Solid State Drives Released

Status
Not open for further replies.

Stork

Admin
Staff member
Joined
Sep 21, 2010
Messages
13,180
Motherboard
Gigabyte Z690 Aero G
CPU
i5-12600K
Graphics
RX 6800 XT
Mac
  1. MacBook Pro
  2. Mac mini
  3. Mac Pro
Classic Mac
  1. Power Mac
  2. PowerBook
Mobile Phone
  1. iOS
Link repaired. Thanks, Rehabman, for discovering the link had changed.
 
Joined
Sep 5, 2016
Messages
10
Motherboard
Gigabyte z170N Gaming 5 ITX
CPU
6700K
Graphics
GTX 1070
Mobile Phone
  1. iOS
You cannot create a 10.11.6 kext on a system running 10.11.6. It is quite clear in the README:

I thought i had to specify the OS version that i wanted the kext to be installed on rather than the version i was creating the kext from. My bad!

Thanks :)
 

RehabMan

Moderator
Joined
May 2, 2012
Messages
184,014
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
I thought i had to specify the OS version that i wanted the kext to be installed on rather than the version i was creating the kext from. My bad!

Thanks :)

Note: Typo in my post fixed.
 
Joined
Jun 13, 2013
Messages
25
Motherboard
Gigabyte Z390 Designare
CPU
i9-9900K
Graphics
RX 580
Mac
  1. Mac Pro

RehabMan

Moderator
Joined
May 2, 2012
Messages
184,014
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
I'm having the same issue with my Samsung 950 Pro. Installed El Capitan on it, able to boot off it, and everything is good, except that is shows as an external volume. I referred to post #401 (http://www.tonymacx86.com/threads/o...e-drives-released.181387/page-41#post-1317234) but this doesn't seem to have the solution. Could someone refer me to the correct post that does describe how to set the disk as an internal volume?

I like to do it with a very simple SSDT...

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.

Also, attach EFI/Clover/ACPI/origin/DSDT.aml as ZIP (press F4 in Clover to get it).
 
Joined
Jun 13, 2013
Messages
25
Motherboard
Gigabyte Z390 Designare
CPU
i9-9900K
Graphics
RX 580
Mac
  1. Mac Pro
I like to do it with a very simple SSDT...

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.

Also, attach EFI/Clover/ACPI/origin/DSDT.aml as ZIP (press F4 in Clover to get it).

Thanks for the quick response! DSDT.aml and ioreg are attached. Also, thanks for everything you've done for the community. Your posts/guides/tools have been a huge help to me since my first build a couple years ago.
 

Attachments

  • DSDT.aml.zip
    15 KB · Views: 89
  • DTM-MacPro.zip
    997.9 KB · Views: 123

RehabMan

Moderator
Joined
May 2, 2012
Messages
184,014
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Thanks for the quick response! DSDT.aml and ioreg are attached. Also, thanks for everything you've done for the community. Your posts/guides/tools have been a huge help to me since my first build a couple years ago.

All I had to do for my desktop was add an ACPI identity that matches the location of the PCI device. Nothing else was needed.

As can be seen from ioreg (and DSDT), your SSD is connected at _SB.PCI0.PEG1:
- the PEG1@1,1 (in IOService) corresponds to Device (PEG1) and _ADR=0x00010001
- all PCI devices are usually under PCI0 (as confirmed in DSDT)
- PCI0 is usually in scope _SB (as confirmed in DSDT, and IOACPIPlane of ioreg)

This should be all you need:
Code:
//SSDT-NVMe.dsl 
// add an ACPI identity for built-in NVMe SSD at _SB.PCI0.PEG1.SSD0
DefinitionBlock("", "SSDT", 2, "hack", "nvme", 0)
{
    External(_SB.PCI0.PEG1, DeviceObj)
    Scope(_SB.PCI0.PEG1)
    {
        Device(SSD0)
        {
            Name(_ADR, Zero)
        }
    }
}
//EOF

Copy it to a new document in MaciASL, then save as SSDT-NVMe.aml (format ACPI Machine Language Binary).
Then copy to EFI/CloverACPI/patched (on your EFI partition).
If you're using config.plist/ACPI/SortedOrder, make sure it refers to this file (otherwise it won't load).
 
Joined
Jun 13, 2013
Messages
25
Motherboard
Gigabyte Z390 Designare
CPU
i9-9900K
Graphics
RX 580
Mac
  1. Mac Pro
All I had to do for my desktop was add an ACPI identity that matches the location of the PCI device. Nothing else was needed.

As can be seen from ioreg (and DSDT), your SSD is connected at _SB.PCI0.PEG1:
- the PEG1@1,1 (in IOService) corresponds to Device (PEG1) and _ADR=0x00010001
- all PCI devices are usually under PCI0 (as confirmed in DSDT)
- PCI0 is usually in scope _SB (as confirmed in DSDT, and IOACPIPlane of ioreg)

This should be all you need:
Code:
//SSDT-NVMe.dsl
// add an ACPI identity for built-in NVMe SSD at _SB.PCI0.PEG1.SSD0
DefinitionBlock("", "SSDT", 2, "hack", "nvme", 0)
{
    External(_SB.PCI0.PEG1, DeviceObj)
    Scope(_SB.PCI0.PEG1)
    {
        Device(SSD0)
        {
            Name(_ADR, Zero)
        }
    }
}
//EOF

Copy it to a new document in MaciASL, then save as SSDT-NVMe.aml (format ACPI Machine Language Binary).
Then copy to EFI/CloverACPI/patched (on your EFI partition).
If you're using config.plist/ACPI/SortedOrder, make sure it refers to this file (otherwise it won't load).

Worked like a charm. Thanks again!
 
Joined
Mar 5, 2011
Messages
13
Motherboard
Gigabyte GA-H97M-D3H
CPU
Intel i5-4590
Graphics
Intel Onboard
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
  2. Other
Any Body in the Forum have an Intel SSD NVMe that worked with the HackrNVMeFamily-*.kext, couse I can only make mine work with GenericNVMe kext. appriciate the info.

trying Hackintosh Built using Intel SSD DC P3600 1.6TB
 

RehabMan

Moderator
Joined
May 2, 2012
Messages
184,014
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Any Body in the Forum have an Intel SSD NVMe that worked with the HackrNVMeFamily-*.kext, couse I can only make mine work with GenericNVMe kext. appriciate the info.

trying Hackintosh Built using Intel SSD DC P3600 1.6TB

It may not be compatible with Pike's patches (just guessing, since you provide no information).
A large SSD like that quite likely uses a block size larger than 512 bytes (may use same block size as Apple's SSDs... 4096 bytes).
 
Status
Not open for further replies.
Top