Lenovo M900 Tiny Bricked

Am i do something wrong?

After added the modified bios region to my dump image. Using latest version of UEFITool to view it, there have several parts colored in red or yellow.

Seems normal to me, the regions with colours will change since the addresses change when addint the other firmware regions.

Attach your result.

Need to wait a bit longer because my wson8 cable is broken :smiling_face_with_tear:

I need to buy it from AliExpress and wait for the delivery

Hello there, I too have a bricked M900 after a failed BIOS update, I have tried many roms now to try and unbrick it, using some of the suggestions I have read on this thread. I would greatly appreciate some assistance.

Unfortunately I’m new here so unable to yet post any attachments. I hope its ok to link to the rom dumps from Gdrive:

M900 Bricked Roms

I have included both the MX25l12873f (BIOS) and the MX25L2006E (I think this is the EC Firmware)

I’d be very grateful if lfb6 or one of the other experts in here could take a look and see if you can spot anything untoward. Thank you

That’s looks like a stock bios region. If this doesn’t work you might try to clean the ME according to

If you can confirm valid good flashing of the chip and it still doesn’t work it’s not related to UEFI firmware.

Thanks for the quick response , much appreciated. I will (retry) an ME clean and report back

Ok I followed the guide and cleaned the ME Region, however this device still refuses to boot.
I did verify the successful programming of the spi flash.
I’ve attached this rom fwiw:

M900_cleanedME.zip (8.7 MB)

As you say if the UEFI firmware seems ok I can only think the EC may be corrupt or there’s another rom on the board I’m not aware of that was flashed badly as part of the update.

I probed some of the pins of the SPI roms at startup with my 'scope, the UEFI actually doesnt seem to be doing anything, however I see a 50mhz clock on the EC chip’s clock pin, and some other activity, but not checked if its actually data or not.

Most of these ‘tried already’ machines are dead. Many of thoses firmwares floating around are messed with one or another way, so the results are mostly unpredictable. In addition there might be sub- versions with different ME settings and damage while disassembling several times or when trying to flash, Sometimes the EC firmware gets transfered from main firmware, another source of an introduced error when working with unknown firmware.
Without having the dump of the original firmware and starting there right in the beginning it’s in most cases a waste of time.

That’s rather disheartening to hear, but makes sense. I was hoping it was something just not fully flashed or something like the EC rom and UEFI rom were incompatible versions. Meanwhile, I ordered another motherboard. I just dont like to be defeated :slight_smile:
Just want to thank you for taking the time to assist.

Hey @lfb6 I hope you can help me with my M900 Tiny unit. It seems to have also taken a dive due to a bios update.

I have dumped the bricked bios, made two and they seem to both have the same CRC, so the dump looks good.

I’ve been watching Youtube videos and reading quite a bit but still have not wrapped the whole bios building around in my tiny brain!

Could you possibly assist with my bios and help build it to a working state?
Here is the dumped bios, using AsProgrammer 2.0.3a with a CH341a USB Programmer.

Update began at last uefivolume which is now in its beginning from bios version KTBF.

Download bios KT53 (old bios version), unpack it, open bios it in hex editor, copy 0x680000 to 0x6D1FFF. Open your own dump, replace 0xE80000 to 0xED1FFF in your dump with the copied bytes from stock KT53.

Use UEFIToolNE for a check of the structure.

Post/attach the result.

Corrected typo - should be 0x6D1FFF (not 0x61DFFF)

I am having trouble finding the KT53 (old bios version) Lenovo only have the latest on their website and Google is not giving me much on finding the KT53 bios.

I do have another M900 but this has already been updated to the latest (FWKTBFA) however, before updating the second M900 unit, I ran a windows application to dump the bios and then a DOS application to dump the bios, just in case the same thing happened to the first unit (I did not have the CH341a USB Programmer to dump the bios at the time.)

LENOVO-FWKT53A-DOS.rom ( 8,192 KB)
LENOVO-FWKT53A-WIN.rom (16,384 KB)

Would any of this help in rebuilding?

I took a look in the LENOVO-FWKT53A-WIN.rom:

Take the download link for the latest bios and replace bf with 53.

Finally, received the wson8 cable, following the steps you mentioned above. My P350 Tiny is fixed and work like solid.

Thanks for your help :smiling_face_with_tear: :smiling_face_with_three_hearts:

Thanks for the feedback :+1:

Good to hear that it can be enough to transfer the machine specific data block for newer machines, too.

Sorry for the late reply @lfb6 my posts were flagged and hidden and then my account was on temporary hold. Reached out to a very kind moderator, chinobino, who fixed up my account!

Thank you for your help on the download link, it worked!

So, I think i did what you instructed me to do, you can see the modified file Here

I was not able to copy from 0x680000 to 0x61DFFF, but was able to copy from 0x61DFFF to 0x680000 (Just swapped the two around) as it would not allow me, from there I replaced the sections 0xE80000 to 0xED1FFF with the copied data from the downloaded Lenovo Bios. I used HxD to select the block region and copy/paste.

I opened it up in UEFITool, but still seem to have Parser errors:

Did I mess up?

I’sorry, that’s a typo:
Download bios KT53 (old bios version), unpack it, open bios it in hex editor, copy 0x680000 to 0x6D1FFF. Open your own dump, replace 0xE80000 to 0xED1FFF in your dump with the copied bytes from stock KT53.

Result should look like

(will correct it in the original post, too.)


I’ve done the updated change as you requested, see below:

Including the FIT console log:

Is this ready to be flashed back to the BIOS?

Seems OK. If unsure attach the file.