Z390 AORUS PRO WIFI microcode mod

Hello,

As the title says, I would like to have a microcode modded BIOS for this motherboard for optimal performance. The version I am running is F11. I have a 9700k with the CPUID 906ED. If any more information is needed, please let me know. I am not too familiar with this.

Another thing: I know that Gigabyte says you are unable to downgrade your BIOS if you update to the ones with a capsule, but is there anyway to actually do it?

If anyone knows of other useful mods to be done to this motherboard BIOS please let me know as well.

Hi @t0rcke,

It is possible to change the microcode in the BIOS to whichever version you want, however if using Windows 10/11 you will likely need to rename/delete the file mcupdate_GenuineIntel.dll as it will load a microcode that will override the BIOS microcode (if the BIOS microcode is an earlier version).

Note that this file will be restored if you run the system file check “sfc /scannow” or if a Windows update reinstates mcupdate_GenuineIntel.dll.

If you are ok with messing with mcupdate_GenuineIntel.dl then I can make a BIOS for you with the microcode of your choosing (I would personally suggest AA or BE).

As for the capsule BIOS, yes it can be downgraded using Intel’s Flash Programming Tool (FPT) but you need to be careful as you can overwrite/erase the MAC address for the Intel Ethernet Adapter on the Z390 Pro WIFI.

I have posted a guide on how to use FPT to downgrade from the Gigabyte capsule BIOS here.

As for other mods, you can update the following BIOS modules;

  1. Intel iGPU VBIOS & GOP
  2. Intel Rapid Storage Technology (RST) OROM & SATA modules (if you use RAID)
  3. Intel ME 12 firmware

Note that none of these mods are essential and won’t effect performance much if at all.

however if using Windows 10/11 you will likely need to rename/delete the file mcupdate_GenuineIntel.dll as it will load a microcode that will override the BIOS microcode (if the BIOS microcode is an earlier version).

Where is this file found?

If you are ok with messing with mcupdate_GenuineIntel.dl then I can make a BIOS for you with the microcode of your choosing (I would personally suggest AA or BE).

Whichever one is older. Also, if I brick my motherboard with this, how would I go about repairing it? I doubt this will happen as this motherboard has a dual BIOS, but just to be safe…

As for the capsule BIOS, yes it can be downgraded using Intel’s Flash Programming Tool (FPT) but you need to be careful as you can overwrite/erase the MAC address for the Intel Ethernet Adapter on the Z390 Pro WIFI.

Got it. I don’t plan on doing this, but it’s good to know.

I don’t think I want any of these. Is there a way to remove ME entirely or partially? Also, if you know how to unlock hidden settings in the bios that would be good as well.

mcupdate_GenuineIntel.dll is found in C:\Windows\System32

You will need to take ownership of this file to rename/delete it.

If you brick your motherboard you will need a hardware programmer to fix it and while this motherboard does have dual BIOS there is no switch to manually select the backup BIOS, the motherboard may attempt to boot from the backup if the main BIOS is corrupted and fails to boot.

As for removing ME - I really don’t recommend this. The ME microprocessor allows overclocking and self monitoring among other things and as this consumer motherboard does not have the corporate features (such as remote access) it is safe to leave enabled.

You have not stated which BIOS you would like modified, F11 or maybe F12k?

Sorry for the late reply.

As for removing ME - I really don’t recommend this. The ME microprocessor allows overclocking and self monitoring among other things and as this consumer motherboard does not have the corporate features (such as remote access) it is safe to leave enabled.

So it doesn’t affect performance much to leave it?

You have not stated which BIOS you would like modified, F11 or maybe F12k?

F11

@t0rcke Here is BIOS F11 for the Z390 AORUS PRO WIFI with the following microcode changes;

CPUID 906EA B4 → 70
CPUID 906EB B4 → 72
CPUID 906EC AE → 84
CPUID 906ED B8 → AA

Z390PWF11_mod1.zip

You should be able to flash the modified BIOS using Qflash.

You can check which microcode is currently loaded in Windows using HWinfo and looking at the Summary section for MCU (Microcode Update) or AIDA64 and looking under Motherboard → CPUID → Microcode Update Revision

I am currently using this motherboard with a 9900K and have experience using modded BIOS on it.

If you have any question/issues let me know.

Hi, so sorry for the late reply, but I flashed this BIOS and it’s been working well, so thank you for that; however I want to ask another question: Is it possible to modify it in some way to let me run true CR1? If you don’t know what this means, check out this thread. Currently if I go into my BIOS and set Command Rate to “1”, in MemTweakIt, it shows N:1T, like in that thread. Thanks.

@t0rcke Hi, glad to hear it’s all working.

I’ve been looking into the ‘real 1T’ issue and can tell you what I’ve found out so far.

The Gigabyte Z390 BIOS do not have the gear mode/geardown option that Gigabyte Z490 (and later) motherboards have and I can’t add code that isn’t there.

For example, Z490UD BIOS has the option for “Gear1” gear mode (real 1T) :

Wheareas the Z390 Pro WIFI does not have the gear mode option:

I noticed that ASUS Memtweakit added the option to change the Command Rate to ‘real 1T’ with the Z690 release from Sept 2021 (and later versions).

I went into my Gigabyte Z390 Pro WIFI BIOS and set “Realtime Memory Timing” to enabled and booted with fake 1T (Memtweakit shows N:1T), then loaded Memtweakit and set the command rate to 1T and clicked apply.

When I ran AIDA64 memtest the bandwidth was higher and the latency was lower by around 5-7ns with ‘real 1T’ after testing several times and switching between ‘real 1T’ (Gear 1) and ‘N:1T’ (Gear 2) while the system was running.

So it is definitely possible to physically run ‘real 1T’ on a Gigabyte Z390 board.

I extracted the setup module from the Z490UD BIOS and can clearly see the option to disable ‘fake 1T’ (look for “Disabled” “0x0”):

0x4A1F6 			One Of: Command Rate Support, VarStoreInfo (VarOffset/VarName): 0x27B, VarStore: 0x16, QuestionId: 0x50D, Size: 1, Min: 0x0, Max 0x7, Step: 0x0 {05 91 5E 21 5F 21 0D 05 16 00 7B 02 10 10 00 07 00}
0x4A207 				One Of Option: Disabled, Value (8 bit): 0x0 {09 07 04 00 00 00 00}
0x4A20E 				One Of Option: 1 CMD, Value (8 bit): 0x1 {09 07 60 21 00 00 01}
0x4A215 				One Of Option: 2 CMDs, Value (8 bit): 0x2 {09 07 61 21 00 00 02}
0x4A21C 				One Of Option: 3 CMDs, Value (8 bit): 0x3 (default) {09 07 62 21 30 00 03}
0x4A223 				One Of Option: 4 CMDs, Value (8 bit): 0x4 {09 07 63 21 00 00 04}
0x4A22A 				One Of Option: 5 CMDs, Value (8 bit): 0x5 {09 07 64 21 00 00 05}
0x4A231 				One Of Option: 6 CMDs, Value (8 bit): 0x6 {09 07 65 21 00 00 06}
0x4A238 				One Of Option: 7 CMDs, Value (8 bit): 0x7 {09 07 66 21 00 00 07}

As the Z390 BIOS does not have the “Command Rate Support” variable there is nothing to modify or unhide.

Our only option is to request GIgabyte support for a BIOS with the option added and hope they will release one last beta BIOS (or use Memtweakit to enable real 1T everytime you boot which is a PITA).

Ah, ok, others were telling me to look for this option with SCEWIN, but i couldn’t find it; guess that was why. I also heard from the r/overclocking discord that version F9 is better for memory overclocking; however I don’t want to waste your time by asking you to mod me that bios (unless the process is easy, i wouldnt know)

@t0rcke Here is F9 modified with the older microcodes if you want to try it:

Z390PWF9_mod1.zip

Just curious, are you able to run max Trefi on your ram kit/board?

@t0rcke At what frequency?

Here is a quick screenshot of tref maxed (65534) @ 3900 MHz using 4 x 8GB DIMMS (32 GB) on BIOS F12:

Before I could run max without any issue, however now I’m struggling, but I think its just a temp issue. I just wanted to double check here to see if it’s a problem with the board; thank you.

1 Like

Reviving this topic since I have delved into this stuff recently. I want to update my BIOS to support Resizable-BAR. While this is possible to do using ReBarUEFI on my current version, F9, I figure it is just less of a hassle to update to the version which supports it. This is available on the F12k version, which doesn’t have a capsule, however, if there is no performance loss to just update to the newest version, F12, I see no reason to not due so, since it is possible to downgrade using your guide if I really wanted to. I’m also willing to re-overclock my RAM if I have to. I would first like to know: if I do this, would there still be a point to modify the F12 BIOS to include the oldest microcode? I would expect all the security fixes/patches to already affect performance to the point where just using the default microcode wouldn’t make a difference.

Also, I have followed the first part of your guide, in case I want to downgrade once I flash to the newest BIOS, and I have run into a problem: I can’t seem to find my MAC address in the GbE export ( fptw64 -gbe -d gbe.bin). I know I can save the MAC address using another method, but I’m just wondering why it doesn’t show up in there. Also, does fptw64 -d bios.bin save the entire chip, or just the BIOS/UEFI region? If so, isn’t the GbE export command redundant? I saw a comment on here that says you need to unlock the flash descriptor, so I assume the answer is no, but I still wonder if it saves other parts.

Another thing I want to ask is if it is possible to downgrade using a programmer? Common ones recommended here are the CH341A-based programmers, but I’ve heard they possibly cannot deal with .cap files. I’ve also heard that using clips to clamp onto the chip is dubious and that flashing in-circuit can cause problems, but I’m not sure how accurate these claims are, so hopefully you can address them (8:03 - 9:13).

Edit: Where is a good place to get one of these programmers? The ones I find are either the old versions, or take a while to deliver. Are there any alternatives?

@t0rcke

I would first like to know: if I do this, would there still be a point to modify the F12 BIOS to include the oldest microcode? I would expect all the security fixes/patches to already affect performance to the point where just using the default microcode wouldn’t make a difference.

If you use Windows 10 then the microcodes will be ‘updated’ to:

906EA = B4
906EB = B4
906EC = AE
906ED = Not included in mcupdate_GenuineIntel.dll - so whatever is in the BIOS

If you use Windows 11 then the the microcodes will be ‘updated’ to:

906EA = DE
906EB = DE
906EC = DE
906ED = DE

That is unless you rename/delete mcupdate_GenuineIntel.dll (note that you can’t do this with Windows 11 insider preview Beta channel, it will cause a repair boot looop).

So you need to decide if messing with the mcupdate_GenuineIntel.dll file is worth your time, as it often gets restored with Windows updates (or if you run the system file checker e.g. sfc /scannow).

I can’t seem to find my MAC address in the GbE export ( fptw64 -gbe -d gbe.bin). I know I can save the MAC address using another method, but I’m just wondering why it doesn’t show up in there.

If you open the gbe.bin in a hex editor, look at offsets 0-5, it should be right at the start of the file for the Intel I219-V 1 GbE adapter.

It should start with 18C04D for ‘GIGA-BYTE TECHNOLOGY CO.,LTD.’

Also, does fptw64 -d bios.bin save the entire chip, or just the BIOS/UEFI region? If so, isn’t the GbE export command redundant?

The entire SPI Chip will be dumped.

You are indeed correct it is compeletely unneccessary but - Why search a entire BIOS file for your MAC address when it can be found easily in the gbe dump? It is just for convenience.

I saw a on here that says you need to unlock the flash descriptor, so I assume the answer is no, but I still wonder if it saves other parts.

Gigabyte did not lock the FD down on Z390 BIOS so no issues there.

Another thing I want to ask is if it is possible to downgrade using a programmer? Common ones recommended here are the CH341A-based programmers, but I’ve they possibly cannot deal with .cap files. I’ve also heard that using clips to clamp onto the chip is dubious and that flashing in-circuit can cause problems, but I’m not sure how accurate these claims are, so hopefully you can address them.

You can use a programmer with any of the Gigabyte BIOS, capsule or not.

Gigabyte capsule is different from Asus (which have a file size difference when i.e. 2KB larger when encapsulated).

The Asus Capsule header should be removed when flashing with programmers or general software flashers such as Intel FPT, flashrom etc.

Where is a good place to get one of these programmers? The ones I find are either the old versions, or take a while to deliver. Are there any alternatives?

Cheap ones? Ebay.

Professional ones that get regular software updates for newer EEPROMs (such as the SOFi SP8-F) you can buy online from any reputable seller (in my country there are only a handful so I can’t really help you there).

That is unless you rename/delete mcupdate_GenuineIntel.dll (note that you can’t do this with Windows 11 insider preview Beta channel, it will cause a repair boot looop).

So you need to decide if messing with the mcupdate_GenuineIntel.dll file is worth your time, as it often gets restored with Windows updates (or if you run the system file checker e.g. sfc /scannow).

So just to be clear, there are software and firmware microcodes, and the software ones take precedence? Would this change be reflected in HWiNFO? I don’t think the .dll will be a problem since I follow this guide which disables updates anyway. So as long it improves performance I’m fine with it. Is there a guide on this forum specifically for changing Gigabyte BIOS microcodes? I’m also curious where you found the specific information regarding the CPUID and OS versions and their respective microcode versions.

It should start with 18C04D for ‘GIGA-BYTE TECHNOLOGY CO.,LTD.’

Ah, ok, I see it. However, the decoded text doesn’t display GIGA-BYTE TECHNOLOGY CO.,LTD. for some reason:

decoded

You can use a programmer with any of the Gigabyte BIOS, capsule or not.

Alright. I know the older versions of the CH431A have a notorious flaw where the data lines are 5V which is too much for most chips, however this can be fixed with a mod. As long as the voltage is correct, there is no risk of damaging the board by using a clip instead of de soldering the chip?

@t0rcke

So just to be clear, there are software and firmware microcodes, and the software ones take precedence?

Correct, Windows will only override the BIOS microcode with a ‘newer’ (i.e. higher number) version.

Would this change be reflected in HWiNFO?

Yes and AIDA64.

Is there a guide on this forum specifically for changing Gigabyte BIOS microcodes?

Not specifically for Gigabyte but the process is generally the same for Aptio V BIOS.

You can use UBU to do this by modifying the file ‘MCUpdate.txt’ found in:

X:\UBU_v1_79_17\Files\intel\mCode

For example, this is how the original file looks for socket 1155v2:

#LGA1151v2
906ED 1151v2\cpu906ED_plat22_ver000000EA_2021-01-05_PRD_B05D764E.bin
906EC 1151v2\cpu906EC_plat22_ver000000EA_2021-01-05_PRD_8F16A419.bin
906EB 1151v2\cpu906EB_plat02_ver000000EA_2021-01-05_PRD_311405CC.bin
906EA 1151v2\cpu906EA_plat22_ver000000EA_2021-01-05_PRD_AB6894CF.bin

You can download the microcodes you want from this thread and copy their names into the text file, like this:

#LGA1151v2
906ED 1151v2\cpu906ED_plat22_ver000000AA_2018-11-29_PRD_05A0A797.bin
906EC 1151v2\cpu906EC_plat22_ver00000084_2018-02-19_PRD_F3514131.bin
906EB 1151v2\cpu906EB_plat02_ver00000072_2017-09-20_PRD_A08C2841.bin
906EA 1151v2\cpu906EA_plat22_ver00000070_2017-08-23_PRD_711B866C.bin

Then you must copy each microcode binary that you have changed in the text file to the corresponding folder in UBU, found at:

X:\UBU_v1_79_17\Files\intel\mCode\1151v2

You can also do this with CoffeeTime v0.99 (which has a nice GUI) by copying the microcodes you want into the custom folder found at:

X:\CoffeeTime_0.99\data\custom

Then open the F12 BIOS file and click on each area in order of the number in the image below:

I’m also curious where you found the specific information regarding the CPUID and OS versions and their respective microcode versions.

Plutomaniac (Win-raid admin) has a Github under the name platomav where he maintains an application called MCExtractor that can be used to extract the microcodes from various BIOS files and also the Windows file ‘mcupdate_GenuineIntel.dll’.

However, the decoded text doesn’t display GIGA-BYTE TECHNOLOGY CO.,LTD. for some reason

That is correct, you won’t see that in the hex editor, however you can look up the 24-bit vendor ID on various sites such as https://macvendors.com/ (e.g. try typing 18C04D into that site and hit enter).

Each OEM/vendor generally has a set of ID’s that they use, it is explained well here:

A MAC address is made up of 48 bits. And those 48 bits, they're divided into two different groupings, 24 bits each. The first 24 bits, those are unique to the specific manufacturer or vendor. Those bits are called the OUI, or organizationally unique identifier. The OUI is also commonly referred to as the vendor code.

Alright. I know the older versions of the CH431A have a notorious flaw where the data lines are 5V which is too much for most chips, however this can be fixed with a mod.

Yes, the black PCB versions of the CH431A have been known to supply 5V instead of 3.3V IIRC.

As long as the voltage is correct, there is no risk of damaging the board by using a clip instead of de soldering the chip?

Damaging the board - No, damaging the clip yes :rofl: but seriously - take care with the clip as you only get so many uses out of them and they wear down quickly with repeated use (or worse break if they get violently ripped off), so treat it with care.

Thank you. I did this and will attach the file below; just want to make sure I didn’t mess anything up. I had to modify both 906ED and 906EA since the tool wouldn’t change the microcodes if I just modified 906ED. You mentioned earlier that Gigabyte didn’t lock the FD on Z390, but I see in the tool it states it is locked. Is this only for this particular BIOS version?

Z390APRW_F12_AA.zip (6.8 MB)

1 Like

Thank you.

You are very welcome.

I did this and will attach the file below; just want to make sure I didn’t mess anything up.

Looks good to go, note that you can’t use Q-flash to flash the modified BIOS and will need to use EFIflash from a bootable USB stick.

I had to modify both 906ED and 906EA since the tool wouldn’t change the microcodes if I just modified 906ED.

I have never changed just one microcode - good to know.

You mentioned earlier that Gigabyte didn’t lock the FD on Z390, but I see in the tool it states it is locked. Is this only for this particular BIOS version?

The bit may be set but the protection was not enabled when the BIOS was created.

You can always set it to unlocked with CoffeeTime if it visually annoys you.