[Guide/Deprecated] Flashing modified AMI Aptio UEFI using AFU

Here’s how I used this method to modify bios t871f50-Guide-How-to-get-full-NVMe-support-for-all-Systems-with-an-AMI- UEFI-BIOS.html and so from ASUS official site I downloaded the 0601 second bios version and inserted the Nvmexpress dxe 3 module using the uefi tool and it was all successfully and verified by the instructions from the link and I renamed this file into bios3.rom and he was 8.194 kb. I hope this is about bios modification. Using the rufus I formatted the usb drive and inserted an earlier version of the afudos on which the GAN command is running. I also inserted this bios file into that and that was it. I dropped that usb on Asus’s dashboard h81m-ri launched and typed “afudos bios3.rom / GAN” and started to load the file, and after a few moments I dropped the message “rom file size does not match the existing bios size.” What should I change or do it would match the size of the bios because I think that I made a step with modification and verification done well and the GAN command works so that only that size of the bios paravi problem

>Here< you can find some possible reasons for this message and how to solve the problem.
If it shouldn’t help, I recommend to ask CodeRush.

on that forum I did not find the answer and they had such a problem but did not resolve it so I just sent a private message to the code rush user in nadi that will help me


You have to use the bios.rom as is from the UBU process. Only renaming the existing *.cap file to bios3.rom spits out exactly this error message. You can also open the *.cap file in UEFITool and extraxt its body to a rom file working with afudos.exe.

@CodeRush Hello

I have the AB350M Pro4 rev 1.01 and it refuses to update with “No Image File Detected” when using the vanilla methods for us consumers directly from the manufacturer. I also read that you can flash from the UEFI Shell?

No matter how hard I try I can NOT update this boards bios. It has AMI and is Aptio V enabled. I tried using the latest Aptio V AFU AFUDOS from AMI. I created a 32GB USB flash drive using Rufus and FAT32 with FreeDOS, and put all the unmodified files for this board in the root (I have also tried a gazillion other drives though). However, afudos 3.30 /P /B /K fails with a “22 - Error: Problem allocating memory”. NONE of the files from Asrock come with the .ROM in the name though and I am wondering if I am supposed to rename the stock files to something like 330.rom? Maybe? They all come looking like “AB350MPR43.30” so I just shortened it to 3.30 to make it easier to type. And no it didn’t work with the full stock file names either. At a complete loss here, lol

Everything is brand new except the board came with bios 3.10 so it’s probably 7 months old or so and never used as of yet until today. It has a new out of box today A8-9600 and 16GB of new DDR4 from TeamGroup. The BIOS runs great and it boots FreeDOS perfectly. I have now spent exactly 18 hours straight trying to flash it and I am finally coming here because the official forums are useless.

Any ideas on how to get past this Error please? I have NOT installed Windows yet, or any OS as of yet because I am trying to get the board updated for a new Ryzen APU first and foremost, which requires newer BIOS versions 3.40 or above (again its on 3.10). This board refuses to update no matter what I do. Damn near ready to toss it in the trash if I cant get it updated. lol

Thanks for any help.

Hello All,

Need some simple help. I have opened and updated the Bios file on an AMI UEFI based HP 550-153w desktop system, Haswell Core i3, HD 4400 graphics and I have loaded the modules to support a Samsung PM961 currently in secondary SSD drive mode via PCI-E X 16 (M.2 2280 card). I’d like the M.2 to be boot but as it has already been covered the Bios must have the included Samsung modules. I have updated those along with all the firmware for the Intel/Realtek based Haswell including SATA/RAID and Haswell 1F microcode. The Bios image shows correctness in MMTool and UBU for my updates, however…

I cannot get around the flash effort returning ‘BIOS image did not pass validation’ when flashing using the UEFI setup that allows selection of the Bios file to update. Using HP files, it only updates and flashes based on the ‘included’ file within their compiled BIOS EXE. I used the new file, same name as the latest (HP) file. It (HP Bios file) is protected with anti-crack 1.41 I don’t remember ATM. I need the Bios image or .bin to check out as legit, signed, or whatever the next step is.

Any help to get around this? Thanks for all your work for the community to get our products supported!

Scholar

Flash it using AFU, I mean your extracted modified bin file ie ODE_A020.bin if using latest BIOS (A0.20 Rev.A 15.1 MB Mar 4, 2018). Be ready for recovery if BIOS image is not done properly, that could be another reason it refuses to flash.

Here’s the guide on how to use AFU, be sure to make a backup first as indicated, you may need it for recovery later, or to get MAC/Serial from etc. Always make a backup of BIOS before doing anything
[Guide] Flashing modified AMI Aptio UEFI using AFU

I see the Flash Descriptor shows most of the BIOS is locked, only writing to “BIOS and GbE” region is allowed, unless there is a unlock jumper on your board, PDR, EC and ME are locked. See this in UEFITool 0.25
If you didn’t include a required ME change for your purposes, then it’s probably OK, most edits you mention would be in the “BIOS” Region

Also, I checked the actual HP process and files, if you are shown the SSID that it says does not match in the SSID.log, maybe you can edit the flash.bat and put the SSID you want there, then try again.
To see all that, I right click, extracted the files to folder (w/ winzip or WinRAR etc), if you did not know that already, I assume you do though. Also located at C:\SWSetup once you run their main exe
My test, in SSID log it put actual motherboard model, I assume since you have HP system if might put SSID value, but different one than the flasher wanted, so you should be able to edit flash.bat and then run flash.bat with new SSID value
But probably easier to just use AFU

@Scholar53 :
Welcome to the Win-RAID Forum!
Since your problem how to flash a modded AMI UEFI BIOS has nothing to do with the UBU tool itself, I have moved your post into this better matching thread.
Please read the start post of this thread and the advices given by our Forum member Lost_N_BIOS carefully and follow them.
Regards
Dieter (alias Fernando)

@Lost_N_BIOS :
Thanks for your reply, which has been moved by me as well.

Fernando and Lost_N_Bios,

Thanks for the replies, I will pursue the AFU direct flashing. If I cannot obtain the correct apps/tools I will reply for your input or direction. If with other problems I will ask as this is the place of effective resolve :slight_smile:

Lost_N_Bios, for this model it is coded per SSID due to manufacturing and some changes in base hardware, or even model options. One HDD instead of another, chips from one plant and not another (from what I could find). Mine is on ME2_A0.16 for it’s SSID (2B2C), as other Bios for the same model (A.20 SSID 2B47) are rejected for that ‘error code’. I am only attempting to update a Bios that installed from Windows and updated correctly for my model ‘version’ so to speak.

I have modified the most recent for my SSID, and have the modules for M.2 and new chip microcode loaded. MMtool and UBU confirm this.

Will post results for ourselves and the community, as I’ve seen the HP effort in other forums or youtube, albiet without the aforementioned success for it’s ‘work’.

Good work Guys!

Cheers,

Tom

AFU is linked in first post of this thread, so you should find the link, if not let us know and we can drop another direct link for you

It looked like to me, you could edit that batch file and either change the desired SSID (change batch file line >> SET WINGUI_ID=2B47 << change to 2B2C), not sure if that would help or not, or make the change noted below.
Although, it also looks to me like that batch file is the only thing stopping the update with HP’s tool, and if modified to flash only without the checks it should also flash correctly from the batch files.

If you make above WINGUI-ID change, don’t make below change at same time. If above change fails, then try this change, with original 2B47 still set in batch

Next edit to try, you could change this and it should work probably
IF %%b EQU == %WINGUI_ID% GOTO GUI_UPD << Change that to IF NEQ, and change the negative one below to EQU (Or remove line, try leaving first, then if needed try again with line below removed)
IF %%b NEQ == %WINGUI_ID% GOTO SKIP_ME_EC
)

If you change the above, don’t try changing the SSID info in the batch file, only one type of change or the other at a time so you don’t make different conflict.

If that does not work, you should be able to flash with AFU anyway, at least the BIOS region which contains all your updates anyway so it should be fine.
If AFU Fails, you can use Intel Flash Programming Tool (FPT), but try to get it flashed with AFU first.


* You may also be able to just run >> Setup.exe ODEA020E.exe from the command line, from a folder that contains those two files
ODEA020E.exe and ODEA020L.exe contain byte matching BIOS.bin files and the HPWinguie flasher, so either is OK to use.
I think that way may avoid the SSID check, I am not sure, still greyed out in the GUI on my system, but it’s not compatible or HP so I expected that
If you try that, you will need to insert/replace the your modified BIOS into the ODEA020L.exe file first via hex editing.
Although this may be what you already attempted and found the ACProtect anti-crack, I see that with universal extractor, but unsure if hex edit will be OK or not?
This is what they were trying to stop, I guess it’s not possible that way, AFU or FPT will flash it though!

Lost_N_Bios,

Nothing much to report, Aptio 4-5 afuwinx64 <bin file name> /P /B /K or /GAN doesn’t work. 46 - Error: Problem getting flash information

I haven’t tried Intel (FPT) but will look into it now. Any suggestions? I didn’t try the batch edits as it had been tried yesterday, as I tried to avert checking for SSID completely and changed the bios files name. I will report that the original (new HP file) matches the module updated file in size per Win 10 output.

More to come…

Is there a jumper on your board, that maybe says FD or ME or Service Mode? See section E2 here for more possible names - [Guide] Unlock Intel Flash Descriptor Read/Write Access Permissions for SPI Servicing

/GAN only works with certain ES versions of AFU, did you find copies of those, if not I can send in PM for you to try if you want (I have 229+236)

I think best bet, to use the HP tools is the edit I mentioned second few posts up - IF %%b EQU == %WINGUI_ID% GOTO GUI_UPD << Change that to IF NEQ
It still may fail too, if that fails, I would edit back to original, and then try that first edit I mentioned, if you didn’t already try that, changing the first Set WINGUI_ID to your ID

Intel PFT will flash the board, but may only be able to flash BIOS section, since your FD and ME are locked.
Since you cannot make actual backup, this could be risky if your BIOS mod fails, recovery via solder, jumper or other method (ie pin-mod and reflash if it works) etc.
Due to that you may also loose Windows activation (SLIC) and MAC address, but I think you can/should be able to backup the BIOS Region only, which is all we plan to update
If the above happens, and you have backup file, we can put back in new mod, then you reflash again and will be corrected

You can unlock those, methods shown in link above, but if you did not put or want an updated ME in your edited BIOS, then really no need. All you mentioned editing and updating is within the BIOS Region, and that is unlocked to write.
Get Intel Flash Programming tool here, in the C2 “System Tools” section, get the version that matches your board and chipset type (Intel ME System Tools v9.1 r5 - For 8/9 that come with ME v9.0 - v9.1 only example)
Intel Management Engine: Drivers, Firmware & System Tools

Then inside, you will find Intel Flash Programming tool folder, with DOS and windows versions to use. Here is the commands to flash the “BIOS Region” only, using windows version fptw, use elevated command prompt.
Put edited BIOS file into same folder as version of FPT you choose to use, and change fptw in these commands if need per the version you are using (Win does work on win x64, you don’t have to use WIN64)

1. Try backup BIOS Region first, if you get error 26 it’s all locked and will require either method mentioned above, or if you know of an HP BIOS Backup tool that should work too. I don’t think you should get error 26, since this is BIOS region only and that is unlocked.
fptw -bios -d biosbck.bin << Can be any name you want, name so you’re sure to remember it’s backup later on.

2. Flash BIOS Region only, this uses your modified BIOS file, but only utilizes the BIOS region from the file (Change “bios.bin” to match your edited BIOS file name)
fptw -rewrite -bios -f bios.bin

Lost_N_Bios,

Small Update. I am in process of attempting to flash using the ASUS EZ Update utility and changing (swapping) the bios files after validation. I am also attempting to flash with an extracted file intended to extract the bios from the capsule, though the modified bios file didn’t display that it had CAPSULE, I am trying anyway from boot UEFI, not a DOS boot which I can’t seem to get to load with Win98 or Grub. (write protected memory sticks (2) WTF ???)

I have started the intel FPT, tried suggestion 1 and 2, and so far after creating ‘admin’ privileges on files and .exe’s within Win10 the only output it gives is below.


Error 366: Fail to load driver (pci access for Windows)
Tool needs to run with Administrator account.

Note, I am admin, and it is confirmed on the file properties. ???

Back atcha later or tomorrow.

No need for “Admin” Privileges or ownership/permissions etc, none of that is needed. I only meant run an elevated command prompt, like run-as-admin.

If you’re account is already Administrator type account then all you have to do is hold shift and right click the folder where you have fpt and the BIOS file, and while holding shift choose open command window here then you can run those commands
BIOS must already be in that same folder where the fpt exe file you run is located. Here is a few image examples

CMD-Flash.png

CMD-Flash2.png



You can also go to CMD in start menu or wherever that is located in win10, maybe admin tools, or where other programs are like used to be in start menu accessories/system tools etc. Find that, and right click, run as admin, then navigate through prompts to the folder where you have the files.
It’s easier the way I show above though, but that may not get you “elevated” command prompt, see second image, note how it says “Administrator” on the command prompt window at the top, that is your goal it’s an “elevated” command prompt. NO changing of exe files, or ownership/permissions on anything
Here’s a guide for win10 specifically option #7 specifically outlines what I try to show you, easier way to have command prompt already in location you need and elevated
https://www.tenforums.com/tutorials/2790…ndows-10-a.html

Redownload those files again, or delete those and re-extract from the zip if you still have it in recycle bin, that’s probably causing you more issues.
Then just use FPT from windows as shown above, or if you must use DOS use regular old DOS like Win98SE, windows is easiest and no problems to do it like that

Please upload and post a copy of the BIOS file here you’re trying to flash, it sounds like you might have some things possibly mixed up, so I just want to check it’s OK for you.
The BIOS would have been removed from the AMI Capsule the first time you edited it with UBU, so you’d never see capsule after that, nor need to extract any further etc.

Lost_N_Bios,

HP file for Bios A0.16 SSID 2B2C is attached as modded for

1. firmware update per UBU including Haswell Microcode, SATA, and LAN ROM (per the UBU package I obtained from linustechtips.com)
2. firmware modules for Samsung M.2 SSD support, the files were included with that package.

See file compressed in rar to meet 6 MB limit on this forum. In the Bios flash for HP, as you have investigated, it comes compiled within the .exe, and when using UEFI tools during boot I am not able to flash when choosing my own updated .bin file (UEFI on HP creates a small partition on your boot drive with a folder called ‘HP Tools’ and it contains Bios files when you populate them, as it is intended for use for backup of the bios and new updates. Most on HP just use the .exe package, which opens softpaq, then allows for flashing, reboot, flashing, then 3 reboots, then reboot to Windows/OS installed.

Let me know what you find. I have no problem getting an admin prompt with cmd.exe and have also tried PowerShell 2.0 and 6.0.2 to no avail when using Intel FPT.

best regards and Happy Fathers day,

Tom


EDIT: SUCCESS (SO FAR).

Lost_N_bios,

While searching for another thread per updates re: ME firmware and others I came across an old reminder, bios jumpers that unlock FW (Flash). Here is my mobo model, the Memphis -S referenced in another thread pointing out the jumpers (which I believed were WAYYYYY out of date for desktop computing due to UEFI gaining prevalence.)

I changed the jumper, and it let me load my bios (same I uploaded here) which had the new modules and CPU/Sata/ROM/Lan microcode updates included (if correct). I am now checking if they are correct, and will be updating the correct Intel Management Engine firmware shortly (something that is for another thread).

Thanks for your help, and do check my file in case it appears incorrect if you should find missing ‘work’ on the file.

Cheers again,

Tom

ME2_A016.rar (3.34 MB)

Thanks, I will check your modified file. I think it’s probably fine, but always best to have someone check over BIOS mods when you can

I don’t expect any of what you or I are discussing to work with EUFI or HP tools during boot, possibly after that jumper enabled, but it’s not needed since you didn’t update ME.
I only hoped maybe the edits I mentioned for the batch file could help in windows flash with the extracted files from windows, which I assumed you’d already extracted from the HP exe file.

Admin prompt with cmd is needed for the two commands I mentioned at end of post 112. Did you try those yet, with FPT and your modified .bin?
There should be no errors with command #2, only possibly with one but I expect it should work fine too since “BIOS Region” is enabled for read/write.

Nice you found the jumper, that will allow ME updating, but you didn’t mention needing to update ME or that you had updated ME in your BIOS file.
So if you still need flashed, commands I posted on #112 above will get the BIOS region flashed if you have not already (That is where all your mentioned updates go)

I’ll check your BIOS over shortly, I bet it’s OK

* I see your LAN MAC address is now incorrect defaults 88:88:88:87:88. If you have backup BIOS from before flash this can be corrected, or if you can find MAC address on sticker on board or LAN area we can fix.

GbEMACAddress.png



You might as well also flash in a unlocked Flash Descriptor if you do update again to correct the MAC address, I can fix these for you if needed, let me know once you either find the MAC sticker, or hopefully have a backup you can send over.

FDRegion.png



I do see some alignment errors in the edited BIOS, but I am not sure if that is normal/expected for this BIOS, it could be normal for this BIOS I’ll have to see a backup first.
I do not see these errors in stock A020 BIOS but it’s also not same version as your BIOS so I’d have to compare with actual backup you have before modifications to see if it’s expected or due to the modifications. (Can be fixed, so not big deal)

AlignmentErrors.png



I also see all 506Ex CPU microcodes removed, did you want that done, and only left with 306C3 codes? It’s OK if you wanted that, just have to remember if you ever want to use other non 306C3 CPU in the future

Lost_N_Bios,

I found the MAC issue in UEFITool and corrected it. I am satisfied with the processors supported at this time, as the support is included in the original HP file (and 3 bios before it). The flash went well and is stable. I also had ME disabled (the memphis-s mobo jumper does that). When jumper enabled I cleaned the ME firmware and installed a new Engine (9.1) and then the latest for my firmware in order (so far, will investigate other compatible firmware updates soon). That was image bin 9.1.37.1002. I did find that available at Alienware and via Intel, not to mention the Repos from another win-raid.com forum thread. The batch file from Alienware and Intel package both worked (same setups) so that confirmed as installed. I have found the Intel GUI based Intel(R) ME FW Recovery Agent doesn’t update on my HP 550-153w machine, and I tried firewall and other obvious efforts. I probably don’t need it now anyway. Comment on that welcome.

Thanks again. :slight_smile: I will be working on a Winflash (Phoenix) bios based update for an Intel Sandycreek proc (Lenovo laptop), including all roms, ME, firmware, and bins. I just need the romware and ME updates (and board chips) and don’t have any known module insertions to make (as-is now, maybe later if found). I may need help with that as it doesn’t use Aptio, so UBU as-is doesn’t work to update but other tools probably will. I will do my Winflash (Phoenix) research and work BEFORE posting here :slight_smile:

More on the winbios flash work later… I will PM you then!

-Tom

Good you fixed the MAC! I checked last BIOS and see 3 506Ex microcodes, those are removed in your modified BIOS and only single 306C3 microcode is there now, that’s why I asked about that.

As for the ME, I only meant if you unlock your Flash Descriptor (FD, first item in UEFITool when you expand the BIOS, right above ME Region - second image above) then flash with jumper on, you may not need the jumper at all later on. You want them all to say Read/Write = Yes
Due to the way the board is designed, that may always be needed though, you’d have to test unlocked FD and see if it then allows saving a Full SPI dump, or ME Dump, without the jumper enabled, then you’d know the unlocked FD also made it so that you don’t have to use the jumper anymore.
That would save you from having to opening the case and getting at the jumper, aside from that probably no real reason to unlock the FD.
Here’s thread on how to make those changes yourself, or if you want let me know I can send modified file, might not change anything either way though with the jumper designed into the board
[Guide] Unlock Intel Flash Descriptor Read/Write Access Permissions for SPI Servicing

If you need help with the other board BIOS later let me know, I’ll try to help if I can. If you do, please post a link to the motherboard or “System” download page so I can grab stock BIOS to look over.

@CodeRush
I have a MSI portable PC GS63 Stealth 8RE. I have modded the original BIOS with different variants thru UBU and UEFItool. (Only UEFItool v0.25.1 is working).
So, I have a set of modded BIOS to flash for testing.
Do you know if AFU does work for MSI BIOS machine to avoid ‘security error’ barrier ? What method do you recommend ?

No idea, AFU was 5 years ago. I recommend hardware SPI programmer.