For the past month my Lenovo Yoga 2 Pro laptop has been powering down every 30 minutes. It shuts off without any warning or BSOD.
This all started after Windows 10 update, when the wireless card went nuts and i decided to update the BIOS software using Lenovo update utility.
This problem is permanent, and nothing helps: i tried to connect/disconnect SSD, Wireless card and AC Adapter/Battery, to clean the CPU fans, reflash BIOS and much more things.
I suppose that it is linked to the Intel Management Interface software, howeever, under Windows, i am not able to install MEI drivers, the system says that my system does not meet minimum requirements for the driver.
I am out of warranty and going to do all my best to fix the problem.
What i have done so far:
1) I backed up full image of the BIOS using FTK tools.
2) Analyzed the BIOS using ME Analyzer and it says that it has 1.5 MB ME Firmware version 22.214.171.1246.
3) Downloaded Intel ME System Tools v9.5 for Haswell systems.
4) Flash Image Tool shows that all bios regions are unlocked (but it is not true, because i can not rewrite the whole bios back using FTK tools for DOS).
Before going further i would like to discuss my options with a community.
First, i can try to reset ME settings with the command: fptw -greset (it is possible to do from DOS).
UPDATE: The problem is still here, i am unable to get info:
But i was able to backup the whole bios image again:
Second, if the previous step did not help, i can try to reflash ME regions using fptw -rewrite -me -f new_region.bin command, then fptw -greset. The file should be used is: 126.96.36.1996_1.5MB_PRD_RGN.bin
Third, if nothing helped i have to use SPI programmer, remove my original ME area from tha backup.bin file using Intel Flash Image Tool and replace it with factory image ME_region with the same version.
Am i right? Do you have any suggestions?
Intel Flash Image Tool shows that Anti-Theft technology is disabled, and that all locks are disabled.
My backup bios is here:
I would be grateful for any help or suggestions, it`s too silly to replace the relatively new laptop because of this.
Welcome at Win-RAID Forum!
Please be patient and wait until plutomaniac or any other Intel ME expert has the needed time to read your post and to give you some advice.
Dieter (alias Fernando)
You are very well prepared and have done your due diligence/research before asking for help. Great work. Now, the fact that you have an unlocked flash descriptor (judging by the capability of dumping your full 8MB SPI image) is good news. The fpt commands you mentioned are correct but the mistake your are making is that you never flash a stock/clean/RGN ME firmware without first changing it’s settings based on your own computer’s ME firmware from the OEM. The easiest thing to do is take the ME region out of the OEM’s latest BIOS/SPI image and reflash it using fpt. I took the latest BIOS from Lenovo (76cn43ww) and extracted the ME region out of it which thankfully was possible in this case, other Lenovo BIOS/SPI images are impossible to work with. I have attached it to this post. As you know, you need to use fptw -rewrite -me -f ME_76cn43ww.bin command followed by fptw -greset to reset the platform completely, including ME.
ME_76cn43ww.rar (1.09 MB)
Thank you for your kind help!
I booted into DOS and wrote ME region, now everything works like a charm - no shutdowns, no wireless problem.
After ME restoration new package intel-microcode was automatically downloaded and installed.
Do you have any thoughts why this problem even occurred?
MeInfo now shows me the information, but gives some errors when tries to access not defined values, MEManuf shows the message indicating that all checks were passed successfully.
Just to make it clear and verify the steps, because other people on the lenovo forum has the same issue (so may be we can help them to repeat the same procedure for their laptops), what need to be done is:
0) Check that you have access to the whole BIOS, to do this, it is necessary to backup it: fpt -d backup.bin. Check the descriptors status (shows that you are able to read/write BIOS).
1) Download an original BIOS from Lenovo (full BIN file)
2) Extract ME-region using UEFITool https://github.com/LongSoft/UEFITool from OEM bios
3) Flash the obtained region using: fpt -rewrite -me -f ME_76cn43ww.bin
4) Perform fpt -greset
5) Optional: Update ME firmware to to last RGN_ME version according to its major version (7.x, 8.x, 9.5 and so on) and last minor version (can be obtained using Flash Image Tool) using command: FWUpdLcl64 -f REGION_SIZE.bin]. For me, the file should be used is: 188.8.131.528_1.5MB_PRD_RGN.bin
Your ME firmware was corrupted. Usually you can’t see the corruption easily but in this case there were some random data between the Flash Partition Table ($FPT) and FTPR Region. I am thinking that maybe the BIOS updater Lenovo uses accidentally wrote some BIOS data at the ME region and corrupted it or similar. Some notes:
0) Basically if that command completes successfully you are OK. Otherwise, if you see Error 26 then your flash descriptor is locked and reflashing with software tools is not possible.
1 & 2) The “BIOS” Lenovo uploads is not exactly what you’ll find on the SPI chip. It may have some extra AMI headers or similar. UEFITool won’t detect the Intel Regions properly because of that so you should create a copy of the BIOS, delete data before the Intel Flash Descriptor and then load into UEFITool so that you can easily extract the ME region. Note that the copied/cut BIOS should not be flashed directly once again in case there are extra data at the end as well. The other method would be to use a Hex Editor and extract the ME Region manually based on the ME Region size that your 8MB dump has.
3) That ME firmware is for that exact model, BIOS release. Always re-extract if different.
5) FWUpdate tool does not mind if you use EXTR or RGN to update your ME firmware and it doesn’t need the Flash Descriptor to be unlocked. That does not apply to FPT of course. For FPT use, input into FITC, change settings and then flash. Also 1.5MB and 5MB are SKUs, not region size. You could for example find 1.5MB firmware inside a 6MB ME Region filled with padding at the end. Use MEA to identify the SKU of images or MEInfo, MEManuf -verbose etc when the system is working.
Thank you, now it is more or less clear to me.
I have a similar problem with a Lenovo laptop (Thinkpad Edge E430) but it seems that the ME region is completely corrupted. When I run fptw64 -d backup.bin I get the following error:
error 285: fail to load driver (PCI access for Windows)
Tool needs to run with administrator priviledge account.
I am using the admin account and ME Tool 8.1 r6 (this is a Sandybridge laptop).
After a failed bios flash attempt bricked the laptop, I replaced the bios chips on the mobo. That’s when the computer started turning off after 30 min. Flashing the bios doesn’t help. Installation of Intel ME doesn’t work anymore either. When I try to install the ME drivers/Software from intel, I get an error about the hardware not being compatible.
Is my laptop hosed?
You cannot use the Windows tools without a proper MEI driver working. Since you cannot install the drivers, these tools won’t work. Boot into DOS or EFI and use these ones instead. Try the fpt -d spi.bin command to see if your flash descriptor is unlocked first. The problem you are having could be Anti-Theft related since you actually changed the chip. The latest Lenovo BIOS (v2.56) has this ME inside which is Extracted (configured) and thus we can use to replace your existing in case your descriptor is unlocked. Otherwise a programmer will be needed.
Hi plutomaniac, thanks for your help.
When I enter that command, I get the following output:
Intel Flash Programming Tool, Version 184.108.40.2066
Copyright bla bla
Platform: Intel HM77 Express Chipset
Reading HSFSTS register… Flash descriptor: valid
—flash devices found—
EN25Q64 ID:0x1C3017 Size: 8192 KB
W25Q32BV ID:0xEF4016 Size: 4096 KB
Error 104: The 2 SPI flash devices do not have comaptible commend sets.
Are the chips I bought incompatible? The vendor (ebay seller in Taiwan) said they would work for my laptop but I had a few questions and they didn’t seem too helpful/knowledgeable…
I don’t really know why the two chips.
I assume (based on size) that the first 8MB one is the SPI/BIOS. A 5MB ME wouldn’t fit on the other 4MB either way. I don’t think FPT has a way to flash only one of the two. Do you happen to own a programmer? To verify which chip has the Intel regions, run fpt -i command and maybe fpt -spibar and post some pictures if possible.
Note: Disregard the crossed out text.
I don’t own a programmer, unfortunately. When I run either of those commands, I get the same output shown above.
When I flash the bios, it programs both the bios and embedded controller with 1024 and 32 Bytes (or is it blocks?) respectively.
For Flash Programming Tool (FPT), you can use Windows as well if it’s easier.
Try the attached fparts.txt file. You need to replace the one at the same folder as the FPT variant you use (DOS, EFI, Windows, Windows64). I have removed one of the two chips (4MB one) to see if it will only detect the 8MB one we probably need. Again, the commands we need are -i, -spibar, -d spi.bin.
Note: Disregard the crossed out text.
Guys, please stop right there, before it’s too late.
1. This BIOS is really 12 Mb of size. No need to disable the second SPI chip, the half of BIOS is there, it will only lead to a brick.
2. @Dman8777 , you need to replace either 8Mb or 4Mb chip to a similar one (they have incompatible command sets, such configuration is dangerous and must be avoided). It’s easier to find W25Q64BV/W25Q64CV/W25Q64FV to replace the 8Mb one.
Dual SPI chip systems are rare, but still there. Both chips are mapped after one another, first one has Flash descriptor for the whole 12Mb image, the end of the second one is mapped to 0xFFFFFFF0 reset vector. It’s sometimes possible to get rid of the second chip, but if there were the case - it had already been done by PC vendor.
I couldn’t download the file you linked but I deleted all of the entries from the fparts list except the 8 MB chip. I was then able to run fpt -i and fpt -spibar but fpt -d gave me an error. See the screenshots below.
That explains why $0AH0000.FL1 is 12MB in size. I have never seen such a dual spi chip configuration in the past. I would like to point out that I wasn’t going to suggest a flash without verifying the purpose of the chips first, thus the fpt -i requests and also the edited fparts wasn’t going to cause a brick at this point. Doesn’t matter though. Clearly lack of experience and knowledge on my part. I’m sorry about that Dman8777. I will let CodeRush assist you.
@plutomaniac , no offence meant, just worried about possible outcome. Now you know such systems exist, and that’s the point.
@Dman8777 , please attach your images directly, without GDrive, because now we can’t see them.
Sorry, second try.|addpics|3tg-1-51ce.jpg,3tg-2-5565.jpg,3tg-3-219f.jpg|/addpics|
@ Coderush: Non taken, I respect your work and assistance here on the forum greatly. It’s just truth must be told, I could have caused trouble and your intervention a) prevented that and b) taught me something new. So if I understand correctly FPT can automatically detect and flash both spi chips without any extra guidance as long as their specs are comparable.
@Dman8777 , you have 2 SPI chips with the following command sets (from fparts.txt):
EN25Q64, 0x1C3017, 0x4000000, 0x1000, 0x20, 64, 0, 0x60, 80000
W25Q32BV, 0xEF4016, 0x2000000, 0x1000, 0x20, 64, 0, 0xc7, 80000
As you can see, the only difference here is "Chip Erase", which is 0x60 on EN25 and 0xc7 on W25 chip. It is a problem, but it can be ignored unless this command is not used.
ME is fully located in the first EN25 chip, so you can try changing 0xc7 to 0x60 for W25Q32BV in your fparts.txt, repeat fpt -i and attach a screenshot of it.