Jump to content

NVMe Express digging


jan-munich
 Share

117 posts in this topic

Recommended Posts

i think you refering to :

http://www.overclock.net/t/1571271/tutorial-how-to-add-nvme-support-on-any-ami-uefi-bios-with-an-intel-chipset

 

that just works for ami uefi which are many bios but not all of them.

 

 

My bios supports nvme already, but it seems it has troubles with uefi nvme boot / also not detecting the ssd properly in bios -> but in boot selection screen. (had it running on ubuntu last week)

 

im not sure if flashing the bios actually helps to encounter that issue? anyone tried already?

Link to comment
Share on other sites

does anybody know, how can i check the TRIM status for my sm951 NVMe, it is only recognized by Disk Utility.

 

thanks- ;)

TRIM is a part of the ATA command set and does not apply to NVMe. The equivalent for an NVMe device is the unmap function of the data management command.

 

Unmap is fully implemented by the NVMeGeneric driver. In fact it is the reason that partitioning a Samsung NVMe device takes so long - it unmaps the entire partition. Intel has a faster unmap implementation.

  • Like 1
Link to comment
Share on other sites

TRIM is a part of the ATA command set and does not apply to NVMe. The equivalent for an NVMe device is the unmap function of the data management command.

 

Unmap is fully implemented by the NVMeGeneric driver. In fact it is the reason that partitioning a Samsung NVMe device takes so long - it unmaps the entire partition. Intel has a faster unmap implementation.

then it works perfectly, thank you, nice job.

Link to comment
Share on other sites

Has anyone got this to work with Yosemite. I have an ASUS X99 build with a functioning Clover Yosemite hackintosh that won't upgrade to el capitan successfully (however is great otherwise). Clover loads the driver at end of boot sequence (if I leave in folder kexts/other) however disk utility is not recognising my intel 750 nvme ssd (1.2tb) - the drive is visible in clover just not in mackintosh (the intel nvme has windows installed on it)

Link to comment
Share on other sites

Has anyone got this to work with Yosemite. I have an ASUS X99 build with a functioning Clover Yosemite hackintosh that won't upgrade to el capitan successfully (however is great otherwise). Clover loads the driver at end of boot sequence (if I leave in folder kexts/other) however disk utility is not recognising my intel 750 nvme ssd (1.2tb) - the drive is visible in clover just not in mackintosh (the intel nvme has windows installed on it)

 

maybe thats because of the requirements of the bundle libraries inside the driver? (not sure if thats actually a problem..)

 

have you tried to run the cli:

./nvme-cli list

to see if your device gets detected via the driver?

post-1615419-0-31556800-1450523145_thumb.png

Link to comment
Share on other sites

not at the moment...

 

i will dig in if i get a nvme m.2 (2260) ssd...

but there is no one atm available, so you need to wait till anyone of the devs get a nvme ssd...

 

Cheers

 

Ramalama,

I'm trying to send You PM message, but Your inbox is full (i think).

Could You contact me?

Link to comment
Share on other sites

maybe thats because of the requirements of the bundle libraries inside the driver? (not sure if thats actually a problem..)

 

have you tried to run the cli:

./nvme-cli list

to see if your device gets detected via the driver?

Thanks. When I run this I get:

nvme-list: libudev not detected, install and rebuild. 

Any thoughts on where to from here - is it an el capitan vs yosemite issue or something else?

Link to comment
Share on other sites

  • 4 weeks later...

Has anybody tried the Tinker Tool System 4 option "Let external volumes mount before log-in" when trying to mount from NVMe? Because NVMe is recognized as a external volume this could be interesting to try. It seems to be disabled by default.

As my X99 board is in service I can not try it by myself in the moment.

Link to comment
Share on other sites

Has anybody tried the Tinker Tool System 4 option "Let external volumes mount before log-in" when trying to mount from NVMe? Because NVMe is recognized as a external volume this could be interesting to try. It seems to be disabled by default.

 

As my X99 board is in service I can not try it by myself in the moment.

 

What for exactly? If you put the driver in clover not in SLE you can boot fine with NVME and everything works OOB?

 

If the drive would not get detected in the boot process the OS would not even load to the login screen.?

Link to comment
Share on other sites

Hi Jan,

 

my impression is that a lot of people still have problems to boot from NVMe, specially unreliable booting. See several threads here and at Tony. People already sell their 950 Pro to get a AHCI 951. You can be lucky if everything works at your system.

 

I myself could only boot once from my 950 Pro NVMe on Yosemite, never again. Cant investigate further in the moment (my X99 is in service).

 

As I figured out, the disks were not mounted when booting from NVMe, very late during boot, see attached screenshots compared to a working boot process. "BSD root: ... + hfs: mounted (system disk)" is missing.

post-1621613-0-03738500-1452776799_thumb.jpg

Link to comment
Share on other sites

Hey Sammlersen,

 

that clarifies it, well I also had problems with NVMe Boot which originated from my bios @ gigabyte Z170. So after a little back and forth chatting with their support they pushed 2 beta versions and the second now works fine (Fast Boot + Skylake APCI Register fix included in the bios)

 

But well im running skylake with on-board m.2. Maybe the X99 have some more problems.. :/

 

 

To quickly state the problems I had before the bios fix:

 

1. No boot if I disabled other sata devices in bios.

2. Usually using my wrong boot device (sata) to boot.

3. Could randomly find my UEFI boot on NVMe (So thats why i contacted gigabyte, to tell them their UEFI boot on NVMe is corrupted..)

 

In the meantime i came with an itermediate solution until gigabyte fixed the bios :

 

Installing clover onto a sata boot device boot clover from there and then select my nvme device in clover.. this worked fine and 100%.

 

Finally i got rid of this workaround as the bios provided fixed it for me. - Kudos to gigabyte support even if they told me not officially supporting hackintoshes they helped me out. (Well it was UEFI boot issue anyway..)

 

 

Regards

Jan

Link to comment
Share on other sites

I have added some information to my former post.

 

I´ve already tried most of the thing on your list, specially to load EFI from a normal SSD and switch to NVMe system in Clover - no success. I did not try to enable all volumes in BIOS. This normally stops successful booting.

Link to comment
Share on other sites

But you installed the NvmeGeneric.kext to kexts/Other on your SSD right? What if you boot the osx installer with the kext in place do you see the drive?

 

From your screenshot I can't see the driver is loading. Have you verified there is a log output and the nvme driver gets loaded properly?

Link to comment
Share on other sites

Only the NVMe disk was installed, the clover screen appeared, everything looked pretty much the same as the normal SSD boot until the very end and mount process.

 

But I´ve no idea whether the driver was loaded. I had the driver installed in S/L/E and later in S/L/E and Clover folder. Other user reported to have still problems when the driver was only installed in Clover folder.

Link to comment
Share on other sites

you should see this in your debug.log / system.log or clover boot log:

14/01/16 14:34:14,000 kernel[0]: NVMeGeneric: com_MinnowStor_NVMeDisk::start
14/01/16 14:34:14,000 kernel[0]: NVMeGeneric: This driver must be licensed for commercial use.
14/01/16 14:34:14,000 kernel[0]: NVMeGeneric: This driver may not be posted, distributed, bundled, shared, or sold without the written consent of MinnowStor.com
14/01/16 14:34:14,000 kernel[0]: NVMeGeneric: This driver is free for personal, non-commercial use.
14/01/16 14:34:14,000 kernel[0]: NVMeGeneric: No guarantee of performance, suitibility, or warranty expressed or implied. Use at your own risk.
14/01/16 14:34:14,000 kernel[0]: NVMeGeneric: Copyright 2015 MinnowStor, all rights reserved.
14/01/16 14:34:14,000 kernel[0]: NVMeGeneric: devid a802144d subdev a801
14/01/16 14:34:14,000 kernel[0]: NVMeGeneric: desc SM951 512 GB SSD [m.2]
14/01/16 14:34:14,000 kernel[0]: NVMeGeneric: unable to map BAR4 resources
14/01/16 14:34:14,000 kernel[0]: NVMeGeneric: MSICAP: 86
14/01/16 14:34:14,000 kernel[0]: NVMeGeneric: DATA: 4077
14/01/16 14:34:14,000 kernel[0]: NVMeGeneric: Using INTX interrupts
14/01/16 14:34:14,000 kernel[0]: Got boot device = IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP09@1D/IOPP/PXSX@0/com_MinnowStor_NVMeDisk/com_MinnowStor_NVMeDiskStorageDevice/IOBlockStorageDriver/MinnowStor Samsung SSD 950 PRO 512GB Media/IOGUIDPartitionScheme/Untitled@2

If not the driver is not loaded properly. There is no need to copy the driver to S/L/E but just in clover / kexts/others. at least for me.

 

Make sure you have the appropriate folder structure in clover either kexts/other or 10.x folders by setting the proper OS in the clover boot menu / config.

 

I think its the easiest way to test by creating an USB stick with the OS installer and appropriate kext files. Boot into setup see if drive is detected as a starter.

Link to comment
Share on other sites

  • 4 weeks later...

For what it's still worth, I don't get to boot my NVMe drive with the kext installed in S/L/E, tried on two different installations. Injecting the kext with Clover is the only working way with me. Occasionally getting a KP at boot, but usually it boots fine.

Link to comment
Share on other sites

Well, totally makes sense that in SLE it doesn't work properly.

 

SLE loads Kernel extensions after mounting the root partition (otherwise he couldnt access the SLE folder..), if your root partition can not be found there is no way SLE drivers will be loaded.

 

You have to use clover in 10.x folders and or Other folder. *mentioned before*

 

My 950Pro runs flawlessly after contacting Gigabyte support for releasing an appropriate bios.

From what I can tell if the driver/ssds not working properly blame your mainboard manufacturer for it.- gigabyte support was outstanding they even provided the skylake register fix with the new bios when I asked them to do so.

 

Regards

Link to comment
Share on other sites

Well, totally makes sense that in SLE it doesn't work properly.

 

SLE loads Kernel extensions after mounting the root partition (otherwise he couldnt access the SLE folder..), if your root partition can not be found there is no way SLE drivers will be loaded.

 

You have to use clover in 10.x folders and or Other folder. *mentioned before*

 

My 950Pro runs flawlessly after contacting Gigabyte support for releasing an appropriate bios.

From what I can tell if the driver/ssds not working properly blame your mainboard manufacturer for it.- gigabyte support was outstanding they even provided the skylake register fix with the new bios when I asked them to do so.

 

Regards

Isn't there the kernel cache that with any logic should be loaded still using (U)EFI drivers? This includes an NVMe driver. The kernel cache in fact seems to be loaded, with manually installed kexts (FakeSMC, USBInjectAll, ...) showing up in the kernel log. So it doesn't quite make sense to me, but whatever, there isn't much against injecting a few kexts, except 'neatness' perhaps.

 

I did just buy an SM951 as a replacement, but haven't yet sent back my 950 Pro, and I'd prefer to get the 950 Pro working reliably, as it IS a noticeably better drive. So I'm curious, what was your message to Gigabyte? I'd love for ASUS to fix this for my board (Z170 Pro Gaming) too, but I wouldn't know how to phrase that, or even argue that the problem is with their BIOS. Skylake APIC option is already there.

 

EDIT: Right, saw your earlier post, all you said was M.2 NVMe UEFI booting was shaky? In general, Windows too? And then all issues for OSX were fixed too? And just to be sure: by flawless you mean no issues at all with logoff/shutdown/restart/wake? To see if there maybe was some isolated driver change in your BIOS regarding NVMe, I extracted all UEFI executables from both BIOSes (F3 and F4c, last one fixed the issue for you I suppose, 'improve M.2 device compatibility'), unfortunately about 35% of those have changed, and not just by some single byte, more unfortunately not including any directly identifiable NVMe driver, so no easy clues there.

Edited by Brabbelbla
Link to comment
Share on other sites

Well guys from what I can tell is that many manufacturers lacking a proper bios support for NVMe. In particular UEFI boot of NMVe.

 

What you still can do is installing clover to a sata drive for reaching clover then inject the driver and load your Nvme disk.

(this was a workaround I used whilst UEFI boot wasn't working properly on my board.)

 

But i guess the general tendency is that manufacturer focus more on their new boards therefore the lack of proper support of UEFI NVMe could take a while to be solved.. if solved at all.

 

my point is that a drive after is being fully recognized it should work as bootable or non bootable , what ever the user decide to do with it

 

Well as you say.. fully recognized. my bios didnt recognize my ssd at all.. than after the first beta bios. it still didnt recognize it but gigabyte broke it totally even in the boot selection. After applying the newest beta now i still cant see my drive in bios but in the boot manger and UEFI boot process has been fixed..

 

My drive is definitely 100% reliable. So i guess the Z170 series are generally better supported than older chipsets.

Link to comment
Share on other sites

 Share

×
×
  • Create New...