Debugging (A7) ME FW Downgrade - Request MeSpiLock Failure

Hi,

First of all, thanks a ton for all the effort you all seem to put into these forums - I’m really amazed by all that you do, and I appreciate any help you can give.

I’ve been debugging the "(A7) ME FW Downgrade - Request MeSpiLock Failure" for the last three days or so. After trying and failing with a lot of different approaches (downgrading bios, upgrading bios, downgrading Intel ME drivers, upgrading Intel ME drivers, etc), your resources seem very promising. The problem is, after reading some of the documentation, I’ve been having a hard time getting some of the debugging software to work. For reference, I’m running on Windows 10 Pro, with an i5-6300U, with Intel Management Engine Interface driver version 11.7.0.1057. I’ve also tried drivers version 12.x and 9.5x in the past, but I’m on 11.7.0.1057 for now.

Namely, I’m not sure where to get started - the MEInfo tool or the ME Analyzer tool. When I run the MEInfo tool, I see the following:


C:\Users\sameed\Downloads\Intel CSME System Tools v11 r17\MEInfo\WIN64>MEInfoWin64.exe

Intel(R) MEInfo Version: 11.8.60.3561
Copyright(C) 2005 - 2018, Intel Corporation. All rights reserved.




Error 86: Communication error between application and Intel(R) ME module (FWU client)

Error 81: Internal error (Could not determine FW features information)


I’ve also been struggling with the ME Analyzer, which I’ve tried on both Ubuntu 18.04 and Windows 10. Namely, the Clean Dumped Engine guide says:



Where can I find this SPI/BIOS dump? I’m not sure how to actually run the ME Analyzer tool - which file or folder am I supposed to use it with?

I hope I’m on the right track - I’m not sure if the Clean Dumped Engine guide is the place I should be looking for to fix this downgrade issue, but I recall someone with a similar error message being redirected to that guide, so I figured this would be the place to start.

Thanks.

@rangerunseen - SPI or BIOS dump (a backup of your BIOS) you have to create, which there is many ways to do. What system or motherboard and BIOS do you have for starters? And please link a download to it’s latest BIOS version.
Then I can tell you how you can try to create some backups to work with

I don’t fully understand what your downgrade issue is, but it looks like your ME firmware may be corrupted or you do not have correct drivers installed. Nor do I understand what your debugging/why etc - "(A7) ME FW Downgrade - Request MeSpiLock Failure"

Much more information is needed before anyone can advise further.

Thanks -

I have a Thinkpad T460s, with BIOS version N1CET72W (1.41). I got the BIOS from here: 2122bc2d6d3fd429fa261420163bc14495810083-Lenovo-ThinkPad-T460s-SystemFirmware-1.41.cab (from fwupd: https://fwupd.org/lvfs/component/1623/all ).

The motherboard seems to be Lenovo’s own design, as when I run "wmic baseboard get product,Manufacturer,version,serialnumber" I get:



And ahh, sorry - you’re right, I had under-described the error. For the past few months, my computer has been unable to shut down or go into a sleep state using through the OS commands. When my computer attempts to go to sleep, it does not go into a low-power state, and just as annoyingly, I can’t wake it up from that state – I have to hold my power button down and manually turn my computer off and then turn it on again. Furthermore, when I press shutdown through an OS menu (Linux or Windows), the laptop seems to hang on a black screen after going through the Windows or Linux shut down screens. The only way to get out of this hanging state is to hold down my power button to force the computer off. Interestingly, restarting though a software command seems to work just fine. I believe that these problems started with a failed system update.

When I turn on my computer, I get the Lenovo flash screen. But after this flash screen, I briefly get a black screen with a single line on it, "(A7) ME FW Downgrade - Request MeSpiLock Failure", before the computer goes on to the Windows splash screen.

When this error started, I was on BIOS version 1.39. Upgrading to 1.40 and then to 1.41 did not fix the problem.

So, this BIOS I assume, not sure why you did not get direct? https://pcsupport.lenovo.com/us/en/produ…nloads/ds112117

Thanks for explaining what you meant about the “(A7) ME FW Downgrade - Request MeSpiLock Failure” thing! Sounds like ME FW Update failed, not sure why it was trying to downgrade. Had you been messing with ME FW Updates?
Do you know what ME version was there, main version is fine like 10 or 11 etc.? This way I can link you to correct tools package and we can see if your FD is fully locked, or if you can dump current ME region or not, since your BIOS downloads do not include ME Regions.

If you do not have a flash programmer (hardware, like CH341A + SOIC8 test clip cable), you will have to “pinmod” the board in order to fix this issue, since ME is corrupted you have limited options to write to the ME region (ie normal ME FW Update tool wont work).
Unless you happen to have a FD/FDO/ME/Service jumper on the board somewhere, not usually with laptops but I have seen it so you’d have to check. Both of those methods require you opening the system up, possibly fully removing the motherboard (if doing pinmod, and audio chip is on keyboard side of board).
Pinmod method can be found at following link in section E1
[Guide] Unlock Intel Flash Descriptor Read/Write Access Permissions for SPI Servicing

Flash programmer can be purchased on ebay for $2.50 and + $2.50 for SOI8 test clip cable, if you need links to those let me know.
It’s long wait for delivery though, 3-5 weeks, but sometimes you can find in local places like Newegg or Amazon like shops that either are closer to you, or will ship faster, but those always cost 2-3x more $$

Currently, I’m using Intel Management Engine Interface driver version 11.7.0.1057.

I went through fwupd because originally, I was having trouble using the Windows installer supplied by Lenovo. The timeline of events was this:

(0) About three months ago, I updated the ME Firmware using Lenovo’s official update. I wasn’t messing around per se with the ME firmware - I was just browsing through updates on Lenovo’s website, and they had marked this update as “urgent,” so I figure I’d install it. This caused the sleep/shutdown errors, but because I was busy with school, I didn’t bother trying to fix it until now (holidays).
(1) When I started debugging this problem thoroughly about a week ago, I was on BIOS 1.39, with the “(A7) ME FW Downgrade…” error message after the splash screen; and with problems with sleep, shutdown, and restart. My initial hunch was that this was caused by the BIOS, and so I tried upgrading my BIOS. For whatever reason – I think because my computer was having restart issues – the windows BIOS update utility provided by Lenovo didn’t work for me. Lenovo also offers a bootable CD/iso version of the update, but I was having trouble with that too. I then used fwupdmgr on linux to update to the BIOS 1.40 - somehow, this worked. I’m not sure why fwupdmgr worked while the Linux-provided utility didn’t work, but that’s what my experience was.
(2) Updating to BIOS 1.40 didn’t fix my problems - so I downgraded my ME driver version from 11.x to 9.5x (a few people online seemed to say that downgrading the ME driver to 9.x or 10.x had fixed their similar “(A7) ME FW Downgrade…” errors. Downgrading to ME 9.5x or to 10.x didn’t fix the problem, and neither did upgrading to 11.7 (my current version)
(3) I updated my BIOS to 1.41 using fwupdmgr; this again didn’t fix my problem.
(4) I changed my SSD and did a clean install of windows; this again didn’t fix my problem and I still have the same “(A7) ME FW Downgrade…” message appear after the splash screen, and the same sleep + shutdown issues.

And sounds good – I don’t have a flash programmer, but if it turns out I need it, I’ll definitely order it.

Thanks a ton, by the way!

There are some reports that it was possible to solve this issue by reinstalling the ME-firmware. <Link>

You might download the Lenovo ME- firmware package again, just extract it and try the MEUpdate.cmd again. If Windows doesn’t recognize ME you could download the tools for your version (correspondig to the Lenovo- link you gave us should be 11.8.55.3510) via link in the first post in this thread, find out which ME type is used (Corporate or Consumer) and try to re-update it from DOS/UEFI?

Starting at point 0/1 ME was corrupted already, so anything after that (any ME FW updates from manufacturer, or BIOS updates trying to also update ME) would usually have no effect other than how I mentioned fixing things above.
ME Drivers have no effect on ME FW, other than you have to have on installed to interact with the ME FW from windows. ME FW is part of the BIOS, and can only be updated in a few ways and only under certain conditions for each method. No drivers, or windows changes affect ME FW

Once ME FW is corrupted you cannot update/downgrade ME FW using manufacturer provided tools (unless that involves Intel FPT and a FD/ME region access command, ME FW Update Tool (FWUpdLcl/MEInfo) cannot interact with ME FW once it’s corrupted), so don’t waste your time and stress trying those kinds of fixes.
You will need to download Intel ME System Tools packages from this thread, in section C - Intel Management Engine: Drivers, Firmware & System Tools
Since we have no clue what your ME FW version was, you will need to download several packages probably until you find the correct one for your system. I’d go ahead and start with V8-V11 as it’s likely one of those.

Inside each you will find Flash Programming Tool folder, and inside that a Win/Windows/Win32 folder (Along with others, but stick to the main Win/Win32 for now, that’s all you need).
Select that Win32 folder one at a time from each version, and hold shift then press right click and choose open command window here. Then run the following two commands, do this from each Flash Programming Tool/Win32 folder until you find one that works, then I will show you next command to see how we can try to move forward
FPTw.exe -me -d mereg.bin << May error, even with working version, due to region locks
FPTw.exe -desc -d fd.bin

Once you find working FPT version, upload both of the files created, if both are created (mereg.bin, fd.bin)

As mentioned previously, the only way you may be able to fix this is via unlocked FD by pinmod and then use FPT. Or by purchasing a flash programmer and SOIC8 test clip cable.
This is why (it’s not an easy fix) you’ll see so many in the HP threads giving in and getting replacements from HP or point of purchase, and local service centers being lazy and telling customer to get new PC too if just purchased, since they’d have to take the system apart fully to fix it
You can try the ME FW Update again that you linked above, but if ME FW is corrupted it’s going to fail since it uses FWUpdLcl

@lfb6 - I tried using Lenovo’s included FW upgrade tool, but unfortunately that didn’t work. As you and @Lost_N_BIOS also suggested, I’ll next try to download the Intel ME tools from the Drivers, Firmware & System Tools thread and see if that solution works.

@Lost_N_BIOS - I’ll do exactly as you suggested, e.g. go through the Flash Programming Tool folder and run the commands suggested. Unfortunately, school just restarted for me and this next month will be extraordinarily busy/I would hate to accidentally brick my computer during the next month, so I’ll order the programmer and SOIC8 test clip and wait about a month to restart the debugging process. I imagine that something like this SOIC8 + flash programmer kit should be all I need?

Thanks again for all the help - I really really appreciate it.

@rangerunseen - You’re welcome! And yes that kit is all you need, then once you have it will be easy to fix and you wont need to worry about a bricked system etc.