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

@FlameEye6 ,
You must have a corrupt bios if your WOL option doesn’t come up. I would bet that needed network ffs modules were deleted to make space for mods thus no more WOL.

poweron.jpg



EDIT by Fernando: Unneeded fully quoted post removed and inserted image replaced by a much smaller sized directly attached one (to save space within this thread, the inserted screenshot can easily be enlarged by cicking onto it)

@Brighttail :

If the modded BIOS should be bigger sized than the original BIOS (even 1 Byte size difference makes it unusable), you should not even try to flash it. The entire size of the modded BIOS file has to be absolutely identical with the size of the origina BIOS file.


@FlameEye6 :
Welcome at WinRAID Forum!
I am happy, that you got already support by other Forum members.
Good luck!
Dieter (alias Fernando)

I Fernando i try to update my BIOS with the modified one by means of the ASUS UEFI BIOS Utility, but when i do the first loading (Do you want to read this file?) i click OK and a new message "Security verification failed" appears. How can i proceed to update the BIOS? Because this error with the original bios is never appears.

Ty

@Fernando

Hi Fernando, i try to update my BIOS with the USB Flashport. It seems work fine. As soon as i recive from AMAZON the SSD 960 EVO i install it in the Hyper M.2 X4 MINI Expansion Card, and i write if i’ll found some problem.
For now TY. If the procedure works fine i’ll do a donation.

It is the in-box ASUS security mechanism, which prevents, that you can flash a modded BIOS. If you want to flash a modded BIOS, you have either to use the ASUS own USB Fashback feature (if your mainboard supports it) or to use the AFUTools.

Good luck!

Yeah I got that. Sadly I could never get the sizes exact. Even when I would delete items (as you suggested going to the other page listing the items you could delete), one wouldn’t be enough and I could not find two files that would equal the exact same size as the portion I inserted. So I guess it is a bust. Windows will read the file as 6.29MB but the actual size of the modded is 6,293,504 the non-modded size is 29kb smaller but I couldn’t find a 29kb file(s) to delete.

What is interesting is the first time I tried this, because it was larger, I would get the "file size limit" error and used your smaller version which I never got working. This time I used the 29kb version and never got that message so obviously I am missing something (not surprising as i’m still a very much novice at this) Not a big deal, I can use the Samsung 950 in my work computer just perfectly.

I snagged an SM951 AHCI 256gb drive from my downstairs "graveyard" and it works just fine in my laptop. Not NVME but much faster than the SSD i had in there. I also have an SM941 too if this drive fails.

Anyway thanks for the help, it was an interesting few days. I learned more than I had known before. I just get the feeling that APTIO BIOS are more finnicky and more difficult to do all this with. Definitely more steps.

@Brighttail :
Just to make it clear: If you remove or insert any module into a BIOS by using a BIOS tool like the AMI Aptio MMTool or CodeRush’s UEFITool, the BIOS size will not be changed! You should never try to do that with a Hex Editor!
The available BIOS tools automaticly will compensate the removal of a module by decreasing the compression rate of the other BIOS modules. Vice versa the compressio rate will be automaticy increased by the MMTool or UEFITool, if a module will be inserted into the BIOS.

How very interesting. I used the BIOS tool you suggested in your write up and did the steps as shown. I even redid them when you suggested using the MSDOS flash tool but first making a copy of the existing bios called BACKUP.rom and modded that ROM and flashed it. The sizes of the two files are different for some reason. I’ll go back and try it again. I’ll make the backup, mod it by simply inserting that one FFS of yours, name it modified.rom and use the DOS flash tool to flash it using the /gan option.

EDIT Okay I used DOS to verify the before and after sizes. You are right they are the same using the method described above. That being said, booted into BIOS with only the NVMe drive in and my freshly formatted USB using FAT 32, ect. My desktop sees the UEFI version on the flash drive but the Laptop doesn’t see it nor does it give me the option to choose it. I can see the Samsung 950 Pro drive just fine.

I believe your system works. I have seen many on the boards use it and have it work. I have also seen someone with the exact same laptop model I have had say they tried it all and couldn’t get it to work so my guess is there is something else in the BIOS file preventing the APTIO BIOS from seeing it. I wish Asus would have given us a BIOS that was UEFI like they did with the next generation of G75x laptops. :slight_smile:

If someone give me the files, i can try to test it on my system.

@BrN :
Welcome at Win-RAID Forum and thank you for your willingness to test the new NVMeExpressDxE_3 module.
Please test the attached NvmExpressDxE_3.ffs module. It has been finally customized by me today. Source file was the file named NvmExpressDxe-64.ffs, which had been presented by our Forum member e.v.o (look >here<).
Please give us your feedback and don’t forget to mention the details of your mainboard (manufacturer/name/chipset).

Good luck!
Regards
Dieter (alias Fernando)

EDIT: The attached file has been removed, because it obviously didn’t work as it should.

I’ve updated my bios using this file, but unfortunaly, it doesn’t find my disk.
When i flash back my old modded bios, my disk if find and system boot up :frowning:

I’ve made a fast sign of my system for information.

@BrN :
Thanks for your test and your quick report!

How did you update your BIOS and which was your source file (the original BIOS or the already modded one)?
The NvmExpressDxE_3.ffs file, which was attached to my last post, has another GUID than the previously offered Nvme EFI modules and is only usable for BIOSes, which doesn’t contain any NVMe module. If you want to update an already existing Nvme EFI module, you have to use an *.efi file and replace the PE32 "body" of the existing NVMe module.

@BrN :
Attached is the NvmExpressDxE_3 module with the GUID 9A 47 13 C2 (the same as the modules, which have been offered here before).

EDIT by Fernando: The attached file has been removed, because it obviously would not work.

Can you explain what you customized? Sorry for asking if you already explained it … don’t had that much time the last days and it won’t get better till friday :confused:

You can easily check it by opening the file with a Hex Editor and compare it with the file you had posted.

@Fernando
Hi Fernando,
I attempted to test the NvmExpressDxE_3.ffs driver also. I had previously used the AMI Aptio MMTools v4.5 to insert the NvmExpressDxE_2.ffs module, but had to remove the network related drivers as CodeRush suggested. Using CodeRush’s UEFITool I did not get the “File size exceeds the Volume size” error when inserting NvmExpressDxE_3.ffs or NvmExpressDxE_2.ffs. But, I did notice a difference after inserting NvmExpressDxE_3.ffs. After inserting the module “unknown section” is shown under “user interface section”. Your screenshot in the first post did not show this, and I didn’t want to take a chance without knowing exactly where the module came from. I attempted to attach a screenshot. Let me know what you think. For now I’ll try the modded BIOS using NvmExpressDxE_2.ffs to see if it works, because I did not get the “File size exceeds the Volume size” error as I did using MMTools v4.5.

|addpics|f9m-2-28f9.jpg|/addpics|

@Paulos7 :
Thanks for your information. It was a very good idea to post your find before trying to flash the modded BIOS.
You are right - the related FFS file hasn’t been correctly prepared by me for a proper insertion.
Manwhile I have slightly customized the NvmExpressDxE_3.ffs file with the GUID 5B E3 BD F4.
As you can see here, the UEFITool doesn’t show anymore the “unknown section” after the insertion of the module (test BIOS was the latest for the ASUS P8Z68-V):

NVMe-GUID-5B-insertion.png


Please test the attached FFS file and give us your feedback.
Thanks in advance!

NvmExpressDxE_3_GUID-5BE3BDF4.rar (14.6 KB)

@Fernando
I inserted the module and noticed that instead of "unknown section" I now have "version section", as your screenshot shows. I noticed that NvmExpressDxE_2.ffs does not add this line when it is inserted. Is this "version section" line expected?

@Paulos7 :
Yes, I had added the “version section” to be able to identify this module as version 3 by opening the modue with an Hex Editor, but maybe it is better to do the test with an FFS file, which doesn’t contain this additional “version section”.
Attached is the “clean” NvmExpressDxE_3.ffs module GUID-5B E3 BD F4, that means without “version section”.
Here is the related screenshot:

NVMe-GUID-5B-insertion_Pic2.png



Good luck!

NvmExpressDxE_3_GUID-5BE3BDF4.rar (14.6 KB)

Don’t forget to update the checksum of the FFS if you updated just the version section or create a new FFS with GenSec and GenFfs.
Also i think UEFITool isn’t capabale of reading (parsing) the version section of a FFS file. Maybe @CodeRush could clarify this?