[Guide] Clean Dumped Intel Engine (CS)ME/(CS)TXE Regions with Data Initialization

I have flashed the bios dump but the laptop turns on with a black screen. The bios chip of this laptop has already been flashed by someone else. The laptop works randomly, so I am assuming that it is a problem with the bios. But, I noticed that MEA shows an error message:

Error: Firmware is incomplete/corrupted, expected 0x600000 not 0x400000!
Warning: Firmware size exceeds Engine/Graphics region, possible data loss!
Note: Adjusted buffer to Flash Descriptor 0x0 - 0x600000!

I downloaded several bios dumps from the internet, exactly 5 bios dumps, but MEA displays the same error message in all of them. Are all the bios dumps I downloaded corrupted? I donā€™t quite understand what this MEA error message means. So, I donā€™t know exactly what to doā€¦

I doubt it!

The one 4 MB chip isnā€™t a working bios, MEA expects the sum og buth chips!! And you may flash the 4 MB chip as often as you want- if the 2 MB chip isnā€™t flashed with the proper image- part the machine will not boot!

outimage(2).rar (212 Bytes)

Does FITC also expect a 6MB bios dump? Should I merge the 4MB bios dump and 2MB bios dump to make it work in both MEA and FITC? Is this correct?

FIT expects a full firmware image to work (or in older versions the ME region alone can be used).

MEA compares firmware size given in FD with real firmware size and complains, but it works fine.

Both donā€™t care what it is in the bios region- you could givr the an image with a bios region filled with just FFs and they wouldnā€™t complain - but your machine wouldnā€™t boot, of course.

EDIT

REgarding the 2 MB chip: FIT works with what you give to it, bios region (which the 2 MB most probably contains part of) is copied unchanged when FIT builds an outimage- thereā€™s no check if this is a valid regionā€¦

So it might simply be a misplaced soic clip that gave you just FFs for the second chip.

What machine are we talking about and please post the dump of the first 4 MB chip

Lenovo G480 (LA-7982p motherboard)

Iā€™m posting the bios dumps that I downloaded from the internet and the backup I made of the bios:

G480 (LA-7982P).rar (6.2 MB)

Very grateful for your help!!!

Flashed both SPI chips (4 MByte and 2 MByte)?

When the machine has 2 bios chips, I usually have flashed both of them

OK, that sounded different earlier and you posted a 2 MB file which just was FF while your backup looks like a valid end- part of a bios region.

Then itā€™s possibly not firmware relatedā€¦

I have tried to clean a (CS) ME Region of a dumped file, however during the process of building image the following error was showed up in FIT environment:

Error 197: [Fit Actions] Invalid settings combination. If ā€œEOM on First Boot Enabledā€ is set to: ā€œYesā€, Then "Boot Guard Profile Configuration " cannot be set to: ā€œBoot Guard Profile 3 - VMā€

Error 20: [Csme Binary Gen] Error executing pre-build actions.

Error 2: Failed to build.

I have two doubts:

  1. What is the best way to solve this error: Change the EOM parameter to NO or change Boot Guard Profile to another value, for instance: 4-FVE?

  2. Why was it possible for LBE to clean (CS)ME Region of same file keeping EOM as YES and Boot Guard Profile as 3-VM, considering that they are invalid settings combinations?
    See link below for Dumped and LBE Files:
    Microsoft OneDrive

Hello.
Iā€™m wondering if you guys could help me (and many others, each one with itā€™s own) with my old laptop Dell, model Inspiron 5557.
Since itā€™s BIOS was updated via Windows Update (from 1.6 to 1.9) after a replace SSD and OS reinstall, an annoying screen with ā€œā€¦invalid configuration blablablaā€¦ā€ appears everytime that we turn it on! Trying to downgrade to 1.6 again was successful, but Intel ME with final error 2236. Installed Intel MEI version still same as 1.9 BIOS: 11.8.77.3664, when 1.6 is 11.8.60.3561. I believe thatā€™s related to dirty MEI Region. If I was correct, can you help us? Sorry for my bad english, and thank you for nowā€¦

Link for laptop BIOS:

https://www.dell.com/support/home/en-us/drivers/driversdetails?driverid=k9n6w&oscode=wt64a&productcode=inspiron-15-5557-laptop

PS: IDK how to dump current BIOS nor extract from Dell package.

It would be nice to get a ā€œrealā€ translation, preferable a human reading of that ā€œBLABLAā€ of yoursā€¦ and maybe we get a ā€œpictureā€ of what is the SSD related to the Intel ME FW of a system.

Bios updates only upgrade the Intel ME FW when theyā€™re required to (system has lower/old version) than the payload package and ME FW is never downgraded by normal flash methods.

Do you mean the backup is probably not corrupted?

Just one question: The 4MB bios dump does not correspond to the Engine region, am I correct?

Can someone help to unpack this HP Z440 ME into a clean ME area that can be flashed with FPT:
https://ftp.hp.com/pub/softpaq/sp90001-90500/sp90102.exe

Or at least point to tools to do so?

Along these lines, whatā€™s the latest version of ME 9.1? Anything newer than 9.1.45.3000 which is in this package ?

To the best of my knowledge, this is the latest version (9.1.45.3000). What is the problem with the current file format? I have updated them without any problems with FWUpdLcl64.exe. You donā€™t need to modify the files under v12. You can use !save.bat to save the existing version and write.bat to update it (9.1.45.3000_5MB_PRD_RGN_D8D49751).

series_9.1.rar (4.2 MB)

The earlier versions of the HP ME update had a clean ME region that was byte copied to the ME area of the flash 1-to-1, and one byte was set to ā€œ01ā€ to enable it to initialize upon boot.

So I wanted to extract the clean ME thatā€™s 1-to-1 match to the flash region out of the ME update file, but it looks like itā€™s sort of challenging with the bin files that are supposed to be used by FWUpdLcl64.exe

See this for that other approach - called MEBLAST:
https://ftp.hp.com/pub/softpaq/sp59501-60000/sp59991.html
https://ftp.hp.com/pub/softpaq/sp59501-60000/sp59991.exe

Before ME12 one could use a configured ME region for an update. But you canā€™t be sure that an update is configured properly for this machine since the update process doesnā€™t worry anout any configuration data but updates just the code partitions of an ME region. So the udate file might ot might not be configured correctly for your machine.

So you have to check the update file in FIT if it has the correct configuration, if so you might use it as a region. But whatā€™s all this about?

The link you gave is a procedure to update older workstations from ME7 to ME8 and the MEBLAST folder contains a complete firmware image, not just the ME. So thereā€™s no ā€˜earlierā€™, this is a single special case for the upgrade from ME 7 to ME 8.

Not just that, there was the same for installing ME7:
https://ftp.hp.com/pub/softpaq/sp59501-60000/sp59990.html
https://ftp.hp.com/pub/softpaq/sp59501-60000/sp59990.exe

That MEBLAST would literally copy the ME region out of the full size BIOS (with the FD jumper on), does not copy/touch anything else. I think later HP switched to FWUpdLcl64.exe for everything, with the repackaged binaries:
https://ftp.hp.com/pub/softpaq/sp82501-83000/sp82644.html
https://ftp.hp.com/pub/softpaq/sp82501-83000/sp82644.exe

Anyway, I thought 9.1 could do the same - if only I could find a clean 1:1 ME area somewhere, LOL.

Btw, if you need to see what the full Z440 dump looks like with that ME9.1 installed, see this:

Thatā€™s different models, the one you asked for first is Z1 G2, Z228, Z230, Z440, Z640 and Z840 Workstations, the ones you mentioned later are for Z420, Z620, Z820, Z1 G1, Z210 CMT, and Z210.

What kinda machine do you want to update from which version to which version?

Of course, you are correct, these are 2 different workstation series!

I want a clean ME image for Z440 (exactly sized to the flash chip ME region), but using that early meblast-like procedure from Z420. So would be doing this on Z440 with clean ME 9.1:
fpt.exe -ME -f me91_clean_image.bin

Probably all data regions in the clean image will be filled with FF, except for byte 0x400 which would be ā€œ01ā€ to initialize the ME.