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

I did already expect this problem.
You cannot flash the modded BIOS the normal way into the BIOS chip of your ASUS laptop because of the ASUS specific BIOS in-box protection. You will have to use the AFU Utilities according to >this< guide written by our BIOS Guru CodeRush.
Before you start, you should make a backup of your important data.
Good luck!

Wowā€¦ I think this is where my journey ends. Reading the release notes and the post you referred and Iā€™m having a hard time understanding it all. I get that I got to run the dos commands, but it makes reference I have to change the file extension to .ROM which makes me VERY uncomfortable because if this program simply replaces the BIOS with whatever I ask it to, with no checks, is the BIOS going to be okay with the extension being changed like that or am I going to brick?
Couple that with the fact in the end the person writing the article says AFU is not a reliable flasherā€¦ has me concerned to say the least.
If it were a simple replace one BIOS with another and if it doesnā€™t work, flash it back, fine but this is going a lot farther that I comprehend or am comfortable with so I think Iā€™m calling it here. Good luck finding someone who can test that new .ffs on an aptio board with a newer NVMe.
I do appreciate your kind words Fernando, but this has suddenly went from exciting, simple and cool to very complicated and scary.

EDIT by Fernando: Unneeded parts of the fully quoted post and unneeded blank lines removed (to save space)

@Brighttail :
Renaming the BIOS file extension from *.211 to *.ROM is not a problem, because the BIOS data themselves are not touched by this procedure.
The really problematic task is flashing a modded BIOS into any Mobile system (flashing a modded BIOS into a Desktop system is much less risky). At the end you may get a bricked laptop.
So I really understand your decision.

Well the good news is I do have a z97-Hero at home that isnā€™t NVMe but does have a UEFI BIOS. I have an AHCI M.2 running in the slot at only x2. I figure if i can get NVMe working on it i have a PCI-e to M.2 card I can put in my other x4 slot and may be able to get the NVMe working on that desktop machine fairly easy. At least the BIOS can be flashed much more easily.

Concerning the AFU BIOS flash write up. If I understand it correctly there are different versions of the program. As I have WIn 10 64-bit, iā€™d use the afuwinx64 folder with afuwinx64.exe as the file Iā€™d be using.

It says to boot up on a DOS boot disk but wouldnā€™t a command prompt from a win 10 boot disk work just as easy? From there I would use the command afuwinx64.exe ā€œMyBIOSnamā€ /P /B /K and that should be it?

Iā€™m thinking this is the procedure that will do the trick. Is this about right? Thanks.

@Brighttail :
The topic of this thread is ā€œHow to get full NVMe support fol older systemsā€, but not ā€œHow to get a modded BIOS flashed onto an ASUS laptopā€.
Please post your related questions into >this< thread.
CodeRush knows much more about this topic than me.

Welp I figured it out and got the Modded BIOS installed through that link you offered. Unfortunately, I canā€™t get the UEFI boot option for my USB drive. I did remove all other drives and only had the Samsung 950 Pro installed. Reading in a few other of the threads here it seems that Iā€™m not the only one who had tried (and was unsuccessful) with the Asus G751JT.

On the plus side I have learned a bit more and may try it with my Asus z97 mb soon. :slight_smile:

@Fernando
The 2015 and 2017 versions are identical. They both share the same code. If you found some differences then this could be due to the fact that you compared compiled versions. So if maybe a newer compiler or other optimizations were used they donā€™t have to share the same compiled end result even if it was compiled from the same source.
I am going to test the new NVMe module with my 960 Pro as soon as i am back homeā€¦

ā€”
@Brighttail

Flash with a USB stick using RuFus (FreeDos option) and use AFUDOS /GAN. Never had any problems with this solution. If you fucked your BIOS in the first place cause something went wrong ā€¦ well ā€¦ why are you trying it anyways? Take the risk (normally you will do this on an old system :p) and have some fun if you really need to switch BIOS chips. This will just make things more interesting and you will learn something :slight_smile:

ā€”
@davidm71
Thanks for testing the different drivers! Which GCC version did you use? I also think that you should test this option with some real world benchmarks like using Premiere Pro, copying, compiling, etcā€¦ something that has a real value instead of a synthetic copy benchmark thats only good for a rough comparsion between drives.

Also: What do have in the works? ;>

ā€”
Correct me with i am wrong: but as far as i understood the NVME efi driver is only used at boot time. As soon as the OS loads its driver this one takes over and handles ā€œeverythingā€. So the DXE is only used at boot time and to intialize the drive?

@e.v.o

Thanks I appreciate it. I was using Visual Studio 2015. Its always tricky to compile these source files because theres so many compatibility issues with each release and each version of compiler. I almost gave up because after I end up with like 5 different compilers all stepping on each other. As far as what I am working on I would rather not say at this time except its really cool. Anyhow thats interesting what you say about the driver level optimizations. Was worth a try though.

Yes, that is correct. As a consequence a newer/better DXE driver may have a positive impact on the boot time and the detection of a certain NVMe Controller, but I do not really expect any boost of the SSD performance by changing the DXE module.
At the beginning of my testings on this topic I have compared the NVMe performance of my Z68 system after having inserted different NVMe modules into the BIOS (the 3 ones from another ASUS BIOS and the NVMeExpressDxE from the EDK2 team) and didnā€™t see any noticeable difference regarding the READ and WRITE scores.

@e.v.o
This machine is two years old and I donā€™t use the laptop for much. I have an extra Samsung 950Pro lying around so I thought Iā€™d give it a go.

I was able to use the AFUwinx64 from a command prompt and flash the /p /b and /k. All copied over with no issue and it is showing the correct version and size of my modded BIOS. Sadly I just am not seeing the option for UEFI for my USB. So either I modded it wrong, I didnā€™t copy it over correctly (though it looked like it did from what I saw in the other topic) or something else happened.

Iā€™m home now and Iā€™ll give the FreeDOS a chance and use the /GAN option.

EDIT Gave FreeDos a shot. It looked like everything went through but booting up I see my Sandisk USB but nothing with a UEFI BIOS option. I see the Samsung 950 there but without that UEFI option I can install onto the drive but wonā€™t be able to boot from it. :frowning: But I gave it a go.



I Fernando ty for you reply. Iā€™ve modify the BIOS for the ASUS P9X79 PRO mainboard, with the UEFITool vrs. 0.21.5 and the file NvmExpressDxE_2.
If you want i can attach the RAR file that contains the modified BIOS, and i ask you if you could give a check to the attached file.

TY

P9X79PRO.rar (4.3 MB)

@mak387 :
The modded BIOS looks fine.
Good luck!

How did you check it?
Have you already tried to boot in UEFI mode off a FAT32 formatted USB Flash Drive containing your desired Win10 image? I recommend to use the tool Rufus for the creation and to choose the option "GUIMode Partition Table" as "Partition Scheme".

I have a IPISB-NK (Lavaca3-SB) motherboard from HP in a couple AIO systems. I believe it is AMI UEFI Aptio IV H61 chipsetā€¦ I have the mini PCI-e slot available on it. 1 is a half mini for the wifi card and the other is the regular mini pcie usually used for a TV tuner card that I will never ever useā€¦ Is this mod going to allow me to use the NVME SSDs in that slot? I am only getting around 250MB/s on my SATA Samsung 850 Evo 1TB SSD (I guess its limited to 3Gbps in my systemā€¦ PCIe is Generation 2 speedā€¦, but I think my MXM is Generation 3ā€¦ but maybe that is just the graphics card itself)ā€¦ My current bios is attachedā€¦ Or is this for the actual SATA port? to make it SATAe?

sp70474.rar (4.38 MB)

@killercurt:
I just checked your attached BIOS file. Result: It is an AMI UEFI BIOS and you should be able to insert the NVMe EFI module according the start post.

Since we do not know the details of your mainboard, you should better look into your manual or ask the HP Support.

I guess I will try it out one day. Need to buy a NVME SSD to play withā€¦ Also if I would start doing the bios mods, I may as well do the AMI UEFI Bios updates, but they are confusing, need to read and learn more. Thanks

I checked it via the size. The modded BIOS was slightly bigger than the original by a few kilobytes but it was under the size limit as I didnā€™t get an error. My installation USB has been properly formatted with Rufus, FAT 32, ect and I tested it on another computer to ensure I got the UEFI option and I could see both the UEFI and the non-UEFI option.

I removed all the devices from the laptop, including the DVD drive and only had the Samsung 950 NVMe drive in. I can see it in the BIOS but I donā€™t get the UEFI option. :frowning:

Hello! I found this modified version of the P8Z77-V Deluxe since it had many options, which I used as a base to add NVMe support and it has been working like a charm so far (yeah, itā€™s a mod of a mod). However, I canā€™t seem to find the WOL option on the BIOS anywhere and I think the original editor removed it by accident and I canā€™t seem to find a way to add it back in. Does anyone know how you can unlock the function again? It used to be working on the original unmodified BIOS just fine.

Z77VD.rar (4.42 MB)

On my Asus MB (X99A-II) in the Bios PCI devices power On must be Enabled , their is no mention of WOL in the Bios but have a look at this thread on Ten Forums for more info on how I set it upā€¦
https://www.tenforums.com/network-sharinā€¦html#post808242

Thank you, but unfortunately thatā€™s what I meant, the option Iā€™m missing on the BIOS is Power on by PCIE. Itā€™s sometimes called differently but in this case itā€™s what I was looking for.