AMI INTEL CPU Microcode Update Guide

@lfb6 @davidm71 thank you for your time guys, im not home but later when i get home i will try those steps, i have the 3801 bios because it doesnt have the Spectre patch in it, the 4101 have the spectre patch, i didnt test much but it seems like there isnt a performance difference between these 2bios’es and this looks strange, this is why i wanted to get rid of these cpu patches in first place, to gain a bit of performance

Assuming its possible to go to 4101, ask Ibf6 first, that could fix whatever ME mismatch nvram issue your having and then would just mod the microcode on 4101 instead. Wouldnt use command line tools. Ask Ibf6. Ignore my previous instructions. Thank you.

@davidm71 No offence meant! But I got very careful about all flashing commands, especially if I know there’s no programmer around, or no complete backup …

I’d probably try this kind of check for write protection in direct combination with a dump, like fptw64 -bios -d biosreg.bin and then directly followed by fptw64 -bios -f biosreg.bin, this way I’d be sure to have identical names and the correct file to flash back.

Use of Asus flash programs is unclear for me, but since static bios parts are identlical to stock this would be mainly interesting if there would be an option to reset the NVRAM. And I’m still not sure how far this reset would go… Locked into manual, EZ-Flash doesn’t have any options, Bupdater isn’t even mentioned with this board and I doubt that it would have options to reset the NVRAM.

pers1.jpg

pers2.jpg

4101 and 3801 stock have identical FD, GbE, ME (9.1.37.1002) and NVRAM defaults. And it's again completely unclear for me what this ASUS updater would do here: Will it rewrite same version ME- region?

I did some dumps as you said
biosreg2.bin http://s000.tinyupload.com/?file_id=30093942184861611200
FDreg.bin http://s000.tinyupload.com/?file_id=48474111363706437368
GbEreg.bin http://s000.tinyupload.com/?file_id=00056031369608813590
nvram.bin http://s000.tinyupload.com/?file_id=56325216656804593219
fptw64 -ME -d MEreg.bin gave me an error
and will attach fptw64 -i

pp.jpg

@loris100 OK, thank you. Clipping the NVRAM with fptw64 worked fine.

I’d like to check some more things since you don’t have a programmer- but that will take some time, at least until tomorrow!

Next step would then be replacing the NVRAM with an empty stock NVRAM (see attached file). Command would be
fptw64.exe -A 0x180000 -L 0x80000 -f nvram_cl.bin

That should work, but as always there’s a risk for a brick when flashing the bios!
(And there’s no warranty that this will fix this error, but the only other thing in bios would be ME and I doubt that Management engine will be the culprit here.)

As far as I can see your board does have a socketed bios chip? I’d recommend buying a cheap CH341A programmer, makes life a lot easier, especially when you have more modding in mind!

bios.jpg

nvram_cl.zip (2 KB)

Hi, i replaced the NVRAM with the one you provided, it flashed successfully but it still shows 3 cores and 6 threads, when hyperthreading is disabled it shows 6 cores and 6 threads as before

ee.jpg

@loris100 OK, was actually writing a definitve text since I wanted to try ‘resetting’ NVRAM within Windows myself, did this always with programmer.

If this didn’t work, then it’s from bios side only ME that’s not yet checked- and I’m not very optimistic that this is ME related. Possibly @plutomaniac knows if getting wrong number or cores / threads could be ME related?

Do you have the option to use another (clean) OS/ Windows installation, maybe from an USB stick?


Since already uploaded:
Bios region 3801 with board specific data but stock NVRAM
here’s a link to a complete 3801 spi image with your board specific Flash descriptor, GbE, Stock ME region, and bios region with your board specific data, but clean / stock NVRAM

@lfb6 Ok i will try a new windows install, what should i do with your attached files? Do i have to flash them now or try after a new windows install? They are RE and BIN files, i dont even know how to flash them?

There’s no need for more flashing just now. Cleaning/ re-flashing ME would require unlocking flash descriptor first anyway (or a hardware programmer), but I hope plutomaniac will give a hint here if ME could be the cause.

Please run once MEInfoWin64.exe -fwsts (Intel ME System Tools v9.1 r7\MEInfo\WIN64, admin prompt) and post the result.

Those 2 other files are just ‘side effects’, keep them as backup, I’ll delete them afterwards. They’re all binary, re meant for region (naming it reg would make it a registry file), spi a complete chip image.

This is what i get…

Edit: i clicked on the file the first time, but now i run the command line there…

rw.jpg

qw.jpg

@lfb6 Installing a new windows fixed it
Thank you so much!!

But im still curious to remove all cpu patches and to see if it performs better this way, older bios like the 3801 doesnt have spectre patch in the microcode vs the 4101 who has that patch but the performance is identical

s.jpg

That was my suggestion as well. Though never thought it would work. Wow!

Well, I had the idea in the start, but …

Emptying the bios for µcodes is quite easy, but I doubt that this will help you, it might even leave the system bricked.

And there’s still Windows µcode update. I’d recommend reading a little about checking the currenctly used µcode in your system (bios/ windows), checking which mitigations are used (and if retpoline is activated), and- last but not least- to buy a CH341- programmer just in case…

Good luck!

https://support.microsoft.com/en-us/topi…cc-357f104f5b11

reg query HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0 | find “e R” (normal command prompt)
If bios µcode revision is newer than windows µcode only bios revision is shown

For list of µcodes in mcupdate_genuineintel.dll- drop file on MCE.exe

@lfb6 I have always disabled spectre patches on windows, now they are disabled on bios too because the microcode on the 3801 bios is older and only the new bios like 3902 and 4101 has those microcode updates for security, now my question is, on the asus site i see under the bios description its writen this: under 3902 Bios: Updated CPU Microcode for Intel security issue. Under 4101 Bios: Updated uCode for Intel security issue.

What is the difference between Microcode and uCode? now i know i can change microcode when i flash older bios, but have no idea what uCode i have right now and if there is a way to change that version to pre spectre patch

Untitled.jpg

Untitlgbged.jpg




It doesn’t matter who had the idea at the start as long as the issue is resolved though had suggested it before editing it out later because I thought no way it was going to work reinstalling windows. In anycase glad you guys you guys figured it out.

@davidm71 ‘I had the idea somewhere in the start of the whole process but never wrote it’ was what I meant.

@loris100 µ = micro => µcode = microcode

For 306F2 38 is in bios 3801, 43 in bios 4101, and 44 is latest, version in mcupdate_genuineintel.dll depends on your Windows version

OK, the registry query gives two lines for me and since I’m on 306C3 28 in bios they’re both identical despite 27 in mcupdate_genuineintel.dll:
reg query HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0 | find “e R”
Update Revision REG_BINARY 0000000028000000
Previous Update Revision REG_BINARY 0000000028000000

You might like to try the attached tool, it’s displaying µcode informaton and for older Windows versions content of mcupdate_genuineintel.dll, too.

1607-168.zip (230 KB)

@lfb6 Im not sure how to use that file you attached? Should i just click on it?

Untitled.jpg

Beg your pardon, sorry that it didn’t work! This tool functioned well for me in Win 7, 1607, 1709, 1809, 2909, 20H4 (but stopped showing content of mcupda…dll after 1607)

showmc.jpg

But this is the thread of davidm71 regarding updating µcodes for AMI bioses. I think it's getting a little off-topic now.

@lfb6 Well thanks for helping me with getting my cores back , to be fair no one helped me when i asked what should i do to get rid of the microcode update that has spectre patches, if i knew that i can flash older bios and would get an older microcode without the spectre patch i wouldnt had to deal with so many problems that i had these days…

Anyway still want to experiment with microcodes, i know how to use UBU now, i can update to latest microcode 0x44 but i would like to choose, i mean how i can put 1 specific microcode and install it with UBU and then flash it with flashback?? I would like to use latest Bios 4101 but with a different microcode and try them till i find the perfect one