Jump to content
Mork vom Ork

Patch for using NVMe under macOS Sierra is ready.

1,362 posts in this topic

Recommended Posts

Hi RehabMan. Thanks for your work on this tool.

 

I'm experiencing a super weird SSD issue with 10.12.4 and was wondering if you've experienced it before or know what might be causing it. I've got an Intel 600p 512GB NVMe that has worked flawlessly right up until the 10.12.4 update. It's running with the patched IONVMeFamily.kext and what I'm experiencing is that at completely random times - it could be a couple hours or a couple days or a week - the read and write speeds completely tank, all the way down to about 5MB/s! The system is completely unusable/sluggish at that point.

 

If I warm reboot, macOS boots back up and the drive is still immediately slow. If I cold reboot, the drive is speedy again at 600MB/s write and 1500MB/s read, but eventually - hours, days, a week - and I'm back to the same 5MB/s read and write issue.

 

Trim is enabled and the drive is error free, per intel's drive tools (smart/scan etc). The same issue happens when booting into safe mode. I'm not seeing anything strange in the logs.

 

I thought maybe it was overheating and therefore being throttled, but if I immediately boot into windows, the temp is below 50C, so normal.

 

I'm at a loss as to what is triggering this, this started happening immediately after updating to 10.12.4.

 

Any ideas? Thanks.

Intel NVMe devices are not a good choice for macOS/OS X.

Those drives have performance problems if driven as a generic NVMe compliant drive... they seem to have some dependency on Intel RST drivers...

Similar problems result if you use the generic NVMe drivers in Windows.

Share this post


Link to post
Share on other sites
Advertisement

Intel NVMe devices are not a good choice for macOS/OS X.

Those drives have performance problems if driven as a generic NVMe compliant drive... they seem to have some dependency on Intel RST drivers...

Similar problems result if you use the generic NVMe drivers in Windows.

 

Thanks. It has worked flawlessly up until 10.12.4, so hopefully 10.12.5 or future updates resolve the issue. :(

Share this post


Link to post
Share on other sites

Thanks. It has worked flawlessly up until 10.12.4, so hopefully 10.12.5 or future updates resolve the issue. :(

Actually, reports of performance problems with Intel NMVe drives pre-date 10.12.4.

Share this post


Link to post
Share on other sites

You might want to read here:

https://www.smartmontools.org/wiki/NVMe_Support

 

When I was gathering the same info on my Samsung 950 Pro, I found the wiki to be quite useful...

FYI: Last I checked, the 950 Pro cannot be switched to 4k. Assuming no firmware update has become available, I'm guessing your drive is the same.

I still do not see a new firmware  :angel:

Share this post


Link to post
Share on other sites

Actually, reports of performance problems with Intel NMVe drives pre-date 10.12.4.

 

Maybe I've just been lucky then, but I've never had any issues with this drive and Sierra before 10.12.4 - and that's going on 5 months now of daily use. The issues started immediately after installation of 10.12.4.

Share this post


Link to post
Share on other sites

I thought I was having no problems, but I just tried to restore my 960 evo with time machine and it doesn't appear as a destination drive.

 

Is it possible for someone to go into recovery and test this? (you can pull out at the last moment lol.)

 

What I had to do was to restore to a USB hard drive and then CCC it to the NVME. It took hours...

And also now I have some unexplained crashes after login. #@%#

Share this post


Link to post
Share on other sites

I thought I was having no problems, but I just tried to restore my 960 evo with time machine and it doesn't appear as a destination drive.

 

Is it possible for someone to go into recovery and test this? (you can pull out at the last moment lol.)

 

What I had to do was to restore to a USB hard drive and then CCC it to the NVME. It took hours...

And also now I have some unexplained crashes after login. #@%#

Recovery will recognize the drive with the correct configuration on EFI/Clover.

Using class-code spoof:

- SSDT-NVMe-Pcc.aml in Clover/ACPI/patched (correct for your NVMe ACPI path)

- _DSM->XDSM patch in config.plist/ACPI/DSDT/Patches

- correct (with --spoof) HackrNVMeFamily-?.kext in Clover/kexts/Other

- kext injection

Share this post


Link to post
Share on other sites

Recovery will recognize the drive with the correct configuration on EFI/Clover.

Using class-code spoof:

- SSDT-NVMe-Pcc.aml in Clover/ACPI/patched (correct for your NVMe ACPI path)

- _DSM->XDSM patch in config.plist/ACPI/DSDT/Patches

- correct (with --spoof) HackrNVMeFamily-?.kext in Clover/kexts/Other

- kext injection

 

It sounds so easy from the pen of a software developer :D

But you lost this poor architect after the first line. I can figure out what you said, but not this week - houses to draw.

So unless you're feeling kind and have spare time (I can send you my config plist and relevant info), I'll probably clone my stuff onto a spare SSD I have lying around for now.

But in some ways I want to figure it out.

 

Because I run my GPU with a modified bios I also need a boot disk that allows the nano unaccelerated with the unmodded bios - for recovery purposes. Next week I'll bang in a helper GPU, might make it easier.

 

Thanks though! You've given me a solution.

pete

Share this post


Link to post
Share on other sites

It sounds so easy from the pen of a software developer :D

But you lost this poor architect after the first line. I can figure out what you said, but not this week - houses to draw.

So unless you're feeling kind and have spare time (I can send you my config plist and relevant info), I'll probably clone my stuff onto a spare SSD I have lying around for now.

But in some ways I want to figure it out.

 

Because I run my GPU with a modified bios I also need a boot disk that allows the nano unaccelerated with the unmodded bios - for recovery purposes. Next week I'll bang in a helper GPU, might make it easier.

 

Thanks though! You've given me a solution.

pete

Refer here for link to the spoof guide:

https://github.com/RehabMan/patch-nvme

Share this post


Link to post
Share on other sites

this is to confirm working Intel 750 400GB SSDPEDMW400G4X1 without any patches and additional kext. All you need is to change sector size to 4096 using DataCenterTool. That's it.

 

e/

what is weird performance measured by AJA is lower than using 512 sector size and JIMJ740's driver. Before using native Apple solution I was able to get about 2000MB/s read and 1000MB/s write, but now only 900MB/s and 900MB/s

Share this post


Link to post
Share on other sites

Hi all,

 

I'm wondering if someone can help me troubleshoot what's going on with my (attempted) setup.

 

I've been following nos1609's information earlier in this thread relating to 4k/4096 LBA format and its native compatibility with macOS.

 

I've purchased a 512GB Toshiba XG3 NVMe M.2 PCIe SSD (that is a lot of acronyms :rofl: ) and installed it in my motherboard (GA-Z170X-UD5 TH with F21 BIOS). The BIOS recognises the device under 'NVMe configuration' and displays some information but doesn't offer any configurable options.

 

In Linux, I have used smartctl and the nvme format commands to change the sector size to 4k. This has worked successfully.

 

However, when I try to boot into macOS, the drive is detected but AppleNVMe fails to initialise it, and the boot proceeds very slowly while it attempts to do this. Ultimately it fails, boot completes, and the OS is loaded. However, the disk can't be seen in Disk Utility. The verbose log can be seen below (bad photo sorry):

 

DES0cmc.jpg

 

Any ideas? Does anyone know if any other NVMe specific flags/features need to be set for macOS to recognise it properly?

Share this post


Link to post
Share on other sites

Hi,

I am running 10.12.3, with the 950 pro. Can I update to 10.12.4 and then use the script to generate a HackrNVME kext? Or I have to generate this kext before updating and then using Clover injection with it?

Share this post


Link to post
Share on other sites

Hi,

I am running 10.12.3, with the 950 pro. Can I update to 10.12.4 and then use the script to generate a HackrNVME kext?

Yes.

Share this post


Link to post
Share on other sites

Hi! Thanks Rehabman and pike for opportunity run NVMe. It works. But not everything is so good with updates. Exist good patcher Lilu. Maybe create PlugIn for this kext? For patching NVMe without patches tied for version macOS. 

 

Share this post


Link to post
Share on other sites

Hi! Thanks Rehabman and pike for opportunity run NVMe. It works. But not everything is so good with updates. Exist good patcher Lilu. Maybe create PlugIn for this kext? For patching NVMe without patches tied for version macOS.

Updates are easy:

- update the system

- after updating, create new HackrNVMeFamily

- remove old HackrNVMeFamily

- install new HackrNVMeFamily

- reboot

Share this post


Link to post
Share on other sites

Sorry guys, but I feel stupid... I can't do it.

 

I installed Windows and get the Path of the NVMe (WD Black 256Gb)

 

I also got a Gparted liveUSB, it shows my NVMe is 4Kb-capable, but when I type "nvme format -l 1 /dev/nvme0n1" (which is my adrice, it gets me a "permission denied" error. So, I cannot do it that way.

 

My frustration comes when I am not capable of follow this process... I get the NVMe path, but I don't what to do next...

Share this post


Link to post
Share on other sites

Sorry guys, but I feel stupid... I can't do it.

 

I installed Windows and get the Path of the NVMe (WD Black 256Gb)

 

I also got a Gparted liveUSB, it shows my NVMe is 4Kb-capable, but when I type "nvme format -l 1 /dev/nvme0n1" (which is my adrice, it gets me a "permission denied" error. So, I cannot do it that way.

 

My frustration comes when I am not capable of follow this process... I get the NVMe path, but I don't what to do next...

You need to use 'sudo'.

BTW, great news that the WD NVMe can do 4k LBA...

Share this post


Link to post
Share on other sites

You need to use 'sudo'.

BTW, great news that the WD NVMe can do 4k LBA...

I did with SUDO and it gave me the error.

 

What I do not understand is why it is capable of 4Kb, but then I cannot change it. Or at least I don't get it. I will try with OCZ tool...

 

On the other hand, I am very sorry as everyone do it, but I don't know how to follow your guide.. I have read it more times than The Lord of the Rings LOL but I cannot do it.

 

Sierra 10.12.4. I edited the config file with the Pike text. I can install MacOS. But when I restart from the USB (in order to select the NVMe to continue the installation) it just does not show... Why the installer can see it but clover doesn't?

 

Many thanks.

Share this post


Link to post
Share on other sites

I did with SUDO and it gave me the error.

Linux is case sensitive. 'SUDO' is not the same as 'sudo'. And in your OP, you didn't say you used 'sudo'.

 

 

Sierra 10.12.4. I edited the config file with the Pike text. I can install MacOS. But when I restart from the USB (in order to select the NVMe to continue the installation) it just does not show... Why the installer can see it but clover doesn't?

Maybe you forgot HFSPlus.efi, or you forgot to disable "fast boot" in BIOS.

Share this post


Link to post
Share on other sites

Linux is case sensitive. 'SUDO' is not the same as 'sudo'. And in your OP, you didn't say you used 'sudo'.

 

 

 

Maybe you forgot HFSPlus.efi, or you forgot to disable "fast boot" in BIOS.

I did it un lowercase, sudo.

 

Ok the other hand, I added HFSPlus to the UEFI64 and nothing...

Share this post


Link to post
Share on other sites

I did it un lowercase, sudo.

I can only respond to what you actually write.

If you write incorrect case, or without sudo, you should expect those reading to point it out as a mistake...

 

Ok the other hand, I added HFSPlus to the UEFI64 and nothing...

You should provide complete data and details on what you're doing.

Share this post


Link to post
Share on other sites

I can only respond to what you actually write.

If you write incorrect case, or without sudo, you should expect those reading to point it out as a mistake...

 

 

You should provide complete data and details on what you're doing.

Thanks for your support! Tomorrow morning I will start from scratch and post the output.

 

Thanks again!!!

 

PS: just to make it clear: I want to fresh install Sierra on a NVMe drive.

Share this post


Link to post
Share on other sites

Just uploaded the screens (sorry for potato quality): http://imgur.com/a/j7Cjx

 

When I list the NVMe with "sudo smartctl -a /dev/nvme0n1" I get this:

Nz7FLjZ.jpg

 

So I assume is 4Kb capable. When I try to format it, I get this message:

 

Kqro2eX.jpg

 

NVME Admin command error: ACCESS_DENIED (4286)

 

¿Any hint?

Share this post


Link to post
Share on other sites

NVME Admin command error: ACCESS_DENIED (4286)

 

¿Any hint?

Super obvious. You forgot 'sudo'.

Share this post


Link to post
Share on other sites

Super obvious. You forgot 'sudo'.

Even when the user is root do I need it?

 

Also tried with sudo and nothing.

 

Thanks

Super obvious. You forgot 'sudo'.

Even when the user is root do I need it?

 

Also tried with sudo and nothing.

 

Thanks

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×