[Problem] Up-/Downgrading GA-Z97X-SOC BIOS

So I updated my gigabyte motherboard’s firmware and now I can’t boot into any OS. it won’t allow me to downgrade anything below F6.

I am looking to buy one of those eeprom programmers, specifically CH341A:

So I am on gigabyte’s motherboard firmware website:

and now I need flash F5 onto it. So I have downloaded F5 already it comes in a zip so I have extracted it:

image

I obviously need to flash this file onto the motherboard’s chip but do I need to like extract this file as well or soemthing as with asus you need to import capsule file and then exract it, so do I need to do the same thing as well or I can just directly write this file to the motherboard?


Edit by Fernando:
Thread title specified (original title was “Need to reprogram my gigabyte motherboard”

No, this generation of bios releases have no CAPSULE implementation.

Why using an SPI programmer…the board/bios is not broken…this board features Dual-Bios and Q-FLASH (F12), if the Backup bios was never updated, it contains older bios and can be booted from to flash Main bios again.
EFIFLASH.EXE i several switches than can be used for targeting MAIN or BACKUP bios operations.
Also using a programmer will blank the board original data, specially the Intel MAC, you must perform backups/dumps of this data.
Read the motherboard manual and Dual-Bios features.

@chinobino should be the “Master” here on Gigabyte bioses, i’m sure we can give you a brief/hints of EFIFLASH CMD options when booting from Backup bios and flash Main bios target.

1 Like

No, this generation of bios releases have no CAPSULE implementation.

Thats great

Why using an SPI programmer…the board/bios is not broken…this board features Dual-Bios and Q-FLASH (F12), if the Backup bios was never updated, it contains older bios and can be booted from to flash Main bios again.

Yeah the b_bios was also overwritten, probably cause I updated the bios again cause I thought something went wrong. I didn’t even know my computer had dual bioses.

Also using a programmer will blank the board original data, specially the Intel MAC, you must perform backups/dumps of this data.

I thought the mac address is stored on the network interface card e.g. ethernetport? And its burned in address meaning you can’t change it? Also if I am flashing a bios firmware from qflash, am I not just rewriting all the new data into the eeprom chip, whiping all the data out? And we don’t do backups when doing qflash so why am I recommended to do backups when using a programmer?


Just wanting to know if I bought specifically the USB CH341A 24 25 Series EEPROM Flash Programmer Module +SOIC8 SOP8 Test Clip AU, USB CH341A 24 25 Series EEPROM Flash Programmer Module +SOIC8 SOP8 Test Clip AU | eBay and my motherboard chip is: MXIC 25L12873FM2I-10G

would it work with my chip?

MX25L12873F

Intel MACs usually are stored in bios, most of them in the GBE region, labels onboard can be helpful for manual entry’s.

There’s 2 ou 3 guides on this forum using CH341A, look for it and you’ll find almost every info for the correct operations, generally speaking, cause every board/ic requires sometimes small details attention.

EDIT: Yes, its 3.3v my mistake

For IC troubleshooting you should read this.

Good luck.

2 Likes

I found 3V?

Not too much to find, though?

Firmware has GbE so at least this region should be saved!

3 Likes

Looks like I’m late to the party, thanks MeatWar and lfb6 for helping out.

@turner Hi and welcome to Win-RAID forums, I have done exactly as you did and erased the backup BIOS as I didn’t know that the motherboard had failed over after flashing a corrupt BIOS download from Gigabyte servers.

There really should be a message or warning that you are booting from the backup BIOS, I guess a BIOS switch is too much expense for Gigabyte.

I used a programmer to recover the motherboard and it looks like you are on the right track.

As mentioned, you should make a backup of both BIOS chips so that if your MAC address is overwritten you may easily recover it. Otherwise you will have to attempt to read the stickers that should be present on the motherboard - which can be a hassle.

1 Like

@turner Hi and welcome to Win-RAID forums,

Hey thanks mate :slight_smile:

I have done exactly as you did and erased the backup BIOS as I didn’t know that the motherboard had failed over after flashing a corrupt BIOS download from Gigabyte servers.

Its silly how they can push a buggy firmware out there and it becomes our problem and they do nothing to help and on top of that they put in code to prevent you from reverting back to a previous version.

There really should be a message or warning that you are booting from the backup BIOS, I guess a BIOS switch is too much expense for Gigabyte.

Yeah it sucks mate.

I used a programmer to recover the motherboard and it looks like you are on the right track.

And the programmer that I linked is compatible with my chip?

As mentioned, you should make a backup of both BIOS chips so that if your MAC address is overwritten you may easily recover it. Otherwise you will have to attempt to read the stickers that should be present on the motherboard - which can be a hassle.

I will do that before I write to the chip. But one thing I wanted to still understand is that when I do a regular bios update, doesn’t that firmware image overwrite the mac address? Why doesn’t that overwrite the mac address but directly connecting the eeprom chip does?

@turner Yes, being an older model motherboard it should be supported by some version of the software (there are quite a lot of releases for the ch341a).

I will do that before I write to the chip. But one thing I wanted to still understand is that when I do a regular bios update, doesn’t that firmware image overwrite the mac address? Why doesn’t that overwrite the mac address but directly connecting the eeprom chip does?

The BIOS tool Q-flash will not overwrite the GbE region, using a hardware programmer will (normally) write to all BIOS/UEFI regions. The same can be said for Intel’s Flash Programming Tool, by default it overwrites all regions unless you specify to only write a specific region.

By that I assume you mean software programmers/writers like neoprogrammer, asprogrammer etc?

The BIOS tool Q-flash will not overwrite the GbE region, using a hardware programmer will (normally) write to all BIOS/UEFI regions. The same can be said for Intel’s Flash Programming Tool, by default it overwrites all regions unless you specify to only write a specific region.

I see so what will it overwrite it to then? I assume my NIC wouldn’t work or something? And if it has been overwritten then what should I do to exactly fix/restore the previous mac address?

By that I assume you mean software programmers/writers like neoprogrammer, asprogrammer etc?

Yes.

I see so what will it overwrite it to then? I assume my NIC wouldn’t work or something? And if it has been overwritten then what should I do to exactly fix/restore the previous mac address?

It will overwrite it with whatever MAC address is in the GbE region of the BIOS file.

UEFITool can show you this:

You can see it is stored at offset 1000 so if you open the BIOS with a hex editor you can modify it there (but only if you know what your MAC address should be):

1 Like

Ok thanks mate, I think I have everything I need now but two last questions?

  1. Do I need power to my motherboard and do I need to remove CPU if I do require power from powersupply and don’t change any connections (as the motherboard is still in the case of the computer)?
  2. If I don’t change the mac address in the bios file, would my NIC still work or not?

@turner

  1. Do I need power to my motherboard and do I need to remove CPU if I do require power from powersupply and don’t change any connections (as the motherboard is still in the case of the computer)?

To do an ‘in-place’ program using a SOIC-8 clip, keep the ATX power plugged in but the motherboard turned off, keep the CPU installed and remove the CMOS battery. Disconnecting any peripherals is a good idea (i.e. SATA/USB cables) just to get them out of your way.

There are several helpful guides at Win-RAID forums on using the ch314a, such as:

[Guide] Using CH341A-based programmer to flash SPI EEPROM

[Guide] How to Use a CH341A SPI Programmer/Flasher (with Pictures!)

[GUIDE] Flash BIOS with CH341A programmer

  1. If I don’t change the mac address in the bios file, would my NIC still work or not?

If it gets overwritten to 888888888788 it won’t work.

[Edit] People have reported that their NIC still works after erasing/overwriting the GbE region, it could be that Windows is still using the MAC address stored in the registry from before it was overwritten.

Uninstalling and re-installing the NIC or doing a clean Windows installation may cause it to not work so it is best practice to edit the MAC address into the BIOS.

[Edit2] There are anecdotal reports of the MAC address being overwritten and the Intel Gigabit Ethernet Adapter no longer working:

Wiped mac address while trying to fix BIOS

Lost mac adress after downgrading bios from f20 to f8 z170x g7

Better to be safe than sorry I guess.

Hey mate I read a bit from what the links that you have sent me,

So currently I haven’t removed my motherboard or anything, so I assume that the atx power is how my computer is currently connected. But how would I turn my motherboard off then if power is still coming through? Or you mean like just don’t turn on my computer but keep power coming in? Sorry if I sound silly or whatever I am quite new to all of this, this is my first time doing this so yeah I am trying to learn it.

Damm sir… that’s really sad, you still don’t know how a simple ATX power supply works… and your taking adventures on SPI programming and a forum of this category… interesting indeed.

Unplugged AC (UE/US) cable from wallet to PSU ATX (AND/OR if switch in the back present set it OFF), ATX 24pins + 4/8 pins EPS CPU plugged into ATX motherboard, but that its no power standby from 12, 5 or 3,3v.

30m to 1h to TOTAL DRAIN all capacitors on the whole system.
Discharge yourself and avoid direct body contact with circuits/pcb when handling the proper connection from the CH341A test clipp to the IC.

So currently I haven’t removed my motherboard or anything, so I assume that the atx power is how my computer is currently connected. But how would I turn my motherboard off then if power is still coming through? Or you mean like just don’t turn on my computer but keep power coming in?

I have a hardware programmer (SP8-F) that has 2 configurations for programming in-circuit :
a. Programmer supplies current to the target board
b. Current self-supplied by target board

For in-circuit programming the ch341a needs to supply enough current to power the EEPROM while it is connected to the motherboard, which is sometimes a problem as the current can drop when a SOP-8 clip is used and the motherboard circuit is still connected:

Attach the ATX PSU to the motherboard (with the BIOS chip) BUT DO NOT power on the motherboard via the case power switch (but only at the Mains supply). On my motherboard there’s board power switch with an LED which lights up to indicate ATX PSU is ready.

I was then able to read back, erase, write and verify the Main BIOS chip with my BIOS and the also the Backup BIOS chip with Gigabyte’s stock BIOS.

A note on the external supply: even though it is rated over 1A @ 3.3v, it does not regulate well. When not loaded, it supplies 3.26v. The voltage drops to around 2.86v when the Clip cable is connected to the motherboard BIOS chip. That voltage is within the tolerance of the BIOS chip. I measured the current drawn from the 5v USB supply it was drawing around 380mA during read/write.

The ch341a is the cheapest programmer with no circuit protection, there is no guarantee that it can program in-circuit and you may need to de-solder the BIOS EEPROM if it fails to read/write.

1 Like

I don’t know the terminalology all I wanted to know was if I had to connect it to some other port or not that is all I wanted to know since I don’t work with hardware or psu

1 Like

I made a post over here: [Problem] Up-/Downgrading GA-Z97X-SOC BIOS

Regarding how my motherboard is nearly bricked and cannot boot into any OS (other than MS-DOS through rufus).

Problem is that I cannot downgrade from F7 to F5 without reprogramming it using ch341a as the motherboard actually prevents me from downgrading.

I have placed ch341a for order but was wondering in the mean time is there a payload out there that I could run that force my motherboard to downgrade from F7 to my desired version?

OR

possibly if there is a way to modify the F5 firmware image file to change its version number to F7, that way when I put in my USB drive I can trick the motherboard into thinking I am putting in F7 when in reality it is F5?

If you could make ms dos usb boot, try to use fpt ver 9.1 Dos version to flash it. Dump the current bios using the arguments -d backup.bin and use -f biosname.F5 to flash it. Use the backup to see info about the mac address if there is any mac address baked in the bios, so that you could use the .F5 bios file, replace the mac address using uefitool, and flash it using qflash if possible.

If you could make ms dos usb boot, try to use fpt ver 9.1

I assume this particular program you are referring to:

Also using qflash since its preventing me from flashing F5, I assume this program will bypass the bios’s restriction on flashing an older version?

@turner
Since it doesn’t make much sense to have 2 threads about the same topic, I have merged them.

1 Like