INTEL ME => Update FW or Driver-Install fails / Version in BIOS N/A

Hi …
i do have a bunch of identical machines (Lenovo M92p) where with two of them we needed to replace the BIOS Chip due to failed/corrupted updates.
When we received back those machines, the Firmware Version within the BIOS still shows an entry for INTEL ME, but the Version is "N/A"
trying to flash an Intel ME Firmware or using the drivers always fails …

how can i resolve this situation ???
thx for your support |> ralf

D:\Intel-me-systools-v8\MEInfo\Windows64>MEInfoWin64.exe

Intel(R) MEInfo Version: 8.1.56.1541
Copyright(C) 2005 - 2014, Intel Corporation. All rights reserved.
Error 9458: Communication error between application and Intel(R) ME module (FW Update client)
Error 9459: Internal error (Could not determine FW features information)

IS there a service or FD/ME, or other labeled or unlabeled 2-3 pin jumper on the board? Looks like ME is corrupted or disabled.
If jumper is left in programming mode then this can be how it looks, check for jumper and move to other position and check BIOS again.

Try meinfowin not x64 version. ME drivers must be installed for these to work. Or you can try that in DOS, so no drivers need loaded. If still same error from DOS, then above is true, corrupted ME FW or jumper in wrong position
Here, try this package from Lenovo to try and update to the latest ME FW (8.1.72.3002), ME drivers must be installed already, so if you can’t install them and older version not already installed it’s no go for now - https://download.lenovo.com/pccbbs/think…8.1.72.3002.exe
That update may give same error as you get for Meinfowin too, but best to try, if fails then ME drivers not installed or first paragraph applies again.

You can update the ME FW from DOS, files install from the above into C:\Drivers\8.1.72.3002.
Get a DOS Bootable USB setup, or CD if you want, copy the FWUpdLcl.exe file from the FWUpdate\Local-DOS folder in system tools package below to the USB or CD
Copy the ME FW from the C:\Drivers\8.1.72.3002 folder (ME8_5M_Production.bin).

Boot to DOS and update ME FW using following commands
fwupdlcl -f ME8_5M_Production.bin -OEMID 4C656E6F-766F-0000-0000-000000000000 -generic -allowsv

Also, here is complete Intel System Tools for your ME version, this contains all the latest MEinfo versions, in case there is something wrong with the Lenovo copies
https://mega.nz/#!CF1l1LJK!K2l6_74FPsGig…Rvp8Efj8a5drZSc

Did you already try to reflash the BIOS with >> flash2 IMAGE9S.CAP /bb /rsmb /ncb
Those files are in this download (USB updater) - https://download.lenovo.com/pccbbs/think…s/9sjt9ausa.zip
From this page - https://support.lenovo.com/us/en/downloads/ds029265

I added the last switch there vs the default included batch command.

Hi …
thx for your advises - but i wasn’t successful :frowning:

regarding the meinfo commands - that failed with any version and OS i tried in the past - also the combination you mention.
in respect to the update of the ME-FW under DOS, that failed with complaining that the usage is wrong.
i used the fwupdlcl from the intel package or the one that comes with the lenovo download - but all complain regarding the “-generic -allowsv” at the end.
updating the bios like you mentioned at the end with your special command-switches also failed
=>
Reading Flash … DONE
Secure Flash enabled - recalulate ROM size with signature … ENABLE
FFS checksums … OK
12 - Error: no non-critical blocks found in ROM file
Child process failed. Return code: 18

any other guess what we can try here?

thx - ralf

Remove the generic flag then and try again, allowsv is valid switch, I checked before posting all that wondering why they put it in the batch file initially.
None of those are required, the OEM one might be I’m not sure, but you really can do it without any switches.

Please post a good image or two of the motherboard itself, without any cables attached if you don’t mind, so I can see any/all jumpers on the board.

There is way around this without any doubt, but you’ll have to order a cheap programmer (CH341A green/blue version is best - like this https://www.ebay.com/itm/263458010112) and probably a jumper cable like this https://www.ebay.com/itm/263708580560
Then wait for delivery which is usually 2-3 weeks. Unless you pay twice the price and purchase from someone locally to you. Once you post images I can advise you on if you need the cable or not to program the board outside of any of these software issues,
I need to look at the BIOS chip style in your images first before advising you which cable if any you need.

hi …
i tried everything with more or less flags - but did not have any luck :frowning:
attached some photos of the board to give you some insights.

Photo-2018-07-21-15-58-22_3025.JPG

Photo-2018-07-21-15-58-13_3024.JPG

@powerox - no images attached, hope you get notification of this before you leave site today so you can update. You can put them in a zip file and attach here too, or upload in zip to any file host and put link here, whatever is easier for you is OK with me.

in now …
the PINs right next to the CMOS battery are the ones i have to use when restoring the bios - all other ones i don’t know anything about

What all does it say around the two pins in red on top of image (Beside SATA Power). You may need to move cables out of the way, it should say something on the board in that area, for those pins.
Bottom pins are clear CMOS, not what we need.

here you are …

Photo-2018-08-06-14-39-30_3149.JPG

In order to repair the ME firmware, you need to have read/write access to it. Check if you have by following the Flash Descriptor (FD) Guide. If your FD is unlocked, things are easy. If not, you will need to try the steps at Section E of the guide. In such case, start with E1 which requires locating your Realtek audio chip. It should have this symbol:

Realtek-Icon-200x200.png

Thanks for jumping in to help @plutomaniac , I’m not too great at all things ME. I did find that his system comes with ME update FW package, wouldn’t this mean FD/ME is unlocked?
That’s where I got the above commands to use - https://download.lenovo.com/pccbbs/think…8.1.72.3002.exe

Batch file has the following

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
@ECHO OFF
SET Binfile="%~dp0\ME8_5M_Production.bin"
IF "%PROCESSOR_ARCHITECTURE%"=="x86" GOTO Corp_32bit
 
:Corp_64bit
SET FWUPDTool="%~dp0\FWUpdLcl64.exe"
start /b /wait "" %FWUPDTool% -F %Binfile% -OEMID 4C656E6F-766F-0000-0000-000000000000 -generic -allowsv
GOTO END
 
:Corp_32bit
SET FWUPDTool="%~dp0\FWUpdLcl.exe"
start /b /wait "" %FWUPDTool% -F %Binfile% -OEMID 4C656E6F-766F-0000-0000-000000000000 -generic -allowsv
 
:END
echo *****update Finished ******
 


No problem. Practice makes perfect as they say. It will certainly help to alleviate the load on Engine-related assistance, in time of course.


Not at all. As to why, I believe that these are explained properly at Section B of the (CS)ME thread. FWUpdate tool uses the CSE/ME itself to update/downgrade the (CS)ME firmware, when SVN/VCN/PV are not violated. The FD does not need to be unlocked because the one who performs the update (CSE/ME itself) already has access to its region at the SPI chip. An unlocked FD means that the User (CPU) has access to other regions. The CSE/ME always has access to its own region. FWUpdate uses the CSE/ME, it requires that the current firmware is healthy and thet SVN/VCN/PV are respected. For any other use case, the user needs to re-flash the firmware manually so that requires an unlocked FD and the usage of a general purpose flasher such as FPT, Flashrom, AFU or similar. OEMs usually release (CS)ME updates via FWUpdate bundles so that does not indicate anything about the FD state.

Thank you for your help, again! I’ve read that, many times, but I think it never all gets fully absorbed, hopefully someday soon it will

If the FWUpdate tool is allowed access no matter what, why then does the commands to re-write in post #2 fail, those are the exact commands from the specific updater file for this system
Specifically this command - as notated from the above batch file too - fwupdlcl -f ME8_5M_Production.bin -OEMID 4C656E6F-766F-0000-0000-000000000000 -generic -allows

He said even removing the -generic -allows still gave error. Does this happen only because current ME FW is corrupted?

BIOS image itself does not contain ME FW, it’s provided separately in exe file which I extracted. So I am unsure how to advise using FPT if fwupdlcl will not work due to corrupted FW
To flash ME with FPT, you can’t use ME image itself and it needs to be BIOS file that contains ME image, correct?

I spent two hours today re-writing Section B of the (CS)ME thread. Read it again from SPI/BIOS Regions (FD/ME/BIOS) up until and including Engine Firmware Updating. It is not possible to explain these in an easier way at this point.

@plutomaniac - thank you for taking the time to re-write the guide, I really appreciate it! I’ve re-read that and think maybe I found possible cause I didn’t look into before, @ SVN/VCN/PV are not violated.
Regarding SVN/VCN - since we cannot check FW version via MEinfowin, we cannot know what ME version to have him reflash. I assume it’s probably not, since what I linked and suggested was latest version so would be newer than or same as anything currently on the board.
Regarding PV, same, that can’t be checked what’s currently in the board either due to inability to run meinfowin. So…

I see finally, we can’t use FW Update utility anyway due to currently corrupted/non-functional/non-healthy state, that explains it all now, and negates my thoughts, questions and concerns above

Normally this would meaning I would want to use FPT instead, however ME is not included in this boards BIOS, so FPT usage is not possible either. Can I fake insert ME into a SPI image, put ME there even though it does not belong, and flash only the ME via FPT that way?
I assume not, but it comes to mind as something I’d try on my own machine only because I know I could recover from any issue that might cause

Leaving the only solution here is CH341A flash programmer and SOIC8 jumper cables, correct?
@powerox - the only way to fix this is ordering the tools I linked above in post #4

I see you’ve already removed three possible BIOS chips via soldering, correct? It appears this way in your images, BIOS is right under “F_Panel” near top edge above the right side of the memory slots.
Or the chip right beside that one, with yellow paint on it. It’s hard to tell which is which there and what’s what, only one looks to be in correct location (w/ yellow), other one with pink dot looks out of place and like it’s not soldered to anything.
Now, I also see possible BIOS beside memory slot, with solder work done there too.

Did you do that soldering or someone else? If yes, do you have an image of the board before you soldered anything? Please post here if you do.
Which rom contained the BIOS? Only one contains BIOS, and you’ll need to know this for using the flash programmer. I assume it’s the windbond one with pink dot on it.

Anyway, for now, you need to get a flash programmer and SOIC8 jumper test cable. That is the only way you can correct the ME.
It can be done off-board too in programmer if you don’t want to order SOIC8 cable, you’ll need CH341A flash programmer and an adapter like this if you want to de-solder the chip and update it
https://www.ebay.com/itm/142667838837 << Choose converter module 200mm, blue or green is same

That is same link as above, for the SOIC8 test clip, you either need test clip jumper cable (not soldering) or 200mm adapter (Desolder chip and use w/ programmer)
Or, one some/most CH341A programmers, you can also solder the chip directly to the programmer and update it, then desolder and put back onto board. All up to you and what’s easist method.

The SVN/VCN/PV are relevant when using FWUpdate tool only. Since his SPI/BIOS chip Engine region firmware is corrupted, FWUpdate tool cannot be used so we don’t care about SVN/VCN/PV. To learn what firmware his system is using, you can either find the OEM SPI/BIOS image and load it into MEA, a dump from the internet or by the platform itself. The Lenovo M92p uses PCH Q77 so that means ME 8 5MB firmware. There is also another issue that can happen. Someone may dump their Engine region via a programmer or similar but then fail to follow the Engine CleanUp Guide because the DATA section of the dumped (CS)ME firmware is corrupted. In such case FIT will crash so the user will either have to clean the SPI/BIOS from the OEM (if available) or find another dump online and use that (CS)ME region to transfer the required model settings.

Thanks, I already checked ME his board uses, well at least the current available ME. That’s why I said we can’t use FPT, ME FW is separately installed by exe, so there’s no way for us to know what ME he’s currently using without a full dump from his specific machine.
He needs flash programmer to fix this, now that you’ve updated guide and talked with me more about it, I’m certain that is the only way to fix this.

Hi Fellows,
first of all thanks to all the work and effort you both put already on this - kudos!!!
second - do you still want me to try to dump the FD or not?
third - regarding the replacement of the BIOS chip/s, that was done by a small service i ordered on the web
fourth - i have some more machines of this type, so i can definitely take some pictures of a board
that should not have any changes at all - i will be at home tomorrow and will do it right away when i am back

You’re welcome, sorry this isn’t an easy fix!
You need to order a flash programmer and SOIC8 jumper test clip cable.

ok - so dumping of the FD is not needed any more - right?
how about those two peaces - do they match what you recommended with your links to ebay?
https://www.amazon.de/dp/B0713V5GGL/?col…lv_ov_lig_dp_it
https://www.amazon.de/dp/B01H938PRK/?col…lv_ov_lig_dp_it