Intel (Converged Security) Management Engine: Drivers, Firmware and Tools (2-15)

And what I don’t understand is if I take a stock bios cap file from Asus and reflash everything using FTK why it is not working? If I reflash every region of the BIOS with stock would it overwrite the DATA section of ME region too?

The guide says "This guide is relevant to those who need to clean the DATA section of an Engine (CSME, ME, CSTXE, TXE) Region, which is part of a dumped SPI/BIOS image, in order to flash the latter on a different machine of the same OEM model. ". In my case, I guess something is wrong with my motherboard’s BIOS, so why cleaning the data section will help here?

Could you help to explain what is the problem with my motherboard? Thanks a lot.

Ok but still u need to clean it… but clean a current dump of the SPI as it is now on the system.
Follow the guide careful and by the numbers, it will work.

This sounds a little as if you did flash an unconfigured ME from the repository- on the other hand you say you did follow the guide.
It should also work to flash a complete Asus stock firmware (though loosing serial/UUID/MAC…this way if not transfered) or a ME region from the stock bios.

Did you check if flashing went well? Did you read the content of the bios back and did you compare it to file you wanted to flash?

If in doubt you might flash post a dump of your current firmware and/or the cleaned ME image?

Thanks MeatWar and lfb6. I am thinking is it because I previously flashed the full Asus stock bios CAP file downloaded from Asus website using FTK reflash and I have lost the configured data in ME data region already? So now if I take the dump and clean it it will not work because the dump does not have the data anymore.

Mainly yes…the easiest way for u now for a quick fix is the use of a CH341 SPI programmer, if u got one, with the extracted Intel image of the stock file, from the CAP.
To this stock u can use the F44Editor and add manually the motherboard data or copy it from a previous old dump, after that reboot once more, shutdown the machine and do an Asus BFB with same version.
Later upgrade the ME manually to latest version with the FWUpdLcl64 tool from the ME8 system tools.
Im not sure if the Intel FPT with -rewrite will do the same…cant remember really. lfbe may give us a hint on this or plutomaniac.

EDIT: FD44 Editor https://forums.overclockers.ru/viewtopic.php?f=25&t=447045
Scroll down to #7

I am not sure how to edit the motherboard data manually, and I don’t have an old dump before the full reflash. Is there a guide somewhere to teach how to edit the data manually?

Did you flash the full cap? I’m not used to the FTK scripts, it’d be useful to post a screenshot of the output to see what exactly was done.

Thanks lfb6.

Let me provide more details.

I was trying to mod my P8Z77 V-PRO’s BIOS to enable NVME support following the guide in this forum. I have done it before for another MB (P8Z77-V LE Plus). I was doing it in my spare SATA SSD which have Windows 10 installed (but installed for the LE Plus). Everything went well except at the end when I tried to shut down the machine I got a Windows BSD. When I restarted the machine, it cannot boot into Windows, nor Windows boot USB, with an error “blinitializelibrary failed 0xc0000001”. Also saw the system date time shows funny values and cannot be modified. Tried to flash the stock BIOS and after some tries got “blinitializelibrary failed 0xc0000185”. It is at that time I noticed that the ME version shows N/A and some values are also N/A on the main BIOS page. I googled and found ME region may be corrupted and so was finding ways to reflash the ME region. Found some posts that mentioned FTK and tried a few rounds then realized that the BIOS version I have (2104) has write protection so FTK cannot write to it. So I downgraded BIOS to 1708 using Asus Ez-flash and after managed to use FTK to re-flash everything.

For FTK reflash, what I did was this: I made a DOS boot disk USB stick using Rufus, and copied FTK 0.12.0 from https://github.com/LongSoft/FTK/releases/tag/0.12.0 inside it. I then took P8Z77-V-PRO-ASUS-1708.CAP downloaded from Asus support website and put it into the same USB stick. I found out that FTK8 is the version that works with Z77 chipset (by trial and error). So in FTK8 folder, I ran reflash.bat which based on the documentation writes all regions.

I just checked the reflash.bat file. It actually copies data from the backup bin to the incoming bin file, so actually, the data is not lost I guess. Below is the content of reflash.bat:
@echo off
if not exist bios.bin goto ERR_BNF
echo Creating BIOS backup.
if exist backup.bin del backup.bin
fpt -d backup.bin
if errorlevel 1 goto ERR_BCK
echo Copying all data from BIOS backup to bios.bin.
fd44cpr backup.bin bios.bin
if errorlevel 2 goto ERR_CPR
echo Erasing and flashing BIOS from modified bios.bin.
fpt -rewrite -f bios.bin
if errorlevel 1 goto ERR_FLS


Anyway, I just tried to follow the “Clean Dumped Intel Engine…” guide again to clean the dumped BIOS and flashed it again using FTK, and the result is the same. Some notes I took this time:
- Picked Intel ME System Tools v8 r3\Flash Image Tool\v8.1.40.1456
- Picked 8.1.0.1248_1.5MB_PRD_RGN.bin, as MEAnalyzer showed the ME version of the dumped BIOS is 8.1.0.1248 1.5MB SKU.
- Loaded the dumped bin file in FITC. Followed the steps. Only thing I changed is Flash Image > Descriptor Region > PCH Straps > PCH Strap 2 > Set “Intel (R) ME SMBus MCTP Address” to “0x00” (was 0x2B).
- Copied the 8.1.0.1248_1.5MB_PRD_RGN.bin to replace the ME region.bin in the Decomp folder.
- Compared the generated XML files from the backup.bin and outimage.bin and the only difference is 0x2B vs 0x00 as above, and the file location differences.
- Boot into the P8Z77-V Pro motherboard and run reflash.bat, and ftp -greset. The system will reboot instead of just shut down though, so I manually turn off the PSU and waited for 30 seconds.
- I can confirm the ME region is updated by my last reflash, because the ME version of the backup BIOS done by FTK this time shows 8.1.70 which is the version I used last time when I do the clean dump.

Pictures:


BIOS showing ME version N/A and other N/A
Funny RAM speed value
Funny values in date and time
Funny values in date and time after trying to modify them
FTK Reflash running
FTK Reflash complete

I’m not a mod but your post would be more readable if you’d use thumbnails of your pictures instead of posting them close to full size. Or use a spoiler (fourth symbol to the right in the list of tools, the eye). And that’s a lot of text- I assume you are familiar with the term 'Wall of text"?

This is possibly not ME related but seems to be caused by a bad bios modification. A corrupted ME might have the syptom that the ME- version can’t be read by the bios, but since the bios can’t disply it’s own values (date, ram, …) correctly this seems to be a bios error.

Please attach/ post (if you have)
- a dump/backup of your own bios before any modification (should be the first ‘backup.bin’ on the stick, if you happened to save it…)
- the NVMe- modded bios you prepared
- a dump of the bios you’re using now (“fpt(w(64)) -d spi.bin”)

(You might consider buying a CH341 programmer, seems you were quite close to a brick. In addition your bios seems to be socketed, so it’ll be easier to flash and you might as well buy one or two additional chips, so that you can keep the original bios chip as a backup until everything works)

Thanks for the advice on improving the readability of the post lfb6. I will move the pictures to Spoilers. And sorry for the long text.

- a dump/backup of your own bios before any modification (should be the first ‘backup.bin’ on the stick, if you happened to save it…)
I don’t have it any more, because at the beginning I was just using Ez-flash.

- the NVMe- modded bios you prepared
- a dump of the bios you’re using now (“fpt(w(64)) -d spi.bin”)
They can be found here. https://www.dropbox.com/sh/piw35ss1u1g9v…0JasB8TH6a?dl=0

Thanks.

I can’t see any fault with the NVMe insertion in 2104.

The backup you linked is for the bios region almost identical to 1708 bios region, only difference as expected in NVRAM. There’s anyway no board specific data any longer.

Lets get back to a clean start:

- Extract the bios image from the original P8Z77-V-PRO-ASUS-1708.CAP, meaning cutting the first 0x800 in HxD or ‘extract as is’ for the ‘Intel image’ in UEFIToolNE, save as P8Z77VPRO.bin. Check size (8.388.608 bytes), structure should be OK in UEFIToolNE…
- Flash this complete stock bios image with ftp(w(64)) -f P8Z77VPRO.bin

- Read the SPI again with ftp(w(64)) -d P8Z77VPRO.bak
- Check if both files are identical (like ‘fc /b P8Z77VPRO.bak P8Z77VPRO.bin’ or compare in HxD)

- Switch off the PC, disconnect mains
- Remove battery for 30sec/ 1 min or use CLRTC jumper

- Set back jumper/ put in battery, connect mains, start PC again, check if the bios still shows crubled values.


Please post screenshots of the flash/read process and, of course, same pics of the bios pages/ screens that showed crumbled values before.

Hi lfb6.

Thanks for helping. I did the steps. My boot disk does not have FC command. I did it at another machine later, and here is the output.
J:\FTK\FTK8\DOS>fc /b P8Z77VP.BAK P8Z77VPRO.bin
Comparing files P8Z77VP.BAK and P8Z77VPRO.BIN
0000107E: 72 FF
0000107F: 80 FF

Here are the photos

OK, thanks.

I take it you did load ‘optimized default’ when rebooting for the first time? Did you check the CMOS battery (just in case).

Did you try to set date and time?

You confimed, that the stock ME region was transfered correctly. The 2 different bytes were in GbE region.


Just as a last try (I don’t think this will change anything):

Flash the attached ME, latest and cleaned: ‘fpt -ME -f P8Z77VPRO_ME.rgn’

When finished execute ‘fpt -greset’ (system will do a hard reboot)

P8Z77VPRO_ME.zip (982 KB)

Thanks lfb6. Yes I loaded ‘optimized default’ and tried to set date and time. It does not work. I changed the battery to a new one at the beginning of this whole thing. I flashed the ME rgn just now and did the reset. After that, the same issue is there. So I guess it is something wrong with the BIOS, not the ME region. Will check out the CH341 programmers you mentioned.

Thanks for the feedback!

I’m sorry, but then it’s nothing in firmware/ ME/ bios region, settings stored in CMOS or in NVRAM. CMOS is reset, bios is re-written several times with stock bios and empty NVRAM, EC firmware mentioned on the bios page is part of bios region, too. So all this is is OK! Your flashes were properly done, the NVMe mod, too, was good (and stock bios neither works!), last flash you did check content of the chip and only difference were 2 bytes in GbE region, so chip is properly written, no need to do it again with a programmer, result won’t differ!

It has to be hardware- a clock signal missing or not gettig back to ME/bios, something like that. What did you do when all this trouble started? Did you put in the adapter card for the NVMe disk? Undo it and check the PCIe slot(s) for bent contacts, re-seat memory and cpu, check memory sockets for bent contacts/dirt, check cpu socket for bent contacts… Start with minimal hardware connected, just 1 memory module, no other cards…

Thanks a lot lfb6 for all the help you have rendered! It eliminated a lot of possibilities for me.

I did not put in adapter card. I am working with just the motherboard, 1 RAM stick, CPU and PSU. Let me check the contacts of the CPU and RAM sockets.

Thanks again.

As i said previously… the last i recovered was an Asus P8Z77-V, that it didnt work also (ME n/a) beside all attempts as described here and other posts/guides, the final solution was CH341A…was back in August.
Its easy as the SPI is socked.

EDIT: I’d say that the SPI looks still usable for now.

Thanks MeatWar. I will get a CH341A. Do you think the current BIOS chip is still fine or I also need to get a new chip?

@lfb6 - to update, I checked the CPU and RAM sockets and they looked Ok. There seems to be some dust in the CPU socket at 1 pin. I managed to get rid of it, but a retest showed the same result after that.

Again thanks for the feedback. I’m out of ideas and I don’t see the meaning og using a programmer. You were able to flash and read back the firmware properly, and it was identical, so I wonder what a programm will do differrently. But maybe I’m missing something here…

lfb6… m8…maybe ur not missing nothing at all… dont waste ur brain with such issue, it can work or it cannot, maybe hes got as u said before a really hw issue on the mb, cheers.
I recovered many by cleaning the ME image but, the last one i got, only with a CH341… how about that…lol