FIT Error 10 on Dell 7040m bios

Hello!
One day my Dell 7040m couldn’t resolve DNS on the integrated NIC (but ping/SSH/streaming locally stored movies to other machines on LAN worked) and after a lot of troubleshooting I gave up and wanted to reinstall Ubuntu. The issue persisted to the installer itself and the same behavior is seen on Manjaro and Windows 10 as well. Before booting to any OS it shows the following errors in the upper left corner:

  • (A7) Me FW Downgrade - Request MeSpilock Failed
  • ME FW Update Failed, please try again!
  • Error sending End of Post message to ME: HECI disabled, proceeding with boot!

I tried a USB to Ethernet adapter with which DNS works, so I concluded the problem might be with the bios and tried updating it but I saw the following error:

  • ME Firmware Update Failed: Image Loading

But after this, it also displayed “Firmware Update successful. Rebooting your system.” in green, I assume the bios got updated but the ME didn’t. I repeated the bios update with the motherboard jumper in service mode with the same outcome.

After searching a bit I found this post on the forum and started doing steps posted by plutomaniac. The dumped bios(using fptw64 -d spi.bin) in MEAnalyzer seems healthy:

Found a matching CSME from the repository: 11.8.92.4222_COR_H_DA_PRD_RGN.bin

But when I get to the 6th point in D4. CSME 11 - 15 & CSTXE 3 - 4, where I need to drag and drop the dumped BIOS, I am faced with the following error in FIT, which I couldn’t resolve:

After more searching I came across this post, from where I downloaded the 5040’s BIOS and it can be opened in FIT. I’m unsure how to proceed as the 5040’s ME differs in minor versions from mine quite a bit.

My question is, how can resolve the FIT error 10 or if I went with the 5040’s ME would it cause any trouble and would I be able the update it with the BIOS or is it even worth it to update?

Thank you in advance.
-Andrew
bios_read_1.zip (6.9 MB)

Well, good work so far! As you already found out you need another firmware to read the configuration.

But your case is a little special since your config in the MFS data partition seems to be fine, it unpacks fine in MEA (-unp86 switch). In fact it’s possible to transfer your MFS into another firmware and it then reads perfectl fine in FIT.
You find firmware with a slightly different ME config (AMT disabled) here and here.

  1. Make a copy of your dump, lets say bios_read_2.bin

  2. Open bios_read_2.bin in UEFIToolNE

  3. Expand ME

  4. Right click MFS, extract as is, save

  5. Open one of the images from badcaps in UEFIToolNE

  6. Right click ME region, extract as is, save

  7. Open your bios_read_2.bin in UEFITool 028 or 025

  8. Right click ME region, replace as is, choose the region you extracted and saved in step 7, save the generated file as bios_read_3.bin

bios_read_3.bin is now your bios with a foreign ME configuration, now we import your own MFS again

  1. Open bios_read_3.bin in Hxd, we need to import your MFS into this foreign ME region

image
MFS starts at 0x130000 (relativ to ME region) and has a length of 0x13E000. Before ME region are FD and GbE, size 0x3000, give absolute adresses 0x133000 to 0x275000

  1. Select the MFS in the foreign ME region of bios_read_3.bin in HxD
    image image

  2. Delete the marked block Don’t move the cursor!!

  3. Open your own MFS extracted in step 4 in Hxd, select all (Ctrl-A), copy (Ctrl-C)

  4. Insert in bios_read_3.bin at 0x133000 where the cursor should be

This file should still have exactly 16.777.216 bytes, and beginning og MFS should look like
image

This file should open fine in FIT and can be used for cleaning. Use the version your own ME seemed to have had (it’s unclear to me of all the earlier updates completed completely).

Now knowing your configuration and the differences to the foreign ME region the easiest way would be to simply use the foreign ME region in your firmware, then to change the 5 values manually and then to proceed with cleaning according to the guide…
(Steps 1, 6, 7, 8, 9 then continue with bios_read_3.bin, read config, make the 5 additional changes, continue cleaning according to the guide)


Sorry for the big pause, I didn’t have access to the computer until now.
It works like a charm, thank you very much!
It also fixed the bios update screen when attempting to update from a USB, it was previously all garbled up.
Thanks again!

Thanks for the feedback!