FPT UEFI flash error 280 with Lenovo M93p board. Protection?

Dear all,

long time no see. Have not been actively engaged in the community for years but I have written CBROM BIOS Option ROM modding guides for nForce4 chipsets nearly 20 years ago :slight_smile:
But now I need your help.

I have a Lenovo M93p Desktop/Tower 10A7 (Haswell, Q87 chipset) that cannot boot from NVMe which I want to change.

The device was updated to the latest available firmware from Lenovo by the default Lenovo flash tool.
I read and followed several guides of this forum and want to describe what the issue is.
The board features three flash chips as desribed in this thread with pictures

The markings are not exactly the same with me: The 1MB chip has also a magenta dot but the positions of the blue and green dotted chips are switched. One is 8 MB and the other is 4MB in size.

I have a CH341A ready and took readings from the flash chips. However, I couldn’t manage to get my old SOIC8-clip to stick to the 4MB flash chip. So I have only flashrom backups of the 1 MB and the 8 MB chip.

I set the ME_DIS jumper of the board. Then with FPT (from the 9.1 ME Tools as I seem to have ME 9.0) in the EFI shell I managed to read out a dump of perfect 12 MB by fpt -d originalbios.bin.

I updated GOP and CPU microcode with UBU in the dumped file and inserted the NVMe module (full size) with MMtool for Aptio 4. Everything seemed to work fine.

Upon trying to flash back the new file with fpt -savemac -f moddedbios.bin I get the FPT error 280 that signals some kind of flash protection.

The hint here about some EFI driver didn’t help me much: Using FPT booting into DOS gives the same 280 error message so it shouldn’t be related to the EFI and any driver loaded. In this thread CodeRush also advises against flashing with AFUDOS. (I looked into it but the Lenovo BIOS update has several parts and doesn’t flash a single blob, so I didn’t pursue that further.).

I then found these two threads about the topic. Following the advice there, I used IFR extractor (first from within UBU) but it didn’t yield anything as output. I fired up UEFItool and looked according to the guide after similar module candidates.

And from that screenshot I think that what I need is the Module “MiniSetupResourceSection”

All occurences of Setup in the UEFI

Unicode text “Setup” found in IntelSaGopDriver/…/PE32 image section at header-offset C84h
Unicode text “Setup” found in 6FF958B1-118A-425A-BD63-4510542DF9B8/…/PE32 image section at header-offset 6F0h
Unicode text “Setup” found in CpuDxe/…/PE32 image section at header-offset 2FF4h
Unicode text “Setup” found in CpuDxe/…/PE32 image section at header-offset 31DCh
Unicode text “Setup” found in 87261FD4-81EA-4EFF-9A06-553F4096CCBE/…/PE32 image section at header-offset 18FCh
Unicode text “Setup” found in 87261FD4-81EA-4EFF-9A06-553F4096CCBE/…/PE32 image section at header-offset 1912h
Unicode text “Setup” found in 714BC501-2EF3-41C0-ADD7-F18120A9FE7C/…/PE32 image section at header-offset 1870h
Unicode text “Setup” found in 714BC501-2EF3-41C0-ADD7-F18120A9FE7C/…/PE32 image section at header-offset 18ECh
Unicode text “Setup” found in CORE_DXE/…/PE32 image section at header-offset 42E84h
Unicode text “Setup” found in CORE_DXE/…/PE32 image section at header-offset 431C0h
Unicode text “Setup” found in FlashDriver/…/PE32 image section at header-offset FBFCh
Unicode text “Setup” found in FlashDriver/…/PE32 image section at header-offset FF34h
Unicode text “Setup” found in FlashDriver/…/PE32 image section at header-offset FFB8h
Unicode text “Setup” found in D771275B-07B1-4706-9F4A-D99A2B672A44/…/PE32 image section at header-offset 2AB6h
Unicode text “Setup” found in D771275B-07B1-4706-9F4A-D99A2B672A44/…/PE32 image section at header-offset 2ADAh
Unicode text “Setup” found in D771275B-07B1-4706-9F4A-D99A2B672A44/…/PE32 image section at header-offset 2B0Ah
Unicode text “Setup” found in D771275B-07B1-4706-9F4A-D99A2B672A44/…/PE32 image section at header-offset 2B40h
Unicode text “Setup” found in D771275B-07B1-4706-9F4A-D99A2B672A44/…/PE32 image section at header-offset 2B6Ch
Unicode text “Setup” found in D771275B-07B1-4706-9F4A-D99A2B672A44/…/PE32 image section at header-offset 3005h
Unicode text “Setup” found in D771275B-07B1-4706-9F4A-D99A2B672A44/…/PE32 image section at header-offset 3076h
Unicode text “Setup” found in 52A5421E-B165-426E-858D-D2E18BEA3F7E/…/PE32 image section at header-offset 1174h
Unicode text “Setup” found in 52A5421E-B165-426E-858D-D2E18BEA3F7E/…/UI section at header-offset 04h
Unicode text “Setup” found in E247DFC7-A8C3-4A5F-96B3-EA29307357D7/…/PE32 image section at header-offset 624h
Unicode text “Setup” found in ReFlash/…/PE32 image section at header-offset 3DA4h
Unicode text “Setup” found in ReFlash/…/PE32 image section at header-offset 3F00h
Unicode text “Setup” found in ReFlash/…/PE32 image section at header-offset 3F44h
Unicode text “Setup” found in ReFlash/…/PE32 image section at header-offset 3F9Ah
Unicode text “Setup” found in ReFlash/…/PE32 image section at header-offset 3FB2h
Unicode text “Setup” found in PciBus/…/PE32 image section at header-offset D3C4h
Unicode text “Setup” found in CpuPolicyInitDxe/…/PE32 image section at header-offset 15A4h
Unicode text “Setup” found in AmiTxtDxe/…/PE32 image section at header-offset BC4h
Unicode text “Setup” found in SbDxe/…/PE32 image section at header-offset 8A24h
Unicode text “Setup” found in SbDxe/…/PE32 image section at header-offset 8AAAh
Unicode text “Setup” found in AcpiModeEnable/…/PE32 image section at header-offset 1AA4h
Unicode text “Setup” found in SleepSmi/…/PE32 image section at header-offset 2264h
Unicode text “Setup” found in SBSMI/…/PE32 image section at header-offset 2704h
Unicode text “Setup” found in SmBusMemoryDown/…/PE32 image section at header-offset 133Ch
Unicode text “Setup” found in NbDxe/…/PE32 image section at header-offset 522Ch
Unicode text “Setup” found in NbSmi/…/PE32 image section at header-offset 196Ch
Unicode text “Setup” found in ACPI/…/PE32 image section at header-offset 6E54h
Unicode text “Setup” found in S3Resume/PE32 image section at header-offset 1964h
Unicode text “Setup” found in 6C1962B6-921E-420B-ACFF-D7AEA03A08D0/…/PE32 image section at header-offset 4BE4h
Unicode text “Setup” found in DF4A6A65-3283-4BA5-90D7-EB08D0695C56/…/UI section at header-offset 16h
Unicode text “Setup” found in B1AED58A-C460-4887-93D7-5895041A075D/…/UI section at header-offset 18h
Unicode text “Setup” found in HardwareSignatureEntry/…/PE32 image section at header-offset 257Ch
Unicode text “Setup” found in iFfsDxePolicyInit/…/PE32 image section at header-offset 12A4h
Unicode text “Setup” found in IsctAcpi/…/PE32 image section at header-offset ABCh
Unicode text “Setup” found in CsmDxe/…/PE32 image section at header-offset BA94h
Unicode text “Setup” found in CsmBlockIo/…/PE32 image section at header-offset 28A4h
Unicode text “Setup” found in HeciInit/…/PE32 image section at header-offset 3D32h
Unicode text “Setup” found in BiosExtensionLoader/…/PE32 image section at header-offset 3696h
Unicode text “Setup” found in BiosExtensionLoader/…/PE32 image section at header-offset 3A32h
Unicode text “Setup” found in BiosExtensionLoader/…/PE32 image section at header-offset 3BF2h
Unicode text “Setup” found in Mebx/…/PE32 image section at header-offset 11E65h
Unicode text “Setup” found in Mebx/…/PE32 image section at header-offset 11E92h
Unicode text “Setup” found in Mebx/…/PE32 image section at header-offset 122F2h
Unicode text “Setup” found in Mebx/…/PE32 image section at header-offset 12311h
Unicode text “Setup” found in Mebx/…/PE32 image section at header-offset 137CCh
Unicode text “Setup” found in Mebx/…/PE32 image section at header-offset 15431h
Unicode text “Setup” found in MebxSetupBrowser/…/UI section at header-offset 0Ch
Unicode text “Setup” found in AlertStandardFormatDxe/…/PE32 image section at header-offset 1FBAh
Unicode text “Setup” found in SerialOverLan/…/PE32 image section at header-offset 2E42h
Unicode text “Setup” found in MePlatformPolicy/…/PE32 image section at header-offset 1280h
Unicode text “Setup” found in MePlatformPolicy/…/PE32 image section at header-offset 128Ch
Unicode text “Setup” found in IccPlatformDxe/…/PE32 image section at header-offset 14D2h
Unicode text “Setup” found in IccPlatformDxe/…/PE32 image section at header-offset 15CCh
Unicode text “Setup” found in Smbios131/…/PE32 image section at header-offset 950h
Unicode text “Setup” found in Smbios131/…/PE32 image section at header-offset A32h
Unicode text “Setup” found in TdtWrapper/…/PE32 image section at header-offset B7Ah
Unicode text “Setup” found in TdtWrapper/…/PE32 image section at header-offset B94h
Unicode text “Setup” found in AmtWrapperDxe/…/PE32 image section at header-offset 5184h
Unicode text “Setup” found in AmtWrapperDxe/…/PE32 image section at header-offset 5F02h
Unicode text “Setup” found in AmtWrapperDxe/…/PE32 image section at header-offset 6352h
Unicode text “Setup” found in AmtSetupDxe/…/PE32 image section at header-offset 8C4h
Unicode text “Setup” found in AmtSetupDxe/…/PE32 image section at header-offset 8D4h
Unicode text “Setup” found in AmtSetupDxe/…/UI section at header-offset 0Ah
Unicode text “Setup” found in AmtPlatformPolicy/…/PE32 image section at header-offset B04h
Unicode text “Setup” found in AmtPlatformPolicy/…/PE32 image section at header-offset BE2h
Unicode text “Setup” found in AmtSmbios/…/PE32 image section at header-offset 7F2h
Unicode text “Setup” found in ASFVerbosity/…/PE32 image section at header-offset 996h
Unicode text “Setup” found in AcpiPlatform/…/PE32 image section at header-offset 41E4h
Unicode text “Setup” found in AcpiPlatform/…/PE32 image section at header-offset 420Ch
Unicode text “Setup” found in SecureBootMod/…/PE32 image section at header-offset D0Ch
Unicode text “Setup” found in SecureBootMod/…/PE32 image section at header-offset D58h
Unicode text “Setup” found in CD23D57B-3563-4007-B81C-B8DDB240FF56/…/PE32 image section at header-offset 578h
Unicode text “Setup” found in SecFlashUpdDxe/…/PE32 image section at header-offset 884h
Unicode text “Setup” found in HddSmart/…/PE32 image section at header-offset 21ECh
Unicode text “Setup” found in LegacySredir/…/PE32 image section at header-offset 2534h
Unicode text “Setup” found in SmbiosBoard/…/PE32 image section at header-offset 1158h
Unicode text “Setup” found in Smbios/…/PE32 image section at header-offset 590Ch
Unicode text “Setup” found in Smbios/…/PE32 image section at header-offset 5954h
Unicode text “Setup” found in SmiFlash/…/PE32 image section at header-offset A6A8h
Unicode text “Setup” found in SmiFlash/…/PE32 image section at header-offset A870h
Unicode text “Setup” found in SmiFlash/…/PE32 image section at header-offset A9BCh
Unicode text “Setup” found in SmiFlash/…/PE32 image section at header-offset AA12h
Unicode text “Setup” found in SmiFlash/…/PE32 image section at header-offset AA2Ah
Unicode text “Setup” found in SmiFlash/…/PE32 image section at header-offset BB3Ah
Unicode text “Setup” found in Terminal/…/PE32 image section at header-offset 7474h
Unicode text “Setup” found in TcgPlatformSetupPolicy/…/PE32 image section at header-offset B8Ch
Unicode text “Setup” found in TcgPlatformSetupPolicy/…/UI section at header-offset 1Ah
Unicode text “Setup” found in 837AF01B-6A84-43DC-9B81-5C1707371913/…/PE32 image section at header-offset D1Ch
Unicode text “Setup” found in AmiTcgPlatformDxe/…/PE32 image section at header-offset 6CD2h
Unicode text “Setup” found in AmiTcgPlatformDxe/…/PE32 image section at header-offset 6D06h
Unicode text “Setup” found in AmiTcgPlatformDxe/…/PE32 image section at header-offset 6FB0h
Unicode text “Setup” found in AmiTcgPlatformDxe/…/PE32 image section at header-offset 70F4h
Unicode text “Setup” found in LEMPhyPresenceSet12/…/PE32 image section at header-offset 7FCh
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5D1B0h
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5D1D4h
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5D232h
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5D2DAh
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5D330h
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5D348h
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5D654h
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5D7ACh
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5D838h
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5D8CEh
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5D8ECh
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5D914h
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5DA16h
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5DB70h
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5DBA0h
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5DBD8h
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5DC58h
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5E3DAh
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5E452h
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5E638h
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5E6D8h
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5E7F8h
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5E898h
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5E938h
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5E9D8h
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5EBA2h
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5EEBEh
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5EF84h
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5F07Eh
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5F41Eh
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5FACEh
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 5FB1Ch
Unicode text “Setup” found in AMITSE/…/PE32 image section at header-offset 63DCAh
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 76h
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 9Dh
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 3EDh
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 40Eh
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 660h
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 995h
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset A8Bh
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset DD7h
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset DF6h
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset E2Ch
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 1080h
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 18EEh
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 1A0Fh
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 1ADBh
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 1B5Bh
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 1DDDh
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 2004h
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 24A4h
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 2591h
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 2611h
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 26DEh
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 275Eh
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 2928h
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 2A0Fh
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 2C1Ch
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 3C30h
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 3EE6h
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 3F07h
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 415Bh
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 464Eh
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 4CC1h
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 5704h
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 663Dh
Unicode text “Setup” found in AMITSE/…/MiniSetupResourceSection at header-offset 6CBDh
Unicode text “Setup” found in AMITSE/…/setupdata at header-offset 133ECh
Unicode text “Setup” found in AMITSE/…/setupdata at header-offset 13664h
Unicode text “Setup” found in AMITSE/…/setupdata at header-offset 13BACh
Unicode text “Setup” found in AMITSE/…/setupdata at header-offset 14084h
Unicode text “Setup” found in AMITSE/…/setupdata at header-offset 141F8h
Unicode text “Setup” found in AMITSE/…/setupdata at header-offset 14464h
Unicode text “Setup” found in AMITSE/…/setupdata at header-offset 14654h
Unicode text “Setup” found in AMITSE/…/setupdata at header-offset 146E6h
Unicode text “Setup” found in AMITSE/…/setupdata at header-offset 14844h
Unicode text “Setup” found in AMITSE/…/setupdata at header-offset 14CB8h
Unicode text “Setup” found in AMITSE/…/setupdata at header-offset 14E14h
Unicode text “Setup” found in AMITSE/…/setupdata at header-offset 14E90h
Unicode text “Setup” found in AMITSE/…/setupdata at header-offset 14F88h
Unicode text “Setup” found in AMITSE/…/setupdata at header-offset 15080h
Unicode text “Setup” found in AMITSE/…/setupdata at header-offset 15474h
Unicode text “Setup” found in AMITSE/…/setupdata at header-offset 15558h
Unicode text “Setup” found in AMITSE/…/setupdata at header-offset 15656h
Unicode text “Setup” found in AMITSE/…/setupdata at header-offset 156CCh
Unicode text “Setup” found in AMITSE/…/setupdata at header-offset 15C20h
Unicode text “Setup” found in AMITSE/…/setupdata at header-offset 15D18h
Unicode text “Setup” found in AMITSE/…/setupdata at header-offset 15D94h
Unicode text “Setup” found in NetworkStackSetupScreen/…/UI section at header-offset 1Ch
Unicode text “Setup” found in Uhcd/…/PE32 image section at header-offset A6E4h
Unicode text “Setup” found in UsbRtSmm/…/PE32 image section at header-offset 17A64h
Unicode text “Setup” found in 2187AF13-8880-4F76-8F9F-2A91079C9DAA/…/PE32 image section at header-offset 5384h
Unicode text “Setup” found in OEMDXE/…/PE32 image section at header-offset 6C4h
Unicode text “Setup” found in 5CC789A5-2C9C-414F-8F07-085FF1308101/…/PE32 image section at header-offset DA4h
Unicode text “Setup” found in B30A6285-819B-40C4-9AB7-501EF5E97503/…/PE32 image section at header-offset 1BE0h
Unicode text “Setup” found in 532E79C4-82DD-4060-AD8A-4884E468CE2C/…/PE32 image section at header-offset 401Ch
Unicode text “Setup” found in Setup/…/PE32 image section at header-offset F884h
Unicode text “Setup” found in Setup/…/PE32 image section at header-offset F90Ch
Unicode text “Setup” found in Setup/…/PE32 image section at header-offset FFFCh
Unicode text “Setup” found in Setup/…/PE32 image section at header-offset 1034Ah
Unicode text “Setup” found in Setup/…/PE32 image section at header-offset 10588h
Unicode text “Setup” found in Setup/…/PE32 image section at header-offset 10634h
Unicode text “Setup” found in Setup/…/PE32 image section at header-offset 106B8h
Unicode text “Setup” found in Setup/…/PE32 image section at header-offset 109BCh
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 4A5h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 50Ch
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset A25h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset A7Ah
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset B5Fh
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset B73h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 10EAh
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 1176h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 1290h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 1359h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 13EDh
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 148Bh
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 15ADh
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 1F35h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 82C7h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset C453h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset C97Ch
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset CFC6h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 10FC9h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 1101Ah
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 18CA8h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 18DA2h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 18EF5h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 19376h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 1981Bh
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 19964h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 19A6Fh
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 1A89Dh
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 1AA0Bh
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 1AA5Fh
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 1AAA7h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 1AD38h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 1AF62h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 1B002h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 1B092h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 1B124h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 1B140h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 1B1C4h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 1B24Ch
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 1CDF3h
Unicode text “Setup” found in Setup/…/MiniSetupResourceSection at header-offset 2A663h
Unicode text “Setup” found in Setup/…/UI section at header-offset 04h
Unicode text “Setup” found in 4E237F16-A68B-4F88-8940-FCF0C27BDABE/…/PE32 image section at header-offset 9BCh
Unicode text “Setup” found in 5AA4988B-561C-49B6-88CD-2B5516C66B14/…/PE32 image section at header-offset BCF0h
Unicode text “Setup” found in 5AA4988B-561C-49B6-88CD-2B5516C66B14/…/PE32 image section at header-offset BDF2h
Unicode text “Setup” found in 5AA4988B-561C-49B6-88CD-2B5516C66B14/…/PE32 image section at header-offset BE14h
Unicode text “Setup” found in 5AA4988B-561C-49B6-88CD-2B5516C66B14/…/PE32 image section at header-offset BE4Ch
Unicode text “Setup” found in 5AA4988B-561C-49B6-88CD-2B5516C66B14/…/PE32 image section at header-offset BEF8h
Unicode text “Setup” found in 5AA4988B-561C-49B6-88CD-2B5516C66B14/…/PE32 image section at header-offset BFFEh
Unicode text “Setup” found in 5AA4988B-561C-49B6-88CD-2B5516C66B14/…/PE32 image section at header-offset C01Ch
Unicode text “Setup” found in 6EA18CFF-4852-4205-A284-677802FA7863/…/PE32 image section at header-offset 26F0h
Unicode text “Setup” found in CE181FF6-38D8-4442-81A2-F63F60E51C72/…/PE32 image section at header-offset 16D0h
Unicode text “Setup” found in 23C03ADC-2315-4FED-8002-774906AFBBF6/…/PE32 image section at header-offset B50h
Unicode text “Setup” found in 23C03ADC-2315-4FED-8002-774906AFBBF6/…/PE32 image section at header-offset B74h
Unicode text “Setup” found in CopyRight/…/PE32 image section at header-offset 1134h
Unicode text “Setup” found in CEC0D748-7232-413B-BDC6-2ED84F5338BC/…/PE32 image section at header-offset 59C4h
Unicode text “Setup” found in CEC0D748-7232-413B-BDC6-2ED84F5338BC/…/PE32 image section at header-offset 5A38h
Unicode text “Setup” found in CEC0D748-7232-413B-BDC6-2ED84F5338BC/…/PE32 image section at header-offset 5BF4h
Unicode text “Setup” found in CEC0D748-7232-413B-BDC6-2ED84F5338BC/…/PE32 image section at header-offset 5CD4h
Unicode text “Setup” found in CEC0D748-7232-413B-BDC6-2ED84F5338BC/…/MiniSetupResourceSection at header-offset 530h
Unicode text “Setup” found in CEC0D748-7232-413B-BDC6-2ED84F5338BC/…/MiniSetupResourceSection at header-offset B52h
Unicode text “Setup” found in ClearChassisIntrusion/…/PE32 image section at header-offset 1348h
Unicode text “Setup” found in 536C9BEB-049B-1234-A064-A6E72870FE66/…/PE32 image section at header-offset B7Eh
Unicode text “Setup” found in 536C9BEB-049B-1234-A064-A6E72870FE66/…/UI section at header-offset 0Ah
Unicode text “Setup” found in UpdateErrorInfo/…/PE32 image section at header-offset E9Ch
Unicode text “Setup” found in DMBM/…/PE32 image section at header-offset 1744h
Unicode text “Setup” found in 194803E6-A443-4422-938B-055FF51A3E6F/…/PE32 image section at header-offset 12E8h
Unicode text “Setup” found in 194803E6-A443-4422-938B-055FF51A3E6F/…/PE32 image section at header-offset 135Ch
Unicode text “Setup” found in SwSmi534D3320/…/PE32 image section at header-offset F70h
Unicode text “Setup” found in Ofbd/…/PE32 image section at header-offset 5FF4h
Unicode text “Setup” found in Ofbd/…/PE32 image section at header-offset 60E8h
Unicode text “Setup” found in Ofbd/…/PE32 image section at header-offset 61FAh
Unicode text “Setup” found in Ofbd/…/PE32 image section at header-offset 621Ch
Unicode text “Setup” found in F9B1D2B2-1E92-4B53-9F36-25515B839B8B/…/PE32 image section at header-offset 72Ch
Unicode text “Setup” found in C348ED82-6EB9-4FFA-815E-3C49FA6939B6/…/PE32 image section at header-offset D2Ch
Unicode text “Setup” found in C45FCBC2-EA27-4FB6-A24F-A4B4E0995435/…/PE32 image section at header-offset 644h
Unicode text “Setup” found in UpdateSerial_NUM/…/PE32 image section at header-offset E44h
Unicode text “Setup” found in SetupLoadDefaultDxe/…/PE32 image section at header-offset 668h
Unicode text “Setup” found in SetupLoadDefaultDxe/…/UI section at header-offset 04h
Unicode text “Setup” found in LNVRNR/…/PE32 image section at header-offset 1858h
Unicode text “Setup” found in LNVRNR/…/PE32 image section at header-offset 1A7Eh
Unicode text “Setup” found in LNVRNR/…/PE32 image section at header-offset 1CD8h
Unicode text “Setup” found in CptSwSmi/…/PE32 image section at header-offset 18C0h
Unicode text “Setup” found in ComputraceBds/…/PE32 image section at header-offset 1790h
Unicode text “Setup” found in UltraFunctionTable/…/PE32 image section at header-offset 153Ch
Unicode text “Setup” found in UltraFunctionSwSmi/…/PE32 image section at header-offset BE4h
Unicode text “Setup” found in WMISwSmi/…/PE32 image section at header-offset 7A64h
Unicode text “Setup” found in WMISwSmi/…/PE32 image section at header-offset 7A8Ch
Unicode text “Setup” found in WMISwSmi/…/PE32 image section at header-offset 7AE8h
Unicode text “Setup” found in WMISwSmi/…/PE32 image section at header-offset 7B8Ch
Unicode text “Setup” found in WMISwSmi/…/PE32 image section at header-offset 7BC4h
Unicode text “Setup” found in WMISwSmi/…/PE32 image section at header-offset 7CA8h
Unicode text “Setup” found in WMISwSmi/…/PE32 image section at header-offset 7CE8h
Unicode text “Setup” found in C3A8BCE3-EA66-4184-9D36-A27D3558033F/…/PE32 image section at header-offset 4EB4h
Unicode text “Setup” found in C3A8BCE3-EA66-4184-9D36-A27D3558033F/…/PE32 image section at header-offset 503Ch
Unicode text “Setup” found in C3A8BCE3-EA66-4184-9D36-A27D3558033F/…/PE32 image section at header-offset 58E0h
Unicode text “Setup” found in FingerPrintSwSmi/…/PE32 image section at header-offset F70h
Unicode text “Setup” found in FingerPrintSwSmi/…/PE32 image section at header-offset F7Ch
Unicode text “Setup” found in 2ADDC097-5C4B-46C1-A404-CF62FBAED5F0/…/PE32 image section at header-offset 8A4h
Unicode text “Setup” found in 2ADDC097-5C4B-46C1-A404-CF62FBAED5F0/…/MiniSetupResourceSection at header-offset 8Fh
Unicode text “Setup” found in 7777375B-03AD-45E3-8B51-A23B59AE9772/…/PE32 image section at header-offset 1244h
Unicode text “Setup” found in 7777375B-03AD-45E3-8B51-A23B59AE9772/…/PE32 image section at header-offset 1278h
Unicode text “Setup” found in 568A17D0-ED09-4436-8A08-03F5948F73B8/…/PE32 image section at header-offset 684h
Unicode text “Setup” found in UefiDiagnostic/…/PE32 image section at header-offset 1624h
Unicode text “Setup” found in 019C52FD-9FA2-4FC8-B71E-57030C32608B/…/PE32 image section at header-offset 1230h
Unicode text “Setup” found in 45D56AF0-A58F-4006-A715-D2B0D28AB8A3/…/PE32 image section at header-offset CCAh
Unicode text “Setup” found in 45D56AF0-A58F-4006-A715-D2B0D28AB8A3/…/PE32 image section at header-offset D02h
Unicode text “Setup” found in 9B87A2DB-B0C6-4AD9-A79D-48DF7006BB37/…/PE32 image section at header-offset DF4h
Unicode text “Setup” found in 3D3557EE-0A91-40E1-97A7-58D75195AC81/…/PE32 image section at header-offset 878h
Unicode text “Setup” found in 3D3557EE-0A91-40E1-97A7-58D75195AC81/…/PE32 image section at header-offset 884h
Unicode text “Setup” found in 3D3557EE-0A91-40E1-97A7-58D75195AC81/…/UI section at header-offset 10h
Unicode text “Setup” found in DisableLTEB/…/PE32 image section at header-offset 644h
Unicode text “Setup” found in 2861DEDD-471C-45CB-864A-E225CE5A2C95/…/PE32 image section at header-offset 10C4h
Unicode text “Setup” found in 2861DEDD-471C-45CB-864A-E225CE5A2C95/…/UI section at header-offset 10h
Unicode text “Setup” found in 94AE4F81-94CB-4CD6-89FC-0297397125F0/…/PE32 image section at header-offset E04h
Unicode text “Setup” found in 8BA2BBAF-E1A4-4877-96A2-390C82B077FD/…/PE32 image section at header-offset 266Ch
Unicode text “Setup” found in 82271FCA-45D9-4A33-93FC-5A3EB128DEB6/…/PE32 image section at header-offset 25D4h
Unicode text “Setup” found in B6D6E9C4-B34C-4F76-8EFD-92061B5A527A/…/PE32 image section at header-offset EE4h
Unicode text “Setup” found in 38BB0DD1-439C-4831-8B25-97491119C459/…/PE32 image section at header-offset 23A4h
Unicode text “Setup” found in BC890EB0-FAD2-4FCE-8847-E732E11F8AEE/…/PE32 image section at header-offset ACCh
Unicode text “Setup” found in 17220A03-9CA4-480A-B1CE-8702116E0A35/…/PE32 image section at header-offset 11C44h
Unicode text “Setup” found in 17220A03-9CA4-480A-B1CE-8702116E0A35/…/PE32 image section at header-offset 11D94h
Unicode text “Setup” found in 0214D2F7-E92B-4562-92DD-9C82EC917EAE/PE32 image section at header-offset FA4h
Unicode text “Setup” found in CORE_PEI/PE32 image section at header-offset A430h
Unicode text “Setup” found in CORE_PEI/PE32 image section at header-offset A9E8h
Unicode text “Setup” found in CpuPolicyPei/PE32 image section at header-offset D30h
Unicode text “Setup” found in AmiTxtPei/PE32 image section at header-offset 2E4h
Unicode text “Setup” found in SbPei/PE32 image section at header-offset 4AE4h
Unicode text “Setup” found in SbPei/PE32 image section at header-offset 4B32h
Unicode text “Setup” found in 83104BA3-FDC2-4577-9C42-4147666A3F59/PE32 image section at header-offset EC4h
Unicode text “Setup” found in NbPei/PE32 image section at header-offset 36C4h
Unicode text “Setup” found in IsctWakeReason/PE32 image section at header-offset C98h
Unicode text “Setup” found in MePolicyInitPei/PE32 image section at header-offset 404h
Unicode text “Setup” found in AmtPolicyInitPei/PE32 image section at header-offset 524h
Unicode text “Setup” found in AmtPolicyInitPei/PE32 image section at header-offset 582h
Unicode text “Setup” found in TcgPlatformSetupPeiPolicy/PE32 image section at header-offset 4ECh
Unicode text “Setup” found in TcgPlatformSetupPeiPolicy/UI section at header-offset 1Ah
Unicode text “Setup” found in TcgPei/PE32 image section at header-offset 2544h
Unicode text “Setup” found in TcgPeiAftermem/…/PE32 image section at header-offset 16A4h
Unicode text “Setup” found in TcgPeiplatform/PE32 image section at header-offset 15F0h
Unicode text “Setup” found in AmiTcgPlatformPeiAfterMem/…/PE32 image section at header-offset 2854h
Unicode text “Setup” found in AmiTcgPlatformPeiBeforeMem/PE32 image section at header-offset 1A50h
Unicode text “Setup” found in 9961153D-EF53-4945-B58B-CC32489717F1/PE32 image section at header-offset FBCh

I extracted the module, downloaded the latest version of IFRextractor-RS and
ifrextractor.exe Section_Freeform_subtype_GUID_MiniSetupResourceSection_Setup_Setup_body.bin
gave me several text files. In the largest of them I found the following

	Form FormId: 0x43C, Title: "Intel(R) Manageability"
		Subtitle Prompt: "", Help: "", Flags: 0x0
		End 
		SuppressIf 
			EqIdVal QuestionId: 0x102, Value: 0x1
			OneOf Prompt: "ME Flash Descriptor Override", Help: "Enable:ME Flash Descriptor Override to pass all access permissions to update ME FW.Disable:Default.", QuestionFlags: 0x14, QuestionId: 0x43E, VarStoreId: 0x1, VarOffset: 0x90, Flags: 0x10, Size: 8, Min: 0x0, Max: 0x0, Step: 0x0
				Default DefaultId: 0x0 Value: 0
				OneOfOption Option: "Disable" Value: 0
				OneOfOption Option: "Enable" Value: 1
			End 
		End

If that is the culprit, 0x90 seems to be the desired address of the variable I have to set.
Then I used the EFI from Setup_EFI_Shell.rar and booted with that to a grub> prompt.

I then issued
setup_var 0x90 0x1

This gave:

var name: setup, var size: 12, var GUID: ec87d643-eba4-4bb5 - a1-e5-3f[...]
--> GUID does not match expected GUID, taking it nevertheless...
successfully obtained "Setup" variable from VSS (got 343 (0x157))
offset 0x90 is: 0x01
setting offset 0x90 to 0x01

I typed reboot as suggested in the guide but no change: I got error 280 in FPT again. I also failed to continue booting anything from the grub-prompt (I am no expert in that) to flash from either EFI or DOS without rebooting.

The message tells me (to my understanding) that at 0x90 there was already value 1 (therefore this would be no change) and maybe this is the wrong variable? Contrary to the IFR text file the variable size is also 12 and not 8, I don’t know what to make from that. Unfortunately, I didn’t find anything related to ME disable or flashing in other IFR text files though. I also found this thread but couldn’t figure how that could adapt to my situation.

I attach:
Original BIOS UEFI file
m93orig-fpt-bios.zip (7.3 MB)

CH341 reading of 8MB flash
8MBflash-CH341A-me-dis.zip (5.2 MB)

For completeness: magenta 1MB flash rom
magenta-1M.zip (58.1 KB)

Note: The files read off the chip via CH341A are not fully bit-identical. In the dump there are parts where hardware information about installed hard disks etc. are present.

Modded BIOS UEFI (although not relevant for the issue)
modbios-gop-cpumc-nvme.zip (7.2 MB)

Extracted Module
Section_Freeform_subtype_GUID_MiniSetupResourceSection_Setup_Setup_body.zip (52.2 KB)

IFR text files
IFR text files from module.zip (35.8 KB)

What I also tried: FPT executables from the 9.5 ME and the 10.0 ME work the same as the 9.1 one and they also show the same error number 280.

I think I am already really close. Any idea which variable I need to set? Was this the correct UEFI module I was looking at?

When my replacement SOIC8-clip arrives and we haven’t found another solution: Would I just split the 12 MB dump and write the first 8MB to the first chip and the remaining 4 MB to the second chip? FPT lists the chips in this order.

If any information is missing to answer the question, please ask and I will try to provide the information.
Basically it boils down to: What variable do I have to set with setup_var to disable the protection that prevents FPT from flashing?

Best regards
weaker

That was because the other region was locked, only the bios itself is permitted to be written:
image

If you do want to do everything software, you might only need to unlock all the region, and flash bios dump unlocked image with ch341a, then you might able to flash using intel fpt.

Here’s an example of it being “unlocked” (tho you still need ME_Dis to be shorted for intel fpt usage):


image

I hope this helps :smiley:

Thank you for answering! I’m afraid it has become only partly clear: I could now edit the BIOS writability flags with HxD according to your screenshot and then I could try to flash the result with FPT (while having the ME_DIS jumper set).

Unclear to me is the part where you mention the CH341A: The file “m93orig-fpt-bios.bin” that you opened was obtained via FPT not via CH341A. As long as I am waiting on a new SOIC8 clip I can’t write to both flash chips as the old clip simply doesn’t attach properly to the 4MB chip.

I am open to a full software solution and if not necessary, I wouldn’t flash with CH341A.

OK I just took the chance and tried to flash the BIOS with the modified flags. That didn’t work and also gave me error 280.
I assume you mean that I have to write the flag-modified one with CH341A in order to update via software to different versions afterwards. Did I understand now correctly?

As the flags are located in the lowest memory region I could edit only those, reflash with CH314A and then do a full update via FPT. I think that was the plan?

Correct! Thank you for your words as i am bad at english (not my native language), so yeah basically you need a dump of the full bios OR just the part where it have the descriptor region from the chip, modify the descriptor region only, write that modified region to the bios chip, so now we have stock or configured as-is 1:1 bios, with only the descriptor region that was changed. That is what i wanted to tell you :smiley:

Thank you. Now I need to wait for the fresh SOIC8 clip as the old one does no longer attach properly :frowning:
Thank you for pointing me to the descriptor flags!

1 Like