[Guide] How to update the CPU microcodes on a non-UEFI Award/Phoenix BIOS

@Phoenix48 @Lost_N_BIOS

Thanks for your through answers!

Let’s see here now…

- Sizes match, the NCPUCODE entry inspected with 115 shows correct size as well for the whole bin file.
- I checked with HxD there’s only one of each microcode
- And as you suspected here’s comes problem after /nc_cpucode ncpucode.bin (empty) MCE still list microcodes even if inspect reports empty microcodes. However with HxD I don’t seem to find any doublets.

Here’s what I did to fix it (I hope), used 198, /nc_cpucode Release, got confirmation it’s free, then with 155 I inserted ncpucode.bin empty then regular. Inspect now list microcodes and MCE shows no errors.
Is it fine to use 198 for releasing without risking any mess before MINIT? If not here’s the bios I’m dealing with if anyone wants to take a look at it.

Thanks in advance.

edit: Where exactly do I find the checksum?

@Triv

That seems to be a brilliant way to go around the problem. The question about a mess before MINIT is a good one too. My guess is that doing only a release command should probably not have caused any problems there. If it is alright in MCE and you now get an output with /d then you seems ready for the last test: Trying to flash it. If there is a problem with the checksum then the flasher will refuse to flash it and will tell you that the verification did not passed. If you made the replacement of the last ROM to restore your checksum after all your modifications then the checksum should pass the verification test and the flasher should be able to flash it successfully.

I tried to flash it and it worked just fine. Thanks again guys!

I try cbrom 155 but nothing displayed i think its only for gigabyte mobo thanks

@Sober - No, 155 works for many brands. You post in 10 threads but in none of your posts have you mentioned what model system you have, so no one can help and all your replies on various threads only look like random replies
Please give your full model name and a download page for your BIOS/drivers etc

@lost nbios pm sent
-------------

@lostnbios im not using gigabyte mobo when i try to mod the bios via cbrom155 it cant show all the files inside the bios file, not clear enough i think when i try another method using another toolsit can be rewritten or modified but can’t be flashed so i’m stuck but when i try using vmware fling the microcode successfully updated i try to update the microcode to bios because its more permanent, better than only mod it to harddrive
---------------

Cbrom can only recognize gigabyte bios file extension

@Sober - cbrom works for many BIOS, not just Gigabyte. Brand or File extension does not matter, you can name it anything you want, .bin, .rom, .Fxx, .F22 etc, provided the BIOS is Award/Phoenix and compatible with cbrom

I can’t help you until you link me to your BIOS download from manufacturer, or give me the model name. The link you sent in PM didn’t work, please give me your system model name.

Also, please do not make multiple posts in a row, if you want to add more thoughts or questions and no one has replied, please edit your post and add the new info. Thanks

Succes updating microcode but cant be flashed

@Sober - please stay in one thread, you’ve got me lost already, without jumping around in many threads.
The answer on how to update your microcodes is on page one of this thread (See post 9-10) - [HELP] Fujitsu AH531/GFO (Phoenix UEFI)

Hello, i’m trying to update the microcodes for my Gigabyte ga-ep43t-s3l, I’m fighting against the doubled microcode error, I tried to follow the guide on the first page a couple of times, but I’m unable to fix the issue.
Is anyone able to help me?
I attached a 7z file with:
EP43TS3L.F7 → original bios
MC.7z → updated microcodes
NCPUCODE.BIN → Microcodes in 1 file ready to be used with CBROM

https://drive.google.com/open?id=18Yv-DW…LCQmJ2de_jb-9GT

Thanks in advance!

@Nemo1985 - did you see the FAQ #1 at the bottom of the guide, it tells you how to fix this issue if you meant bad pack error. If you did mean double size microcode after edit however, that usually means incorrect version of CBROM used
For P43/45 and microcode edit use cbrom 195, I just did the mod to your BIOS as a test with 195 and it’s fine Although, you then still have to do the FAQ #1 correction I mentioned (This is expected/normal) - remove microcode found with MC Extractor #1+2 & #37 via hex as described in the FAQ
Then, after hex correction, extract and then release and reinsert RTEGROM.LOM for checksum correction using version 155

If you can’t get it and need me to upload the mod BIOS let me know



Thank you for the quick answer, I probably explained my self badly, I followed the faq on the first post, but when I use HxD i’m unable to do what the faq says, actually I can’t find the duped microcodes.

If you could provide me the updated file I will be grateful.
Thanks!

@Nemo1985 - For your future reference, you can find the duplicated microcodes and their location (offset) with MC Extractor, the offset is shown for each microcode on the right side
Here is mod BIOS - http://s000.tinyupload.com/index.php?fil…936697122539950
Flash with Qflash or in DOS w/ FLASHSPI.EXE

Thank you very much, for the file and the tip for offset location with mcextractor!

@Nemo1985 - You’re welcome! I think I included short notes in there too on what version cbrom I used for what edits, if not see post 351 above

Hi. I successfully managed to update the microcodes in the Phoenix (new style) BIOS of an HP Propliant ML110 G6 server. It has been verified by both intelmicrocodelist.exe and MCE.exe with the latest DB.

But even that way I can’t boot the system with an Intel Core i3-550 CPU. The service manual states that it supports the i3-540 but not the i3-550.

I thought that by updating microcodes I would be able to use the -550 CPU but no, it doesn’t do it.

So… Is there any other place in the BIOS where I should look for a supported CPUs list?

@tokafondo

If the Bios specs says that the I3-550 is not supported by the Bios, it usually means that the microcode for CPUID 20655 is not there. So if i understand correctly what you did, you updated the microcodes that were already there but you did not add any new one. So to have a chance to see if it can work with your i3-550, you must add the microcode for CPUID 20655 in the Bios.

In the original BIOS, there is already support for the CPUID 20655.

before_modding.png



I thought that that microcode was obsolete and I updated it, but even that, the board doesn’t boot. It just only beeps with 1-1-1-2. I removed the microcodes for 106E3 as they belong to no production CPUs, and found no space to update the 106E5 without modifying the offset starting point.


after_modding.png

Does your mod BIOS boot OK with other known compatible CPU? Asking to check, in case your mod is broken mod BIOS and that is maybe why the 550 wont boot

The service manual states that these are the official supported CPUs:

supported_cpus.png



Neither the i7-860 or the i3-550 are there. But at least the i3-540 is.

I just swapped the i7-860 (not supported) for an i5-650 (also not supported) I had in another computer. And it booted… just once. When I did shutdown and tried restarting, the 1-1-1-2 beep codes (attached) were heard and not it does not boot again.

Clearing BIOS won’t help. Taking out and resetting battery neither, too.

And I put the i7 again, and it does always boot.

What I’m thinking is that the board does think that the i7-860 is a Xeon x3460: both CPUs are basically the same:

Intel product specifications.png


link

(edit)

So… I think there is some kind of check in the BIOS for supported CPUs, and if they are not what expected, then it won’t boot.