Problems upgrading IME Firmware on Gigabyte GA-Z77X-UD5H

I have been using a modded BIOS on my GA-Z77X-UD5H motherboard for several years now without any issues.
I frequently keep the BIOS up to date using UBU (again, without issues).
However, Gigabyte recently released a new beta BIOS for this motherboard (F16h, instead of the F16g which I am using).
In order to move to this new BIOS, I am looking at modding myself up to the latest firmware versions.
I am comfortable using UBU to update the firmware, but I know the IME firmware update is a little more involved. This is where I need a little help.
I don’t remember how I updated IME in my current BIOS (or even if I did it, and if I did, I can’t guarantee it was done correctly).
I have been trying to get to grips with FITC, but I keep getting an error message when trying to do a build…

ERROR: The flash parts specified aren’t big enough to hold the image that is being built!
Please increase the total flash part size.

Any help or advice anyone can give will be much appreciated.

There are two ways to update the ME firmware. One is to flash your BIOS-modded-via-UBU F16h (with ME 8.1.30.1350) and then update the ME via Intel’s FWUpdate tool. Otherwise, if you want to have an updated SPI image (F16h, modded BIOS via UBU and latest ME firmware) you can follow the Engine CleanUp guide with the latest ME8 1.5MB firmware from the ME thread (despite the guide saying to use the same version, it’s written for a different purpose but can work just fine for updating too).

Since I have a Z77X-UD3H, I know why you get that FITC error. Gigabyte, among some other OEMs of that time, used to not set a starting offset for the BIOS region at the Flash Descriptor region. So FITC does not understand where the BIOS starts and shows that error. Very stupid move, I don’t know why they were doing that. You can fix it manually though. The BIOS starts at offset 0x200000 but the Flash Descriptor says it does at 0x000000 which is the problem. All you have to do is change one byte at offset 0x45 from 0x00 to 0x02.

Capture.PNG



After that, you can follow the cleanup guide to update the ME of the latest F16h SPI/BIOS image from Gigabyte and flash it via the in-BIOS menu.

Thanks plutomaniac. No wonder I couldn’t get my head around why FITC wasn’t working (I’d have never figured that one out).
Which method would you recommend? I assume using method 1 (i.e. using the FWUpdate tool), I could always get back to an updated SPI image by simply saving my BIOS using the Gigabyte QFLash utility - or am I mistaken here?

Out of interest, which Hex Editor / Comparison tool do you use?

Thanks again for all your help.


It depends. If I want to quickly update the ME firmware, of course FWUpdate. But if I want to have a ready SPI image to reflash whenever I want or to share with other people, I will follow the cleanup guide with the latest ME firmware. Since ME8 is not updated anymore (last update at 2015), I don’t see why not do the cleanup guide. Personally, I believe it’s good practice to follow the cleanup guide once (when you flash latest BIOS + mods + latest ME) because you cannot always trust that the OEM did not include an already initialized ME image or similar to save some configuration time at the factory etc. Check section A of the cleanup guide to understand what "initialization" means at the ME.


You could but I don’t recommend that as you’ll save a system specific dump and not have a clean image to reflash at a later point. That’s especially not proper/recommended if you plan to release a mod or something for that motherboard for others to use as well.


Beyond Compare

Hello,

I have a GA-Z77X-UD3H (rev. 1.0) and I have 3 questions:

  1. I updated the IME of the F20e bios image with the last version, for that I had to change the offset 0x45 from 0x00 to 0x02. Now should I rechange the offset 0x45 from 0x02 to 0x00 before flashing?
  2. My bios image name is outimage.bin, should I just rename it z77xud3h.f20e before flashing directly under the bios with Q-Flash?
  3. Not in this topic but I want to update the Atheros AR815x LAN ROM to 2.0.6.6.
    I looked at the bios F18 and F20e for my revision and it seems I have the AR8151 (v1.0) 1969-1073 but under the Windows 10 device manager I have 1969-1083.
    I have read that the modification and update procedure concerns the AR8151 (v2.0) 1969-1083 and not the AR8151 (v1.0) 1969-1073.
    [OUTDATED] PCI ROM modules (not AHCI/RAID related) (15)
    Also I found some bios mods for my motherboard and people use the 2.0.6.6.
    Any idea ? AR8151 (v1.0) 1969-1073 and AR8151 (v2.0) 1969-1083 are the same products with no major differences?

Thanks for your interest.

EDIT by Fernando: Text formatted (for better readability)

@SkyBenoit :
Welcome to the Win-RAID Forum!
Although I am not an expert regarding your questions, here are my answers:
to 1.: Flashing an updated BIOS and flashing an updated Intel ME Firmware are completely different things and need to be done a completely different way.
to 2.: It depends on what your BIOS image named “outimage.bin” is. If it is a “normal” BIOS and not a dumped SPI, you may be able to get it properly flashed by using the Q-Flash tool after having renamed it to “Z77XUD3H.20e”.
If you want answers given by an Intel ME expert, please wait until plutomaniac is back online.
Your 3rd question id absolutely off-topic and should be asked within >this< Sub-Forum.
Regards
Dieter (alias Fernando)

Thank you for the answer !

I understand all the diffrences that you explained to me.
Currently, my motherboard works with the F18 BIOS and I want to update this one to F20e.
It’s the reason why I used UBU for modding a clean F20e BIOS image directly downloaded on Gigabyte’s website.
For the last step, following the plutomaniac’s explanations, I replaced the old IME by the last inside the modded BIOS image.
Right now, I’m just waiting for answers before flashing everything (BIOS & IME) with Q-Flash.

On your advise, I’ll wait for plutomaniac’s answers on question 1 and 2.

Thanks !