so I put a jumper bridge on ME_DIS JP15 and then used my efi shell usb boot stick with the suitable version of fpt.efi for the Lenovo M93p on it to dump the bios and the full flash.
As a side note - without the jumper bridge on ME_DIS JP15 I can dump the bios part but not the full bios.
Then I used UEFITool version 0.28.0 to inject the NvmExpressDxe_5.ffs nvme DXE module.
However when comparing the original bios file and the modified one after the modification with UEFITool I see that the two final pad file areas have changed in size. They have not disappeared, but changed their size. Is that normal expected behaviour or a problem ?
@MeatWar Would you please have a look at the two versions and tell me if it looks ok to you - so that I can ask myself if I am feeling lucky enough today to flash my nvme modded bios file ?
The ME service jumper enables the full access (Read, but most important Write) to regions, of course that dumping can be made (most of the machines) without enable it, but on these ME jumper machines for writing the jumper must be set.
Post the FRU and white label of the motherboard ISX…
Your mod seems ok, inserted in the correct volume, there are no pad-files on the end of the insertion volume, this is the volume to check for.
Now is these a full SPI (bios_region?)…doesnt seems so. Preserve a full SPIs for backup/safe keeping.
Dump the bios_region and mod it, them flash only the bios regions with FPT, no need to touch other regions.
Careful with the tool (its own cmds), it writes what ever you want and doesnt care nothing else, so if bad it writes bad.
Pay attention to what your doing.
2 SPIs, we want to mod the bios_region of SPI 1 ID: 0xEF4017.
This computer on which I am trying add the nvme boot is a Lenovo M93p tower, machine type 10A7.
These are the white label stickers on the motherboard, one is right under the cpu cooler between the cpu and the memory slots and can only be properly read with cooler removed. The other label is between the cpu and the rear io.
This is the text of the labels:
(1P)0C17276
ASM (03T7183) for MB Fru W8P
11S0B63207ZVQ2FK3681ZK
2ND LVL INTCT:el
From a quick search: 03T7183 is the part number of the mainboard
Since I had the cpu cooler already removed for taking the photos I wanted to exchange the old cpu i5 4570 for a newer i7 4790S that I had bought on ebay.
However at first the new CPU looked dead, but I found this old article and it described my situation perfectly.
So I updated the Intel ME from 9.0 to 9.1 with a Lenovo supplied firmware update and also the bios to the most recent FBE0A. And with a new ME the computer booted with the newer cpu.
These are the dumped bios and full firmware files with the new ME and the most up to date bios version.
Here is an article about a modification for a M82:
And here is an article of a mod of a Lenovo M92
Both times their work around was putting the machine to sleep to disable the write protection. But for that I would need to boot into windows and attempt to flash from there.
Here is another article about putting the machine to sleep to enable flashing, but I do not really understand things explained there. Also discussed there is that newer bios version fix the work around of putting the machine to sleep to work around the write protection.
Any hints please on how to proceed from here now ?
The old/previous screens from previous bios, the access looked granted for read/write operations, and on this new bios still granted?
FPT -i
The FPT operation in EFI shell is not mandatory, indeed usually recommended, but many can be done in OS environment by CMD admin, ME driver must be loaded in the OS installed.
Try it…
Now… i told you to dump, mod and flash only the bios_region, is this correct?
If a simple test, dumping of the bios_region fpt -bios -d bios_reg.bin and then flashing again this dump fpt -bios -f bios_reg.bin, if the result is the same then is indeed the JP15 the ME jumper…dunno, the other not pinned…dunno, i told i dont have this board or her schematics.
EDIT: Dont recommend it because you already updated also the ME FW 9.1…
Downgrades are much more risky and this system has 2 SPIs… the recover can be painful and only with SPI programmer.
And to finish all my help on this case… if you dont have any luck with it and if the machine is not a primary system for you, the use of a programmer for the mod could be the last resource in this matter, a MUST using this tool is making dumps of the 2 SPIs before any other action, good luck.
@MeatWar In your opinion: Would I be possible to downgrade to before the bios version FBKTD5A that is referenced in the Lenovo document that you linked and then flash the modded newer version using the S3 sleep bug from a pre-FBKTD5A bios with the windows tool fptw64.exe ?
So I should be able to first install bios version FBD4A with the Lenovo supplied installer and then install my nvme modded bios version FBE0A using the S3 sleep bug with fptw64.exe ?
I am going to order a SPI programmer to further proceed with the SPI programmer. These two gifted M93p that I got here are not main computers, I would like to use them for hobby (a cnc mill controller computer and a fun proxmox server). So there is no rush and if I make a mistake, then so be it.
There are three Winbond ICs that I see on the mainboard. Two ICs are close together marked with a blue and a green dot located close to the sata ports.
Blue dot: Winbond 25Q64FVSIQ 1310
Green dot: Winbond 25Q32FVSIQ 1314
And another IC with a pink dot is close to the ram slots and close to the chip with the golden metallic sticker labeled “AMI-Aptio DT 2006 RG57 4010”.
Pink dot IC: Winbond 25Q80BVSIG 1312
Are the two ICs with the green and blue dot the ones holding the bios/firmware ? Or is it the one with the pink dot and I am not seeing a second since I am expecting two ICs ?
I’m attempting this. I use Xeon E3 1241v3 processors. Usually about 15-20 USD. They are 3.5Ghz-4.0GHz processors, 4 core 8 thread. Much cheaper than i7 I find.
I’ll try an SPI read before I start. Then a full BIOS update l, then the NVMe mod (real shame if it doesn’t have native NVMe, since it does have the rare x4 PCIe slot)
I attempted a straight OEM 2022 BIOS update. But I clicked the EC update (unbeknownst to me the Tower motherboard has had no EC update since launch, so I was flashing the Thinkcentre Tiny EC). It hung and has not posted since. No beeps, nothing. The EC chip is 1MB, while most dumps I can find are 128KB. I’ve tried various 4mb+8mb ‘ME cleaned’ images. Black screen, no beeps. The last one had all 3 images (Badcaps .net), and it tries a reboot as though it was resetting the ME or training the RAM, but still no POST. I have to believe the checksums aren’t lining up and the ME isn’t happy.
Just a warning not to skip dumping all 3 chips before attempting anything. Even a Lenovo BIOS update.