[SOLVED] GA-H55M-UD2H i5-750 Microcode update needed.

Hello, can someone help or provide a bios for GA-H55M-UDH2 and especially i5-750 cpu microcode?

As far as I can see with MCE 3 or 4 microcodes are available for supported cpus, one of them is the i5-750 I got.
For some reason no matter what method I try, cbrom, hexedit, it always end up messy, and invalid checksum as well.
So I’m asking for help.
Link to bios: Can’t post links yet, its the F11 for GA-H55M-UD2H (Rev 1.0)
CPUID is: 106E5

Thanks for your time and effort!

At first open the file with firmware by UEFITool and extract BIOS-region from it. E.g. with name bios.rom
Then use CBROM to update microcode in bios.rom
At last replace in original firmware BIOS-region with updated bios.rom by UEFITool



Thanks for the information, although can’t seem to update microcode in bios.rom,the extract region gives a .rgn file from UEFITool, thus I rename it to bios.rom but when I issue the cbrom command it hangs, does not update the microcode in it. Im sure I am doing it wrong.

@thanosdk - YOu need to use correct version of CBROM, maybe 1.55 or 115, not sure, I’d have to edit this BIOS again to tell you for sure. * Edit use 115
What version of BIOS are you using? I already modified F11 for 106E5, but with older microcode (2013 I think), if you want this let me know and I can upload for you.
But, I can make new mod with any version BIOS for you if you want, I think latest I have is F12j, latest microcode for 106E5 is Rev 0x0000000A from 2018.



Yes that would be awesome, I am using CBROM 155, but Qflash always report invalid bios image no matter how I do it, MCE reports the microcodes correctly without any problems. Well the bios i need is F11 for my specific mobo GA-H55M-UD2H Rev 1.0 and especially i5-750 but if you have an updated bios with latest microcodes its more than welcome!
How did you get F12j ? I only see up to F11 in bios downloads in Gigabyte’s website for my specific mobo. Remember I have Rev 1.0 not Rev 1.3!

The bios I need to be modded with last microcodes is https://download.gigabyte.com/FileList/B…5m-ud2h_f11.exe

*Found F12j beta on softpedia for GA-H55M-UD2H Rev 1.3 though, but still with old microcodes.
*CBROM 115 seems to work better, it adds the new microcodes on top of the existing ones, but still Qflash reports invalid bios image. Well Im lost at this point.

What triggers me is that my cpu 106E5 has two entries, I don’t know if that makes a difference.

What I do is:

put new microcodes bin files in a folder along CBROM 115 and original bios, combine those bin files with an empty NPCUCODE.BIN via copy /b command, set NCPUCODE.BIN read-only and then issue the command with CBROM biosblahblah /nc_cpucode NCPUCODE.BIN
I check then with CBROM biosblahblah /D
Microcodes are there, I check with MCE as well, they are there, currently with CBROM 115 they are added along old ones.
I put the new modded bios into a usb, boot into QFLASH, reads the file, invalid bios image.

I would love if you could share with me yes, and also I would like to know where I mess it up, just for future reference.

Thanks a lot!

155 is not ideal for this BIOS. Here is F11 mod I already did if you want, this has 2013 microcode for 106E5 - http://s000.tinyupload.com/index.php?fil…502181138679004
I can do F11 with latest microcode, or F12j etc, up to you. F12j is from official sources, latest beta, but since this is very old board now, I would call this official final BIOS.
You can get here, if you want to test it before I mod for you - https://www.tweaktownforum.com/forum/tec…atest-beta-bios
1.0 and 1.3 use same BIOS, no difference.

Not sure what you mean about " my cpu 106E5 has two entries" If you mean after you insert with 115, then that means insert needs fixed after cbrom edit
Qflash saying no, also may be due to that, or something else needs fixed as well. Did you put the BIOS region back into full BIOS file via hex, before you try to Qflash it? If not, that is why Qflash tells you no, you can’t give it just the BIOS region.

Let me know what you want to do, and I will make you BIOS if you want. And yes, if I do mod, I can outline steps I make for you



Thanks for the upload, I will test it, yeah if you open original bios with MCE for example, you’ll see i5-750 has two entries already, one with rev 1 and one with rev 4 for the same CPUID.
Well, if you could yes, a latest bios with latest microcodes is more than welcome. I didnt use hex in my last tests, but I will try again, in meantime yeah thank you a lot for doing this, F12j it is then.

Yeah just to see where I mess up because Im following like every step carefully, but somewhere I make a mistake.

I see what you mean now, there is two different 106E5 by default in F11, I gotcha! Yes, I would remove both, insert only one
OK, I will make you F12j with 2018 microcode



Thanks mate, really appreciate it!

@thanosdk - Here comes a wall

I update ALL microcodes here, put all new microcodes into same folder, then run CMD below from that location get new NCPUCode.bin
Except 106F0 and 106E3 cannot find latest version

1. dir /b > dir.txt (make a list of folder contents, easier to edit CMD for #3)
2. Nul > NCPUcode.bin
3. Open dir.txt, edit to match below example * (your files/names may not be same, so this just example) always a space on both sides of + symbol
3a. Command generic example >> copy /b ucode0.bin + ucode1.bin + ucode2.bin ncpucode.bin
4. Check all looks OK in MC Extractor before using

* Example command #3 >> copy /b cpu106E5_plat13_ver0000000A_2018-05-08_PRD_B16FCEEB.bin + cpu106E3_plat13_verD107090A_2009-05-04_PRE_BDE886FB.bin + cpu106E1_plat13_verFFFF000D_2009-02-06_PRE_30FA4231.bin + cpu106F0_plat13_verFFFF0001_2008-08-27_PRE_9F2ABF2B.bin + cpu106F1_plat13_verFFFF0007_2009-02-10_PRE_4D02492B.bin + cpu20651_plat13_verFFFF0012_2009-07-23_PRE_7D62F211.bin + cpu20652_plat12_ver00000011_2018-05-08_PRD_6E121A49.bin + cpu20655_plat92_ver00000007_2018-04-23_PRD_8B585C97.bin ncpucode.bin

Cbrom155 used for actual insert/replace here, please note below when different versions used.
115 doubles on insert, and will not replace w/ blank, so not ideal, for this BIOS anyway.
155 crashes on ucode scan, so ignore and use 115 for "basic check /D"
Above 155 can cause issues, but I always double check sensitive areas after done anyway no matter version, to confirm OK


1. Open BIOS in hex editor, go to 700000, select all from 700000 to end of file 800000.
2. Save as 1MBBIOSCut.bin or 1MB.bin for simplicity << This is 1MB actual BIOS file we work with.
3. Open in Cbrom115 /d
4. cbrom155.exe 1mb.bin /nc_cpucode NCPUCODE.BIN
5. cbrom115 /d << Check to see "Looks OK"
6. cbrom155 1MB.bin /logo1 extract (Save as dbios.bmp)
7. cbrom155 1MB.bin /logo1 release
8. cbrom155 1MB.bin /logo1 dbios.bmp >>> #5-8 here is done to force cbrom to recalculate the internal checksum
9. cbrom115 1mb.bin /d << Check to see "Looks OK"
10. Double checking everything >>

First, check mod in MC Extractor, make sure no dupes or packed error, if so see #1 fix here in FAQ
Then I compare stock 1MB extracted vs mod 1MB extracted side by side with several tools, Award BIOS Editor 1.02-2007 >> File, Properties >> Compare side by side, all should be same/similar
Then same, compare stock 1MB extracted vs mod 1MB extracted side by side with BIOS Information Toolkit side by side, should all be same/similar

Then final sensitive module offset check via hex, side by side stock 1MB extracted vs mod 1MB extracted.
Check all the following, must be at same exact offset in each
1. MEMINITENTRYPOINT x2
2. (GV3) Search term >> PPMINIT
3. (MINIT) Search term for this BIOS >> csimemrc

11. Insert back into stock BIOS at 700000, save as mod BIOS name.
12. Cross fingers & Flash!

QFlash checksum should be >> 0002 or 0807 (Not 00FF stock), but I’m not 100% sure if this one gets Qflash checksum same as others, due to it’s internal layout and 4-5MB ME FW w/ tons of padding everywhere
http://s000.tinyupload.com/index.php?fil…664446981737652

Can’t thank you enough for this!
Your first version F11 with microcodes from 2013, gets invalid bios image in Qflash Utility.
F12j from official source, flashed correctly.
F12j with microcodes from 2018 flashed correctly!

So thank you tons for this, I drove myself mad, and for more knowledge into this, because I wanted to see if microcodes from 2018 would fix Meltdown for this particular CPU, but Inspectre reports that not, oh well, new bios at least, I will read extensively your guide and keep it for future reference.
*See your guide has way more informations than usual guides I came across, lots of steps missing from other guides so yeah it really is easier to figure out now what I did wrong!

Thanks again mate, really appreciated!!

In fact, everything is much simpler. :slight_smile:



You mean the way Lost_N_BIOS does or maybe another easier way? Its kinda interesting dealing with all of this things related to BIOS, hopefully I use Gigabyte in all my systems and Dual Bios is a lifesaver because I really wouldnt want to mess with the board itself due to bad flashing.

@thanosdk - Hmm, thanks for the info about old F11 edit, that user I modified that for before must not have got back to me to let me know.
Thank you, I will make a note it’s invalid my folder! They must not have released Spectre/Meltdown fixes for your CPU But, I think software/windows side should protect you.
For both of those anyway, I think hacker has to have physical access (or LAN) to your computer, so you should be OK unless others use your system or LAN that may be hackers

As DeathBringer said, it can be done in a few different easier ways, but I prefer to do this way, because it’s how I do a similar more extensive edit on some of the more sensitive modules in Gigabyte BIOS, to keep process all same/similar as “best practices” type of thing
Plus, when I outlined an edit method like that for others, I know many read later, and may want to apply it to other model BIOS, so I try my best to always keep same ways of doing things that are best in line with safety so BIOS is not bricked (especially all the checks mentioned)

You’re welcome! BTW, what was the Qflash checksum?

@DeathBringer - Yes, I know it can be done in other much simpler ways, but that is my method, in order to always keep same good processes in practice
And so others learn same safety checks if they learn/use this for same or other edits, mainly for those more troublesome Gigabyte BIOS (keeps my sanity in check)

Why do you mention some “simpler method”, you are not tutor
Just giving you a hard time, joking, because you always say that



Hey, 0708 is the checksum for BIOS F12j with 2018 microcodes. Looks like Qflash Utility went version 2.23 as well.
Yeah the guide is neat, and easier to follow than some others I came across, now I know why I always ended up having invalid bios images. Pretty weird they don’t include all the checks you wrote down. Hopefully Dual Bios gives enough room to trial and error.

Yup, no microcodes for Meltdown, oh well, I left spectre one on and disabled Meltdown, to avoid deep impact in performance, but it’s my third machine so I don’t care so much, but still I wanted to exhaust those possibilities, O.C.D rulez :smiley:

@thanosdk

Flash original BIOS F12j
Make DOS USB-stick (e.g, by Rufus), download and unzip all files for the modded version of CHECKUP7 to this DOS USB-stick.
Download latest microcode for CPUID=0x106E5, rename it to PEP.DAT and copy (with replacement) to this DOS USB-stick.
Boot from this DOS USB-stick and make a photo of the screen with results.

@thanosdk - Thanks for the checksum confirmation!
Many of those checks are not required here, just best practice with Gigabyte BIOS. We did not move/edit anything about sensitive modules here, so the checks were mainly my usual routine no matter what, just to be sure.
When you edit stuff above the sensitive modules I mentioned, then it’s 100% mission critical to do the checks and work around to make proper when needed, otherwise Qflash will take the BIOS and flash in a bricked BIOS.

Dual BIOS cannot be relied on for anything, it’s very rare it can save you, so do not do risky things thinking it will be able to help.
It’s only a good idea on paper, in reality, it often fails to be invoked even when using force invoke methods.

@DeathBringer - F12j BIOS already flashed in with latest microcodes



Its another way to flash the F12j original bios with latest microcodes?



Well last time I had to invoke it, because I was toying with the bios, like I was till I flashed yours, I had to power off, power up with Power button+Reset button and then it appeared, otherwise it wouldnt appear at all.

You got lucky, many times you can’t invoke it and you have to either use flash programmer, or short BIOS pins method (which you can blow traces on the board if not careful)
Yes, he will help you update some, or all microcodes that way too, if you wanted



Well did not know about this method at all, much much easier indeed but knowing all possible methods is always best.
Yeah maybe I was lucky, and since nothing can be done for meltdown on bios level, well, I leave it with F12j and latest microcodes.

Thanks both of you guys, I learned something today :slight_smile: