[Request] A8-7680 UEFI Microcode Update for HP Pavilion 23-P149

Hello everyone,

I have been trying to add a microcode for the A8-7680 to my AMI UEFI BIOS using various tools & guides. The tools are not working the way the guides mention though, & almost all of the guides are exclusively for Intel. I have not flashed my BIOS yet, but I do not feel confident enough in the work that I’ve done on the modification. So far, I’ve replaced 2 identical entries for an old microcode for an ES CPU with the entries for A8-7680. However, I’m not sure if the checksums need to be changed or some CPU strings that I saw in plain text or if I even did this little bit correctly. This is explained more in-depth in the readme included within the provided archive.

Please help, all I want is added support for the A8-7680 in my BIOS. I have attached an archive containing the original BIOS, the BIOS that I modded, & GITHub copies of both the old & new microcodes in the BIOSes for comparative purposes.

Thank-you

BIOSFiles.zip (5.64 MB)

There are no bios files in support
HP Pavilion All-in-One - 23-p149
Yet there is a HP PC Hardware Diagnostics UEFI tool in downloads
You should add a bios dump first,finding microcode is the easy part.see platomav for the github repo
Once you got them head to Manual AMI UEFI BIOS Modding guide.
and then How to flash a modded AMI UEFI BIOS guide is your last stop

There are BIOS files in support, download the one for BOA board type (sp87651.exe) & open it as archive with 7Zip or compatible to find BOA_8005.BIN (the BIOS) inside of HP’s installer. I already have the necessary microcode from GITHub. UBU is not working with my BIOS image. I have been looking at the mentioned guide, but has not been helpful in my case. I am familiar with flashing BIOS, not worried about that part unless my BIOS image is wrong :frowning:

Anyway, thank-you for your response sir. I will try your instructions exactly as provided, just in case there’s something that I’ve missed. Will report back, either with success or the step that stops me.

Tried working with UBU. It stated that I needed MMTool 5.0.0.7, named mmtool_a4.exe. I downloaded the right version of the tool & named it properly & placed in directory of UBU executable. I can view the microcodes in UBU, but not change them. When I open the image in MMTool, the options in the "CPU Patch" tab are all disabled. I can extract the microcode sections. I can open them in HxD. I can find & replace the microcodes in hex edit. But I cannot reinsert the updated modules properly.

This is why I would like to request that one of the experts here do it for me now, because this mod is not working like the guides are saying it should.

ah i see your problem.first update your bios using the latest 80.21 Rev.A
then use MMTool Aptio 4.50.0023
the file you are looking for is lav-8021.bin
if you want to change setting,you can use AMIBCP 4.55.0070
for microcodes head to platomav
Clean the microcodes in cpu patch tab,then add the new ones
You can also update pci rom files like rst,lan etc

That BIOS is for another variant of my motherboard, it has Intel microcodes not AMD ones. BOA_8005 is the latest version for my board. Interestingly though, I am able to view the microcodes in LAV_8021 using MMTools, which does not show AMD microcodes in BOA_8005. The tool that you linked is still unable to view or modify the microcodes in BOA_8005. I’ve done lots of research on actual support for the A8-7680, & realized that I can’t actually find an A88 board with a supporting BIOS. I have downloaded 3 versions of a BIOS for GA-F2A68HM-S1 [FB, FC, & FD]. Rev. FD supports the 7680 & Carrizo support was added in FC. I will try to compare the images to see what was changed to make Carrizo work, & attempt to cross-reference it with a BIOS for GA-F2A88XM-D3H (Rev. F10A has Carrizo support but not for 7680 for some reason ) & THEN, maybe try editing my BIOS manually.

This is turning into a whole hell of a lot of work, I’m desperate to get this working. Would pay someone to do it at this point.

Untitled.jpg

So i was looking at the wrong file.when there are verious versions,it should be stated clearly :slight_smile:

You are missing the point there,just an fyi
Lets say you have lga771 board,you can mod it to lga775 in order to make your cpu work in it.or other way around.
in simple terms,you can add your cpu’s microcode into cpu patch tab and it will work as long as your cpu fits into socket.
Or a new cpu has been relased for that socket for example,remove one microcode from that list and add the new cpu’s microcode and it will work on your board

MMTool v5.007 this should work

To make it clear,Which one is your bios and which cpu you want

2B0D/2B21 - 80.09
SSID 2B0D/2B21 - 80.21
SSID 2B26 - 80.05
SSID 2B2E - 80.05

C18F0D44-539D-470C-AAB2-3EE70F53BF36.jpeg

I’m sorry if my request was vague.

I have done microcode updates on LGA775 before, this one is not as simple as the ones I’ve done in the past.

I already have & tried version 5.007 of the tool. “CPU patch” tab is disabled, doesn’t show microcodes either.

It is SSID 2B26.
I want AMD A8-7680 to work in it.
I have correct file from platomav’s repository [cpu00660F01_ver0600611A_2018-01-26_6ADE0289]

I just cannot add or replace the microcode with any of the tools that I’ve found & tried from various forums & AMI’s site. Which is why I think manual modding is required for this project.

*EDIT: After even more research, it would seem that the Carrizo vBIOS needs to be added too. I found one, but it was taken from an A68H chipset. Unsure about compatibility or even how to insert it. Also need help with checksum correction. I extracted the AmdProcessorInitPeimPei section & replaced an old CPU microcode with A8-7680, but now MMTool says it is not valid to replace old module with it.

Untitled.jpg

23-p149 SSID 2B26

modules updated but unfortunately could not add the new amd (fm2+) microcode


8005.jpg

8005-2.jpg

Hmm… So you are unable to alter the microcodes or vBIOS either. I appreciate you linking a BIOS with updated modules, but that one is useless to me without updated vBIOS & MCode.

I need to find good, accurate documentation on FFS file structure now so that I may understand how to alter the image manually. It surprised me too that the tools weren’t capable of working on AMD microcodes.

Just an update on my situation here. So, I spent an unhealthy amount of time researching firmware volumes, FFS structure, PEIMs, checksums, & all kinds of things pertaining to the overall completeness of a UEFI BIOS image. BUT, while I was on the web, I found this beautiful incredible project called EDKII. I downloaded it last night & played with it a bit this morning, the genFFS module in particular. Using it, I managed to successfully add my microcode to my BIOS. Here’s how I did it:

1. Opened UEFITool [thank-you, CodeRush, for this wonderful tool too :)] & opened my BIOS image. Navigated to AmdProcessorInitPeim & expanded it. Extracted each section (dependency, image, & UI).

2. Opened HxD & opened files for my old microcode, new microcode, & image section (extracted using UEFITool). Searched image section for first 4 octets of old microcode to find where it is in image section, & replaced with data from new microcode file. Verified size & saved it.

3. Opened a command prompt & navigated to the directory where I had saved the EDKII tools. Used the following command on my .sct files [NOTE: “A” is a temporary subdirectory where I put my 3 PEIM section files, to make things a little easier]:

1
 
genffs -o \A\AmdProcessorInitPeim.FFS -t EFI_FV_FILETYPE_PEIM -g DE3E049C-A218-4891-8658-5FC0FA84C788 -s -i \A\PEI_dependency.sct -i \A\PE32_image.sct -i \A\UI.sct -v
 


FFS.jpg



4. Opened MMTool, loaded original BIOS image, under "Replace" tab navigated to AmdProcessorInitPeim [vol. 5, index 14 for mine] & selected it. Then clicked on "browse" for my updated AmdProcessorInitPeim.ffs, & replace. Click save. MMTool did it without complaining about it being "invalid" this time :slight_smile:

Untitled2.jpg



Just to verify, I compared my old AmdProcessorInitPeim.ffs with the old one in HxD. Everything is exactly the same, except for the CPU microcode that I replaced & 2 bytes in the header (checksum fix?). Also checked the new copy of my BIOS to find that the new microcode is there too now :slight_smile:

Untitled.jpg


Untitled3.jpg



I have not flashed my BIOS yet, since I still have to figure out how to add Carrizo vBIOS too. If you have the same problem as me with the AMD microcodes, you are welcome to try this too, but I cannot make any guarantees/warrant that it will work for you the way that it did for me. You can find EDKII here, on this GitHub page. That is the exact page where I downloaded my copy of the files.

Hopefully someone finds this useful & it saves them the massive headache that it was for me to get my microcode inserted properly. If you are a vBIOS master genius, I would appreciate your help getting my Carrizo vBIOS modded into my UEFI BIOS so that I may finally put this problem to rest.

I managed to add the microcode and vbios for my a88x gigabyte board, but the 7680 still does not boot.

Also found an A78 board with the new bios.
https://www.gigabyte.com/Motherboard/GA-…support-dl-bios

Just found an A88x board with carrizo apu support

Hi jorgp2,

I believe that there are 3 parts to the problem (4 in my case), from the time I’ve spent researching. It appears that AGESA needs to be updated as well as MCodes & VBIOS. My board in particular also has RSA checking built into the BIOS, preventing me from flashing a modded one so I’m also exploring the possibility of somehow bypassing that too. Have been tied up with work though so it may be, like, half a century before I make any real progress.

May I ask the model number of the A88x board that you found that has support for a Carrizo APU?

Yes my friend , only bios before 2015 / 2016 are moddable , the RSA check is a pain into the ass …
Donovan6k and CodeRuash made some hacks to that, latest was on a pavillion g4 (russian guys).
But i opened your bios and it’s not signed and crypted, may be has internal check , so it could be studied deeper, cause i found
into Insyde Bioses the RSA check and this one is an AMI bios.
Use this tool , run it as Admin and upload the result file :

https://www.mediafire.com/file/4s2lp3ig8…ools20h.7z/file

I will give a look …
Regards

Thank-you kindly for the assistance, but I have decided yesterday that I am going to replace this with a T3610 with Xeon E5-1620v2.
I attached the file that your program created on the 23P-149.

- Gabe

results20.rar (73.5 KB)

It didn’t woked weel, as normally make a bios backup by AFUwin / AFUdos, but didn’t here.
So you have to make a bios backup and find a way to reflash it back, if do you want try to update the bios area, or eventually buy an
SPI Programmer CH341A with Pomona Climp …
If do you get the bios backup then please upload it for me , so i will give a look.
Regards

I’ve recently decided to try this again. I picked up a “AS-IS” Gigabyte F2A88XN-WIFI for $10 the other day, which I got working, & thought I would try the 7680 in it. Did not work (of course), so updated to BIOS F6 which adds support for Carrizo APUs & updates AGESA. However, still not working. I suspect it’s still missing the microcode since the 7680 was released in 2019 & BIOS F6 was released in 2015.

Anyway, I thought I might have a better chance at modding this one because it’s a BIOS from a more standard motherboard. Will post updates on this thread as I proceed, for all of you who still have an interest in making this one specific APU work, but need to download all my tools again first. It has been a while :wink:

Alright, an update to the problem. So I followed the same steps that I posted earlier for generating a new FFS with good checksum for the microcodes. Flashed the new BIOS & dumped to verify new microcodes are installed on motherboard. Unfortunately, 7680 still won’t POST. I have a feeling that AGESA needs updating, which I will explore next.

Will post back if I figure out how to do it :wink:

I had an idea that might work, it involves replacing several modules in the BIOS with similar ones from a BIOS supporting the A8-7680. Going to use my ASUS A88XM-Plus as the guinea pig, since it has a socket for the BIOS chip (so not too bad if I brick it). If it works, then I’ll move on to mod my A88XN-WIFI. If both work, then I’ll use this thread as a place to provide support for anyone else trying to run an A8-7680 on an A88X board.

Will hopefully have good news regarding this experiment, by Friday night.

SUCCESS! …Or almost, at least. I replaced the AmdAgesaDxeDriver & AmdProcessorInitPeim modules with ones from an A68H board with support for the 7680. What resulted, was many reboots & a blank screen.

I heard my trusty ol’ Velociraptor start reading though, so I pressed the power button after it quieted down & it shut down after a few moments. It appeared that Windows had successfully booted, despite showing a blank screen. So, I grabbed one of my old HD 3850’s from my parts drawer & sure enough, I got output.

IMG-20210917-01014.jpg



Although I finally got the 7680 to POST on my A88XN-WIFI, I need to figure out why it displays such a high temperature & also why the integrated R7 is not functioning.

I doubt that the CPU was actually hitting 102 degrees, since I shut it off & immediately unclipped the heatsink to check the CPU. It was hot, but not hot enough to hurt my finger, I doubt it even exceeded 75 honestly.

Regardless, if anyone is still following this thread, I need assistance. Other than updating more modules in the BIOS, I’m out of ideas for now.