Flashing of modded ASRock AMD Aptio V BIOS ... Where to begin?

First post.

I’m trying to flash a modified UEFI BIOS to my ASRock AMD motherboard. I have what appears to be a known problem; the Instant Flash utility is only allowing stock BIOSes to be flashed. The only modified BIOS I’ve tried to install is a stock BIOS that I ran through UBU v1.76.0.1 and updated the microcodes.

After a bit of reading, I picked up a CH341A programmer w/ a 1.8v adapter (my BIOS chip is a 1.8v WINBOND W25Q128FWSQ soldered to the board).

I wanted a backup first so I created a live Linux USB, booted that on computer #1 and installed flashrom. I then plugged the CH341A into computer #1 & clipped the other end onto my bios chip of computer #2. From terminal, when I run the “sudo flashrom --programmer ch341_spi -r backup.bin” command, I get an error saying “unknown Winbond … SPI chip” (0 kb, SPI) … Aborting. I tried re-clipping several times, no luck.

So then I tried just running the CH341A v1.34 exe from my Win10 computer & was able to detect and read the chip & save bios.bin file.

Here is where I start getting confused by all the forums I’ve read.
1) Was I supposed to install some other software in Linux before I used to CH341A?
2) Am I okay to work with the bios.bin I extracted in Win10?
3) What software do I use modify the BIOS.bin once I have it & do I just flash this back to the chip once it’s updated?

Thank you much!

EDIT by Fernando: Thread title customized to make it more specific

@rook - Sorry, can’t comment on Linux/Flashrom

Upload your dumped BIOS so I can check it to be sure it’s OK, unless you feel confident in being able to do that. if you do, and it’s OK, then yes, you can work on it in Win10
However, I would advise you make a new dump using APSrogrammer and use that instead, and write it back with that too - https://github.com/nofeletru/UsbAsp-flash/releases
I can’t find the thread anymore, but I think someone tested all versions CH341A software and only (1.31/1.40free) worked for proper read, and maybe 1.34 as you’ve found too
But writes always failed to verify or booting failed even with a verify with all other versions (except maybe with 1.31/1.40free) but for sure is OK with ASProgrammer 1.40 or 1.41

What software you use to edit depends on the BIOS itself, and what you are going to modify.
Since you are updating microcodes I’d advise you upload your dump (before) and mod BIOS once you are done so someone can check it, often BIOS is broken in a few ways with microcode updates, it’s a delicate thing to update sometimes on some BIOS.

@Lost_N_BIOS Okay so linked below (edit: too big to attach) are the extracted files using both CH341A program and the AsProgram. Also attached is the modified BIOS (I replaced two microcodes with microcodes for an entirely different CPU). I used the method shown in this guide (post #5). Please let me know how it looks.

Also, the BIOSes I pull down from ASRock’s website don’t have an extension. So I should just delete the .rom, .bios extensions from my bioses when I go to reflash? Thanks again!

Download Link

@rook - Please add your motherboard model so I can check stock BIOS too, thanks. Surely the stock BIOS has an extension on it, Asrock usually does version # as extension, so model.13 for example or model2.43
You are using programmer to put BIOS back on chip, so Asrock’s stock BIOS name.extension do not matter here and you wont be using those files anyway
Most programmers software will accept .bin, .rom, .dat, but some may accept .anything, only you can try to open file and see what it allows you to select, then change as appropriate (it’s all ones and zeros to the programmer, you just have to use an extension it accepts)

Yes, as expected, I checked latest BIOS 3.60 for the board linked below, and it has extension as I mentioned above >> A3MSTX_3.60
Maybe you don’t have file extensions turned on? Or did you just think that .60 was not the extension?

25MB zip for three BIOS? Next time please use max compression when you share files
Ohh, actually, I see you did and you can only smash it down to 25MB with zip 7zip max compress makes it 8MB, much better

I checked the dumps, and the CH341A dump is trash (corrupted, terribly), as for the ASProgrammer one, I can’t comment on that until I see stock BIOS.

I will let you know my findings once you tell me model so I can look at stock BIOS too. Is it this one, if yes which version is the dumped BIOS? - https://www.asrock.com/nettop/AMD/DeskMi…eries/index.asp

Also, since it’s not explained above. Please tell me what your CPU is, and what microcodes you removed (and why), and what ones you are inserting?

** Edit - There is also this method I just remembered to flash mod BIOS on some new AMD boards, but it carries some risk, since you have programmer that is not an issue though
https://www.overclock.net/forum/11-amd-m…-correctly.html

@Lost_N_BIOS You found the correct product. The motherboard is an A300M-STX and the I dumped Global BIOS 3.60 (directly from my BIOS chip). Those chaps at ASRock are slick using .60 as an extension…

Onto the juicy details!

The processor I’m currently running on the MB is an AMD A8-9600 Excavator(?) APU. My goal is to get the latest AMD Zen 2 processors running, particularly the Ryzen 5 3600 CPU. I got the Zen 2 microcodes from ASRock x570 Taichi Global BIOS 2.50. Both motherboard BIOSes have 13 microcodes when viewed in MCExtractor. I chose to remove the 00810F80 & 00810F81 (Zen +) microcodes from the A300M-STX 3.60 BIOS and replaced them with the 00870F00 & 00870F10 (Zen 2) microcodes from the x570 2.50 BIOS. When I ran the edited BIOS through MCE, the new microcodes showed up properly so I think I did that part right.

Because I’m trying to run a CPU on a board that currently only supports APUs, there might be some more loops to jump through but this is step 1 in my trials.

Thanks for the answers and the info. All looks good to me, if microcode is all you need for that kind of CPU compatibility then you may be OK. if not, you may need Agesa update too, along with other stuff, in the end it may not be possible but I don’t know a lot about AMD
Good luck!

One note, due to the way you mentioned that about MC Extractor. It will show the microcodes no matter how or where you stick them in the BIOS, even if inserted incorrectly they will still show up in MC Extractor.
This is not really a tool to check anything about microcode edits other than to see what version you had before and after you update, or to see the other details like version of offset etc.

@Lost_N_BIOS Thank you for all the help. I did successfully flash the modded BIOS to my motherboard using the AsProgrammer software. The PC booted into Windows just fine. I also verified the procedure worked by dumping the BIOS again & re-examining the file.

I’m still a little ways off from testing a new CPU but I will continue to post questions here if I run into issues.

You’re welcome, great to hear ASProgrammer is working for you and all booted fine! Good luck on your continued tests/modifications

any update on this? I am trying to do something very similar by adding Ryzen 3000 series CPU support to an x370 motherboard. Did you attempt any AGESA module update or strictly CPU microcode?

I did not attempt an AGESA update mostly because I don’t know where AGESA is located. I’ve read that it is located across four or five modules and MEMINIT may also need to be replaced. I have been looking into this; currently my best thought is to look at several manufacturer’s BIOSes that I know share the same AGESA revision to see if I can find commonality among them. Finding a software to do so is tricky though, I’m looking at something like Diffuse. I lack programming knowledge to do anything more.