Latitude E6420. ME SpiLock failed after CPU change.

The subject of this story very short.
I have bought pair CPUs, from seller, who didn’t know what he sell … or says that didn’t know what
By picture i could only detect, that these body looks very similar with Sandy Bridge (2nd gen.) mobile quad-core cpu.
The price was suitable for experiments.
As result, it were really SB cpus, in quad-core bodies and G2 socket, compatible with my laptop.


First start with bios A25 successfully failed. But after bios downgrade, laptop starts and can enter to bios.

There i can see CPUID = 206A2.
Sorry, I could not determine exactly what kind of processors I bought. After a long googling, I assume that there are some kind of ES processors. Bios screenshot and CPUs pictures attached.
As i have checked later, BIOSes with numbers above A19 do not contain microcode for 206А2.
But in bioses from A01 till A19 have this CPU microcode, so laptop starts to bios setup only, then …

“Failed to get ME Kernel Host Interface version …”
“Error sending End of Post message to ME”
"(A7) Me FW Downgrade - Request MeSpiLick Failed"


And nothing more.
Then I tried to downgrade Me FW from 7.1.91.3272 (from A25) till the lower version is not included in the blacklist (by ME Analyzer). As i found, the lowest available for me was 7.1.20.1119 from A07 bios. If downgrade bios to lower, till A01, Me Fw version leaves same. (“FW blacklisted” string appears during flashing)
A01,2,3 - 7.1.4.1068, A04,5,6 - 7.1.13.1088.
But situation have not changed. And it’s looking stupid for me. I have laptop with stock bios (CPU supported microcode bios A01-A19), or stock lite modded bios (with manually added cpu microcode A21-A25), system may boot to bios setup, but no further boot in any case (UEFI-Legacy) possible.
First idea was to purchase CH341A programmer (ordered), but then, while waiting parcel from China, i think if this way maybe wrong?
What are wrong with bios, that ME can’t start, if this CPU installed, may be there CPU blacklist present?
So, i need community support, maybe somebody have suitable experience for my case?

P.S. After return previously installed CPU everything functioning as before

I am not 100% what the issue is here, but since you have programmer on the way, if you think it’s that yu still need to use some older ME that you can’t flash, programmer will solve that once it arrives.
For those BIOS, you need to dump entire BIOS first, then cleanly insert older ME FW with settings transfer per the ME Cleanup Guide - [Guide] Clean Dumped Intel Engine (CS)ME/(CS)TXE Regions with Data Initialization
So then your options would be A19 BIOS with whatever ME you want to put in, or A25 BIOS + whatever microcodes you need added + whatever ME version you find that works.
Some CPU may only work with older ME, so once you find the working ME you can put that + Microcode into latest BIOS and it probably will be working OK

I agree with what Lost said. I would use the programmer to dump the SPI image, possibly insert an extra microcode for the ES CPU and certainly follow the ME CleanUp Guide on whatever version you want. It is possible that some newer BIOS may have hardcoded values for what ME firmware version to expect so that’s why it tries to downgrade but fails. Some OEMs do that but I don’t know if Dell is one of them. By the way, you can tell that the CPUs are ES simply from their model name which is always 0. Also, if you want a 206A2 microcode, you can find it here.

I think for ask CodeRush for help also. But don’t know how to call him))). May be he have such expirience. May be issue in bios, but not with ME. Saying true, i hard googled bioses from laptops and mobos ))) about pair weeks, but …
I have not found any info about CPU with ID 206A2, only that it have 2 revisions, 26 for LGA and 27 for FCPGA. No speck or stock cpu names, only one notes in elitegroup mobos manuals (pdf) about i5-2300, quad-core, 6mb L3.
So i think that 206A2 ID maybe only ES cpu.
And i have not found any proved notice, that some CPU may lock ME starts, this become new for me. And this was the reason, why i thought about “CPU blacklist” or anything extra code in bios, preventing ES cpu functioning. And that bioses from A07 - A19 have 206A2 microcode but system have not start with ME version corresponded with bios …
If you add add microcode for Rev.26 to Github collections, you can download it here (extracted from Gigabyte and ECS mobos bios)
here
Microcode for 206A2 Rev.27 presents in Dell and Lenovo laptops bioses absolutely same as on Github. And same i have added to A25 to start ib bios, but no more.
If these interesting for you, here key versions. If look there with CodeRush UEFITool, these have absolutely same with FPT dump of bios area, but i have not found ME region there.
So now, i’m waiting for programmer to make SPI chip rescue dump, then i’ll try “Unlock Intel Flash Descriptor” as decribed here.
Then according your recommendations “ME Cleanup Guide”, if I can found ME region in FPT full dump ))).

Applying older BIOS via the official Dell updater will probably not downgrade the ME firmware and in any case, it cannot do it completely so to do proper tests you would need to re-flash the entire SPI chip either via a programmer or via FPT, provided that your FD is unlocked for the latter. Thank you for letting me know where to get another microcode but I do have that. If MC Extractor does not report it as new, I already have it. Also, to properly extract those Dell HDR executables into their components, use my Dell HDR Module Extractor script.

it downgrade with /f key, if FW not blacklisted. A07 include lowest non-blacklisted FW 7.1.20.1119.
in case of A01-05 "FW blacklisted" string appears during flashing )))
For extracting i used pyton script, and Phoenixtool 2.66 and Coderush tool and PFS extractor, result absolutely same )))
Of course, i compared extracted microcode with Github collection
By the way, FPT bios section dump same as in attached hdr.
For A25 bios (black screen with this cpu), 206A2 microcode was injected into this dump by HeX editor and flashed back, then laptop open bios setup screen.
By the way, may be you know way to compile hdr to exe or how to extract Dell flasher from exe?
I found "Build/Freeze/Compile:" in description, but have not understand how to compile ))) Sorry


I saw some still packed .hdr files at the archive you linked to above so that’s why I recommended the script. If you already had the files extracted properly then there’s nothing more to do.


The dumped BIOS cannot/should not be the same with the one extracted from the HDR because the latter is stock without any board-specific info or NVAR configurations.


You should use UEFITool v0.2x.x (not NE) for modifications. Avoid manual alterations to eliminate failure variables.


The instructions at the github readme refer to how you can build an exe for the python script itself, not for the HDR. Technically PhoenixTool can do what you seek but I advise against it. You cannot achieve anything of that magnitude by using the official Dell updater and you’ll probably end up bricking it. I would wait for the programmer which will dump a proper full SPI image which can then be modded to your hearts’ content without any stupid Dell HDR formats, update procedures, ME downgrade limitations etc getting in the way.

By the way, may I state the obvious? Would’t it be easier if you just sold these ES cpus and bought some production ones instead? It will save you so much time and effort, even if you manage to get the current ones to work.

I wholeheartedly agree with plutomaniacs last comment about the ES CPU’s, and I use ES too, but in this instance until issue resolved I would want to be using retail CPU vs dealing with all these hassles.
But as mentioned, all may be much easier to fix once you have programmer in hand.



Of course you right, sorry. English not main language for me instead of Russian ))) Of course NVRAM some different because of FPT make dump under started OS and some switches in bios setup changed, and hdr contain some extra code, which are not bios itself. But bios body parts same.
I’ll try your script shortly because i have several ideas, and maybe need community help, sure i’m too far from detailed understanding UEFI and BIOS structure.
I need to analyze bioses which i have plus understand how Dell flasher working, if i’m right or on the way, then i’ll need community help.
And first question, have you positive tested compiled bios.exe with E6x20 or e6x30 (Sandy or Ivy) latitudes? Or better wait for programmer delivery?

Also well, i have use NE for offset mapping only. Microcode body was exported, then was reformated and 206A2 code injected with HeX editor, and new body combined to dump with Uefitool v.02x. And successfully flashed back with FPT.

Of course you right … from one side. Sure it will problem to sold, only present to anybody interested to play this game, it’s like hobby ))). And my end point not to make life easy ))). Current i5 CPU enough for my usage. But in a way it became a matter of principle. May be this CPU really bad, and will not functioning well, but i want to start it on my Dell )))

It’s On the way!

Programmer delivered at least. Dump A07 made with SOIC-8 clip. Successfull.

I can see that your dump does include the microcode you were looking for. Did you try any of the things that we suggested above?


May be you forgot content of my first post, but I have wrote that 206A2 microcode present in bios from A01 til A19. And system starts to bios setup only with this CPU, after long delay, but bios setup started. I could came to same result with latest A25 by injecting 206A2 microcode with FPT.
Result:
Started bios setup, in any other type of boot
"Failed to get ME Kernel Host Interface version …"
"Error sending End of Post message to ME"
"(A7) Me FW Downgrade - Request MeSpiLick Failed"

Of course, i’ll try FW downgrade, but … downgrade to version present in A01 bios or …?
But according to conspiracy theory, there must be lock in bios region against 206A2 )))
Also this theory supported by mabx_main section in bios region, the only CPU ID present there is 206A2. As i understanding, bios well known that ME have not start, because when this CPU installed

MEBx setup not present in bootloader.
P.S. How attach pictures for normal view?

Ok, let’s try the most extreme thing first. Attached is an SPI image with stock BIOS A01 and cleaned/configured ME 7.0.4.1197. You’ll need to use the programmer for that. I have enabled read/write access to the entire SPI chip in the Flash Descriptor so you can use “fpt -f spi.bin” for any further tests and thus you’ll have to use the programmer again only in case of a brick.

spi_a1_704.rar (4.7 MB)

Does this dump for UMA or discreet graphics board? My laptop with discreet, LA-6592P motherboard.
If you sure that bios dump same for both, I’ll try it at morning

I don’t know. There are three models at Dell: “Latitude E6420”, “Latitude E6420 ATG” and “Latitude E6420 XFR”. I chose the bare “Latitude E6420”.

Where are "there"?

At their website of course, Support > Drivers & Downloads.


Great! How did you can to restore hdr to bin for programmer?
Your bin have flashed and system starts successfuly with stock i5. I’ll replace CPU with ES tomorrow.
Before i read your latest post I was very wonder why Asset & Service tags have not changed. And i’m still wondered. Does it means, that Dell have not store tags in bios?
P.S. Tested. No changes (((
So I think ES CPU blacklisted in bios

The programmer reads and writes to the SPI chip directly. HDR does not matter outside of Dell’s own proprietary updater and it cannot get “converted” from one format to the other. Your system has two SPI chips, in order to hold all the data, so you need to program both. The first is 8MB (0x800000) and the second is 2MB (0x200000), total 10MB (0x1000000).

spi_a1_704_split.rar (4.7 MB)

Of course, I’ve splited it and flashed both. Reverse of making dump procedure. But how did you made programmer.bin from hdr?
P.S. Tested with ES cpu. No changes (((
So I think ES CPU blacklisted in bios