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

How did you check that the chip was written properly?

I’d recommend to read the chip once again with the programmer and to check if it was properly programmed.

Would you recommend what is best software to use under windows or Raspberry PI to do this BIOS

Please recomend best software version that works with CH341

That’s not important for now- just use what you used trying to write before. If you find the chip is properly written, then it’s no longer the firmware image that keeps your system from booting. And most often it’s the seating of the SOIC clamp that gives errors and not the software combination.

@_haru I followed your steps (Via Linux) and worked well until it was time to write the new bios file to the chip. receive a error stating the image file is larger than chip size. Am I missing a step?

I am attempting to flash a Z77 sabertooth with a stock bios, It was corrupted when I attempted to use Flashback to update it to the NVMe bios.

That user last post was in 2020…
The Sabertooth Z77 can recover with USB BFB and a CAP file from ASUS, simple task.
Also the NVMe mod on this motherboard is straight trough…no fuss, if the mod you flash was not well made then its the cause of it.

It only needs a CH341A program if no light on the USB BFB function.
For this the bios image must be removed from the ASUS CAPSULE with the UEFItool, the result saved ROM/BIN file is the file to program.
The SN, MAC etc must be recovered from a previous bios dump or other original backup, with the tool FD44 editor, transferred to the BIN to program.

EDIT: Yes you need, i said use the tool FD44
Get the original data from a valid file previous saved, when opened with the tool you can confirm the data.

EDIT: Edit your post, no need new ones. Then no recover possible with the tool and no UUID, add the SN and the MAC, let this be a lesson to you.

1 Like

Ok I dumped the NVMe bios file via UEFI tool then added the MAC and S/N (Found on the actual MB) using the FD44editor but do I need the system UUID?

I ended up here because while attempting the NVMe via Flashback the board seemed to crash and the board would no longer post. Only turn on then turn right off. I assume thats the Bios corrupted.

Also I got a Rom file from the UEFI dump and not a BIN

I dont have a previously saved good BIOS file, I backed up what was on the assumed corrupted bios chip using flashrom but when I read that in FD44 its blank.

I found the MAC on the board along with S/N but not sure what to do for the System UUID.

EDIT: The S/N found on the back of my board seems to be 3 characters short from what FD44 seems to be requiring. Not sure what to do, any ideas?
I would assume the system UUID not being there just means I would need to re activate OS correct? Or would that stop me from bring this MB back to working condition?

I grabbed this board second hand and the BIOS would freeze when I attempted to access. Would be the Bios screen but blank and no options.

EDIT: Would buying a new BIOS chip preprogrammed work or is this board basically useless?

The serial on the back of the board is 3 short from what is being asked by FD44.

UUID is unique for each hardware piece. Its a conjunction of several data, not recoverable.
Board will work without UUID, no OS interaction for activation as they dont come with licence.
A new chip has bios with blank data, as obvious.
FD44 works with several SN models.
Thats it, good luck, over_n_out.

EDIT: 15 correct, if you have an incomplete sticker…nothing i can do right. Other sticker only in box or in a dump/backup

Once I put in the MAC and S/N the “save to BIOS image” option is still greyed out. However if I add 3 more to the S/N it becomes active.

I understand it works with a lot of SN models but with only 12 characters is greyed out, if i add 3 to make 15 it becomes active.

I apologize if my questions are NOOB, trying to do all I can before just buying a new (old) z77 board.

Hello again everyone. I have a laptop motherboard that I really would like to update its bios. I have EC.bin and PCH.bin files but I don’t know how am I supposed to flash them, can anyone guide me?
edit: I have CH341A SPI programmer.
Here are the .bin files.
Motherboard is:

Quanta DA0JW6MB6F0-REV F

Hello, doe’s need to edit gigabyte bios with uuid, sn, mac like asus before flashing?

Usually, on Gigabyte bios only MAC was stored in GBE region, but this maybe not for all kind of bioses.
Depends on what you’re working with… system/motherboard type, not ur dump file, a dump from another user, desktop or laptop, bios type, etc…
Questions like this on a forum, usually it needs a little more information for a clear picture of the actions to follow and not letting the users to guess it, right?
Some info can be edited later in a running system with some available tools around the web, varies from bios type. IDs labels on the box/system board/chassis etc can be used.
But some are just present in a bios backup/dump even corrupted.

Thanks for quick answer. I have gigabyte b450m gaming motherboard and after bios flashig stop to post screen. MB do not have dual bios or q flash plus. I flash asus MB before but I must put mac, id and uuid from old bios to new bios file before flashig. My question is, doe’s same procedure for gigabyte MB or just flash bios from gigabyte site?
Sorry for my english.

Let me try to understand this, how was it flashed? With a CH341A programmer?
Or regular Gigabyte bios update?
Your whole operation is still not well described on what you did, tried and want to do.
Modern bios updates sometimes are not ready to use in an SPI programmer, then we have to get a functional full dump.
Not like the tool FD44 editor as its only for Asus as i told you before, usually Gigabyte bioses only have stored MAC on GBE region that can be viewed in a dump (NVRAM data) and/or pasted with UEFI tool/HEX edit.
I have no knowledge of similar tool for Gigabyte, besides AMIDMI edit/AMIBCP.
A dump of the current corrupted bios in system can have original data still on it for use.

I think that @chinobino is more a GIGABYTE user, he may have some further guidance for you, he will be noticed by this post, wait for his opinion.

1 Like

I flashed with regular bios update but after that no post screen. I now want to flash with ch341a programer. I know procerure for asus MB with FD44 edit, I flash before.
My question is, doe’s I need to edit gigabyte bios and how to do it with UEFITool or other tool?
Or just download bios from gigabyte site and flash with ch341a?
I have dump from old bios.

I found this post for my answer.

Thanks for your help, you put me on right way.

@dulehak Hi, looks like I’m a little late to the party but the MAC address will only be present in BIOS for a desktop Gigabyte motheboard if you have Intel ethernet adapter(s) present.

Your motherboard has a Realtek Gigabit ethernet adapter which means the MAC address will not be overwritten/erased by software or hardware BIOS programmer.

As MeatWar said, Gigabyte desktop boards don’t have vendor specific DMI/SMBIOS information (Serial Number, UUID) so you need not worry about them.

1 Like

No, it is not to late. That is answer for my qustion. Thanks a lot.

Hi guys, I need help. I recently made mistake by flashing optiplex 9020 MT that result in failure. Before flashing I dump the bin file that have size 12MB.

Recently I got ch34a programmer and able to read the 2 Chips that I found. They are MX25L6473E labeled spi 2 & 3 and MX25L3273E labeled SPI 1
However when I detect the chip and try to flash, it show backup bin size id larger than IC size. One ic is 4MB and another is 8MB

How to correctly do this?

Thanks

here are the bios dump file backup.zip (6.7 MB)

Does anyone know, why the versions of flashrom, I download and build from their website, do not have programmer ch341a_spi support, but the version that comes with Ubuntu, does?

When I download and build it using

git clone https://github.com/flashrom/flashrom.git

or

git clone https://review.coreboot.org/flashrom.git

, those versions do not have ch341a_spi support.

Or is there something that needs to be added during the make/build process?

1 Like