AMI INTEL CPU Microcode Update Guide


[quote="lfb6, post:397, topic:32169"] ...... make a backup of current bios or bios- region with fpt

Tools: See Section C2 in
Intel (Converged Security) Management Engine: Drivers, Firmware and Tools

Look for ME System Tools v9.1 r7 - (2018-09-01) Should be ME 9.0 or 9.1 if I'm not mistaken.

Use Flash programming tool, fpt(w(64)), naming according to dos/ win/ win64 version.

fpt(w(64)) -d spi.bin would dump the complete chip, unclear if flash descriptor is unlocked already.

If you get an error use
fpt(w(64)) -bios -d biosreg.bin

Post or attach the result

Don't use these tools to write if you don't have 1) a hardware programmer and 2) a valid backup of your complete spi chip!!!!! [/quote] You can continue in collecting "signs" and "symptoms" but that won't help much since you possibly won't find many other people who destroyed their bios the same way as you did......

I recommend strongly to dump your bios now as long as it's possible with software tools. There's a certain danger that you'll end up with a bricked system having lost the machine specific information (mac address, serial, ...), too, if you continue to flash 'something'.

I downloaded that ftpw64 and the first thing it does when launches is trying to update the bios and then it gives this error -CANT UPDATE BIOS. The ROMID is not compatible-
So i used Universal Bios BackupToolKit 2.0 to backup my bios and will link my bios dump since i cant attach it here due to size limit
http://s000.tinyupload.com/?file_id=12080392696141565515

You definitely did not run fptw64. Without switches it gives you a list of options, the command fptw(64 -d spi.bin will dump the complete spi chip, and will not try to write. In addition fptw dosenā€™t care about ā€œROM IDā€. See pictures in spoiler for output (Dump on a H97 system, meks no difference)

1.options

fptw64.jpg



2.-d spi,bin

fptw64-d.jpg



3. -bios -d biosreg.bin

fptw-bios-d.jpg



Make screendump of command window such as one can see the written command and the output and post it.

- The command needs to be run at the command prompt directly in the folder where fptw64.exe is located.

- In the folder there are only allowed 4 files when you start: fparts.txt, fptw64.exe, idrvdll32e.DLL, pmxdll32e.DLL

- Command prompt has to be run as administrator

Make screendump of command window such as one can see both the entered command and the output and post / attach it.

Ok i think i donwlolad the right file this time but when i try to put those command it gives me an error

Ok i finally managed to dump that bios using the biosreg stuff

http://s000.tinyupload.com/?file_id=01557249159128853494

Untitled.jpg

jj.jpg



The first error you got could have been because you didnā€™t have admin priviledges or even more likely you have a locked bios?

Think there is a way, although complicated way, to unlock that lock.

Anyhow we really need a full dump. This image is missing the ME region. Like to know what version ME your running.

Maybe you could run MEinfoWin64.exe?? Its in the CSME package. Post the results.

Thanks

Edit: Might want to try to flash the latest 4101 bios release for your board. This may over write the faulty flash data due to being newer data.

Interestingly enough seems like Uefitool NE Alpha has trouble locating the correct location for the FIT data in the official Asus bios release.
Point to the wrong pad file. Anyhow I have noticed Asus bioses always have backup volumes and redundant microcode volumes. When modding
I always make sure each on is identical.

Anyhow still curious what version ME your running.


DONT DO:


If feeling adventurous as this involves risk:


Try this: fptw -rewrite -bios -f bios.bin

You could also try: fptw64 -greset

OK, thanks. The error for the SPI is expected, thereā€™s a read protection for the ME region of the bios.

@loris100 Despite of board specific information and NVRAM your dump is 3801 stock bios. Thatā€™s so far as expected, oem bios update programs donā€™t update the complete bios region but spare the settings (NVRAM) and the board/ machine specific data. Error might be in NVRAM volumes, these wonā€™t be completely reset whe loading defaults in bios. Other part of bios that can be corrupt would be ME.

Primary LAN MAC: AC9E17B553A8
DTS key: Not present
UUID: 8068D43F22C0D3118DD5AC9E17B553A8
MBSN: 141134744700310

There are different things Iā€™d like you to do:

Try to get as much as possible regions from your bios- please run:
fptw64 -DESC -d FDreg.bin
fptw64 -GbE -d GbEreg.bin
fptw64 -ME -d MEreg.bin

Post the result of
fptw64 -i

Now see the picture: You see on the left side your first bios dump (Universal bios backup kit), 16 MB, though missing Descriptor, GbE and ME region, all replaced by FFā€™s in first padding, the first EfiFirmwareFilesystem volume is the start of the bios region. On the right side thereā€™s a ASUS stock 3801 bios, complete structure with Descriptor, GbE, ME (Your own bios does have these too, you just didnƦt have the right to read them/ one of them). Compare the NVRAM volume(s), your bios dump has 2 volumes, the stock bios has an almost empty NVRAM, just the default, the rest is generated dynamically.

25.jpg



Next thing to do would be to try with a stock/ empty NVRAM, possible ways of accomplishing this would be
- prepare a bios region with stock NVRAM and combined with your dump, flash the complete bios region, but that depends on write access to the bios- and even if the bios region is unlocked in the descriptor, there might be protected ranges within the bios region.
- flash just the NVRAM region, since itā€™s constantly rewritten thereā€™s normally not much protection of this area. But that needs to be done precisely, itā€™s dirctly followed by the FIT table

Please run these commands directly after each other. NVRAM gets updated constantly, so one reboot makes the dumps before and after that reboot different.
fptw64 -BIOS -d biosreg2.bin
fptw64.exe -A 0x180000 -L 0x80000 -d nvram.bin

The first command gives complete bios region with current NVRAM, the second command reads the first 512kB of your bios region, corresponding to both NVRAM volumes. I would like to have both the dumps directly read after each other, for comparing if address and length in the command are correct and give right result.

The fpt command @davidm71 mentiones would make fptw64 rewrite the bios region with a file bios.bin This file bios bin has to be a correct working bios region, otherwise itā€™ll brick the board! Iā€™d not update the board to 4101, the static parts of current bios are identlcal to 3801 ASUS stock bios, the NVRAM will not be reset anyway.




Sorry didnā€™t mean to mislead or risk a brick. Thank you Ifb6 for pointing that out!

Anyhow if he used EZ-Flash on the newer version would that still risk bricking?

Sorry againā€¦

@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