[HowTo] Get full NVMe Support for all Systems with an AMI UEFI BIOS

Hi, everyone.

I’m trying to figure out if modding my BIOS is worth it for me. I’m running on an ASUS P9X79 LE, currently using SATA SSDs, but would love to try some PCIe/NVMe. (Actually, question here - I know the X79 boards don’t support NVMe, but do they support just regular PCIe SSDs? Do such a thing exist, and is that worth it?)

Working on grasping the OP’s instructions, but before I start taking the plunge - if I get a Samsung 950 SSD, can I plug that right into my PCIe x1 slot? Or am I bottlenecking myself with that one and I should get an adaptor for an x16 slot?

Do you think the performance gain would be worth it, or should I just wait until I build a new machine, one that would obviously have native NVMe support?

If I screw things up, can I just re-flash my BIOS from the flashback port, or is there a chance I’d do irreversible damage to my board?

Thanks for any help you can get me on this, it’s much appreciated.

@onReload :
Welcome to the Win-RAID Forum!

What do you mean with “support” and what is a regular" PCIe SSD?
If you want to boot off any PCIe/M.2 connected SSD in UEFI mode (no matter whether it uses the AHCI or NVMe protocol), you need to insert the related EFI module into the mainboard BIOS.

It is the latter.

The performance gain will be noticeable, when you are reading/writing big sized files (e.g. by working with video encoding), but you will not realize a speed difference while surfing in the internet or writing an eMail.

The addition of a natively not present NVMe or AHCI EFI module is very safe and yes, you can reflash the original BIOS at any time.

Regards
Dieter (alias Fernando)

Many thanks Fernando for your guide.
I have a Gigabyte GA-H61M-S1 motherboard, and bought a Samsung EVO 960 with a PCI adapter.
Gigabyte told me that it was not compatible with NVMe boot, but fortunately I found your forum.
Although modifying BIOS sounded frightening, your guide was very easy to follow.
I tried first to clone my old HDD with Samsung tools, but I was not able to boot from the image.
After a clean install (which I do with Clover, but now am not sure it was necesary) the SSD is working perfectly and made a huge difference in speed.
I have made a contribution so that you can keep your forum growing.
Ramon.

@RSI68 :
Hello Ramon,
welcome to the Win-RAID Forum and thanks for your positive feedback!
I am glad, that you succeeded and now can use the Samsung 960 EVO SSD as bootable system drive with your old Gigabyte GA-H61M-S1 mainboard.

Enjoy it!
Dieter (alias Fernando)

Fernando,

It might help a lot, to all of us, and to your extraordinary work, if win-raid makes a collection of modded BIOSes available to all people interested in implementing BIOS upgrade with 3 NVME moduls, and other smart BIOS updates and improvements.

@AquaMan :
I do not agree with you and I wonder why it would be a help for the Forum team, if we would follow your proposal. We would have wasted our time while writing our useless step-by-step guides.
No, the intention of this Forum has never been to make it as easy as possible for the users. We are interested in Forum members, who want to learn something and enjoy it to accomplish some tasks themselves.
By the way: There is no need to insert 3 NVMe modules to get full NVMe support. Look into the start post of this thread.

@Fernando

I tried to add a Samsung 960 EVO NVME drive as a bootable drive on my Asus Maximus VI Hero (Z87). The bios version I downloaded from Asus.com is 1603. I can upgrade my mobo bios (1301) to 1603 via EZ flash by using the original 1603 bios. However, I kept getting "security verification failed" messages via EZ Flash 2 when I tried to upgrade it with the modded bios (NVME added). I also tried USB Bios Flashback but the light blinked for 5-6 times and then it kept on forever… I am not sure what I did wrong, is there any advice on solving this problem?

@polaris
Check file name for EZ Flash (and ".xxx" ending as well).

@agentx007
The file name is M6H.cap, is that correct?

@agentx007
The problem is when I use EZ flash 2 in the mobo, I can upgrade the bios to 1603, no matter what file name is as long as it ends with .cap and it’s not modded (directly from asus.com). If the bios file is modded by adding nvme, it can’t be done due to “security verification failed”. Then I moved to USB flashback option, but never successeded no matter if the file is original or modded. Headache…

http://event.asus.com/2012/mb/USB_BIOS_Flashback_GUIDE/

If light started blinking, you should wait till it stops :slight_smile:

@agentx007

Thanks for the article. I’ve checked that too.

quoted from the page you shared: "If the light flashes for five seconds and turns stable, USB BIOS Flashback is not operating properly. This may be caused by improper installation of the portable storage device, an error in the file name, or incompatibility in file formats. If this is the case, restart the system until the light clears, and check the file name and format."

I had exactly the same issue here…but I could not find a way to solve it.

Hello again.

Is there any chance to add NVMe 1.3 module?
Check out this news - new NVMe controllers!
Link: http://www.anandtech.com/show/11764/sili…ssd-controllers

Is it possible to use these M.2 NVMe 1.3 drives on modded motherboards with NVMe 1.2 module?

imgp3836.jpg

Hello

How were you able to do that, could you show me how you did it or do you have the mod file?
I also have a ASUS Maximus V Formula, but I can’t get it to work.

@Thu :
Welcome to the Win-RAID Forum!

Whom did you ask that?
Regards
Dieter (alias Fernando)

Been reading about the latest changes in the latest EDK-UDK NvmExpressDxe driver and unfortunately I could not find
anything regarding the new 1.3 Spec. But this is what I found:

Add BlockIo2 support.
Move/Replace NvmExpressHci.h definitions to Nvme.h.
Enable 64-bit PCI DMA if the controller supports 64-bit DMA addressing.
Notify NVME HW when system reset happens

Heres the latest from the Master branch:
https://www.mediafire.com/file/ksaiay04r…mExpressDxe.zip

Edit: Was trying to compile the Ovmf package on the same edk2 master package that I compiled the last Nvmexpress driver from and this time is compiled out at 16 kb less at 27 kb instead of 43 kb!

As far as I can tell they were both compiled with Release X64 settings with VS2015 and both packages referenced the same MdeModulePkg that includes the Nvmexpress source code so I have no
idea why its so much smaller this time! Possibly Ovmf optimizes the Nvmexpressdxe file to fit in the OVMF firmware file. Might be useful for bios’s with limited rom space.

Here it is:
https://www.mediafire.com/file/nex21dohg…essDxe-ovmf.zip

@davidm71 :
Thanks for your report about the NvmExpessDxe EFI modules you found within the latest EDK2 Master Package and for the links.
Do you think, that it is worth to offer any of them them within the start post?
What we certainly need is someone, who is willing to test them.

I will test it… maybe today :slight_smile:

But first I have to upgrade my Windows 10.0.16273.1000 to build 10.0.16275.1000.
This 16273.1000 is buggy :stuck_out_tongue:

Update…

Stage 0 - Windows Updated / Cleaned / Benchmarked for old NVMe version.
Stage 1 - The new NvmExpressDxe.ffs file is lager (43050 Bytes) than old version (29280 Bytes), but I create a new modded Bios for ASUS P9X79 Pro.
Stage 2 - Updating the BIOS with new NVMe Module - soon…

@Fernando ,

Yes I definitely think its worth posting them at the start of the thread but would mention they are untested though I have the highest confidence they should work. If anyone else can join the effort and test them as well the better. I’ll do what I can but very busy this week.

Thank you

Full NVMe 1.3 Specifications: http://www.nvmexpress.org/resources/specifications/