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

Any got a reupload on that flashrom for windows+driver link?

@a.mihail91 - What post #? #510 is attached so should be OK, same for #504, so not sure which files you’re asking about
You’ll need to give post # and or “tag” the user with @ directly followed by user name like I’ve done for your name here, and the name must be exactly as it’s written (case sensitive too)

HI how did you get that software. I have the version 1.34 but I still could not find the option for the mx25u12873f for my MSI B350. Can you link me to the download page or upload the one your using. Also will the clamp method work wit the 1.8v adapter?

@a.mihail91

PM me your eMail

Edit.: Found how to upload file. Now How? to delete this post?



@a.mihail91

Find attached.

If you just run the command file it will elevate authority, Load the driver, execute the GUI and once you exit it will uninstall the driver again. Works well on Windows 10 with CH341A as programmer. I am still busy editing screenshots which I will upload soon.

(Many thanks to the developer (@flashrom ) and this forum. I appreciate this a lot. Anywhere I can get the source to further develop the GUI?)



Edit: Ahh…found where I got the program from. Thanks a lot to @Flashrom (your post #504). Your GUI works well and helped a lot.

Flashrom GUI with programmer CH341A Driver.zip (158 KB)

@Lost_N_BIOS and @Coderush
Still owe you both a big thanks for enabling me resolving issues with two PC’s due to your posts in these forums. You are great and benovalent persons indeed.

Due to you I purchased this great CH341A tool and I recovered two PC’s with a clean bios I found posted. I have yet to edit back the original OEM details and MAC address but were to concerned screwing it up again. Will get to it soon I hope.

Edit. Nearly forgot about Coderush’s contribution to my success.

Hello,
ASUS Z17-WS motherboard
https://www.asus.com/Motherboards/Z170-WS/HelpDesk_BIOS/
I would like to buy:
1. a BIOS chip (Winbond-25Q128FVIQ1529) for motherboard
http://www.bios-chip24.com/epages/637300…roducts%2F32148
2. a CH341A programmer
https://www.aliexpress.com/i/32961518523.html
My problem is that I lost the original BIOS chip (actually the courier lost the package) sent for rewriting to a company, but I saved SN, UUID (using dmidecode in Linux) and the two MAC addresses for the network cards (from Linux file /etc/udev/rules.d/70-persistent-net.rules).
I read the user guide for the CH341A programmer but it is unclear to me how to transfer the two MAC addresses because FD44Editor only shows me the first MAC address?

@ibsajc - Please wait, lets see if I can get a full dump from someone, then I will have you send me images of all stickers on your board.
Original “in-BIOS” Serial and UUID will be lost forever, I can re-create partial serial that’s added to serial and then becomes in BIOS serial, but UUID can never be original, unless you have ANY previous BIOS backup made on this board with any tool before this happened?
All this info is stored in two locations in the BIOS, some of it possibly at three locations, and FD44 only puts it back at one location and not always correctly either.
The only thing that really matters is MAC ID, and FD44 does not put this back into area that’s needed for Ethernet function anyway, so basically this is useless here.

@davidm71 - Do you still have Z170-WS? If not, do you possibly still have a full BIOS dump? If not, BIOS region would be helpful too, but I really need a full dump as well if you have, so I can see GbE
@C_con_con - Would you mind sending me BIOS dump from your board, if you still have?

@Lost_N_Bios

I will have to check my files as I had upgraded to the Z270-WS from the Z170-WS. I may have a bios dump somewhere. Will take time to locate. Will let you know in next hour or so.

@Lost_N_Bios
I mispronounced myself but I clearly wrote that I have SN, UUID and MAC addresses previously extracted from Linux.
What does "unless you have ANY previous BIOS backup made on this board with any tool before this happened?" What tools are there for Linux?
Flash Image Tool is only for Windows in Intel CSME System Tools v11 r32 and I have Linux.
I think I tested flashrom some time ago, maybe I can find a dump of the SPI chip.



Found it!

http://www.mediafire.com/file/64n13a5uc7…mp-Z170.7z/file

@ibsajc - Yes, I did understand you have those details, sorry I did forget when I mentioned having to recreate UUID though
Serial you have may not be same as what goes in BIOS, I will have to see what you have vs what stickers on the board have etc, once we get there. Sometimes/usually in Asus BIOS letters are added to one of the board/box serials to show date of manufacturer
I do not know what BIOS backup tools there are for Linux, flashrom is one I think, but you could have at some time in the past used DOS tools etc, I don’t know, that is why I asked and mentioned that if you had any it would help.
Flash Image Tool is not used for flashing BIOS, if you mean the Intel one, that is for working with ME FW. Flash Programming tool from Intel would work here, and depending on the ME version would have DOS and sometimes EFI, and maybe even Linux I forget.
Anyway, none of that matters, if you don’t have a previous backup made with any tool, it’s OK, you don’t have and we move forward without it. But yes, if you tested flashrom and made a dump and can find, that would be great

So, I have dump now and can move forward, but I will wait and see if you can find your flashrom dump, then there will not be much to find all locations and transfer over.
If you cannot find, please make a zip for me showing all images on the board, don’t forget side of 24 pin, top/bottom sides of PCI/PCIE slots, long white sticker any on back if there is too.
Include with that, a text file with the extracted info you mentioned from Linux.

@davidm71 - Thanks!!

Hi guys can you please help me with my laptop.
I have an Acer 4755g which got stuck on Acer logo after i rolled back a previous update of windows.
I already tried everything. Removed the ram, hdd and others but still stuck.
Then I decided to buy the black CH341 programmer and reflash the bios.
I was successfull in detecting, reading and writing on the bios chip however when I plugged my laptop it shows no power, no led indicator. I already checked if my charger has an output voltage, which it does.

I tried to reflash the original content of the bios ic but it still shows no power.

I think I may have flashed the incorrect bios. i got it from here: https://www.acer.com/ac/en/US/content/su…roduct/3803?b=1

Since the bios only contains .rom file, i renamed it to .bin. Did i make i mistake by doing this?

Please help me, because of what is happening in my country and this pandemic, I have lost my job, I can’t afford to buy a new laptop now. Hope you help me fix it.

Thank you


@davidm71 - Thanks!!



I’m a little upset about losing the chip. I was hoping I could get him back. It didn’t happen and I don’t have a flashrom dump either.
The boys from
http://www.bios-chip24.com/
offers a programmed and verified BIOS chip but they need the original chip and/or a dump that I don’t have.
I’ll buy a blank chip from them.
I would like to ask if this CH341A programmer is OK (the green one or the black one is good)?
https://www.aliexpress.com/i/32961518523.html
It takes between 30-50 days to receive it, during which time I want to learn to transfer my SN, UUID and MAC addresses myself (I am willing to donate a sum of money for this).
@Lost_N_BIOS I checked SN extracted by me with dmidecode in Linux on the ASUS website and it detected my motherboard correctly. It has 15 digits the same as the one on the box of the first ASUS Z170-WS motherboard (for which I did Advanced RMA because of Intel CSME) and the same as the one in @davidm71 's dump.
Also UUID has 32 characters (numbers and letters) of which the last 12 is the MAC address for the first network card, again the same as in the dump.
For MAC addresses I do not need any verification after 20 years as a Linux administrator.
@davidm71 dump has the BIOS version 3204 so I also downloaded it from ASUS and used UEFITool to extract the .bin file.
With the help of FD44Editor I found in the dump of @davidm71 SN, UUID and the MAC address for the first network card.
I then used the HxD editor in which I opened the dump and the extracted BIOS file to compare where SN and UUID appear (twice each) and copied the entire area.
I did the same for the MAC address and copied it only the first time (twice it is already copied from UUID).
Don’t know how to find the second MAC address?
I got a new BIOS that I opened with FD44Editor and the difference from the dump is only in the ME version. I also opened the file with UEFITool.
I am attaching the file for verification and help.
http://www.mediafire.com/file/6rs6amge2ye2bha/new.zip/file

@ibsajc Just wanted to add that the dump I provided I have no recollection of what the state of the file was when I found it in an old fptw system tools folder in an old hard drive backup image or what mods it may or may not contain. Hope it works for you.

@davidm71 - your dump is only used here for info purposes, to see board specific detail locations etc, I will make him BIOS from stock or other dump etc if needed (since you are not sure about validity)
But yeah, main reason I asked you for the dump was just to see all sys info locations and layout etc.

@ibsajc - I can make you BIOS, no need to pay them, and you can get BIOS chip much cheaper on ebay, even more-so if you order 3-5 at a time.
I will get BIOS made for you shortly, sorry I mean to make it tonight and got busy trying to fix something else. Yes, I know all about UUID, serial and how they are made etc.
Black programmer is fine, or you can get green, up to you. FD44Editor is not used here, well it can possibly be for inspection or edit too if you wanted, but I wont use it, and it only fixes data into one location (and sometimes not properly)

What do you mean about >> MAC addresses I do not need any verification after 20 years as a Linux administrator << ??

MAC address goes into GbE region of BIOS twice (and same ID, not both) at 0h and 1000h.
I’m still trying to find secondary MAC Location, that was main reason I asked davidm71 for his dump, but alas he doesn’t know his second MAC ID, so I can’t verify if it’s even stored in his BIOS either.

SN may have added letters in front of it, that may or may not be in your Linux dump info, this would be date of manufacturer by letter code

What is the above attached file? Some random dump? If yes, and only ME FW is different, how are you comparing?
If it’s actual dump from running board, and not some fake dump posted at a BIOS repair/recovery site to help user fix BIOS, then there should be lots of differences vs stock BIOS or any other BIOS.
if it’s from these sites, then yes, it’s stock BIOS with added FD and ME which may be from any time when the file was made. This kind of BIOS should only be used as last resort recovery
Yes, UUID original has MAC ID at end.

@davidm71 Thanks for the dump. For now, it’s the only one available. I just need it to find where to put SN, UUID and MAC addresses. I couldn’t find the second MAC address, did you disable the network card?
Only @Lost_N_BIOS can know if it helps me and if what I did is good, I do this for the first time in 20 years as a Linux administrator. I flashed over 100 BIOS but didn’t have to rewrite any so far.


I wanted to say that I have enough experience to know how to extract the two MAC addresses from Linux.


That’s what I tried to find by searching for the second MAC address. On my old motherboard sent for RMA the MAC addresses were different only at the last position.
First address: xxxxxxxxxxx5
Second address: xxxxxxxxxxx6


In my case there are no letters in front of SN nor in the dump of davidm71.


It 's the BIOS version 3204 (from the ASUS website) from which I extracted (with the help of UEFITool from AMI Aptio capsules -> Extract body …) the .bin file in which I added as test SN, UUID and the MAC address from the davidm71’s dump. I don’t know if it’s okay, that’s what I was asking.

@ibsajc - Ahh, gotcha, about the MAC ID’s

Yes, I too searched xxxxxx5/xxxxxx6/xxxxxxxx4 too because that is the norm, but nothing, and we talked in PM about it, he doesn’t have the board anymore so we’ll have to move ahead without and see if it works or not.
Some MAC ID’s are stored in chip FW, but I did expect this one to be in the GbE since same LAN chip for both and first one is there.

Use UEFITool 25.0 to extract GbE, padding area, and body of FD44 module, make sure you get MAC x2 in GbE at 0h and 1000h.
Edit in, then replace. Be sure to do rest of system info as you see it in both other sections (first/main padding file inside BIOS region at 4000h withing that padding area)
And in SMBIOSFlashData (ie FD44820B-F1AB-41C0-AE4E-0C55556EB9BD) << This is what FD44Edtitor uses/inserts to, sometimes incorrectly, so put in manually as you see it in davidm71’s BIOS

Sounds like you will be OK to fix and test yourself But, if you want me to do it let me know
When you go to write to the chip, use Colibri or ASProgrammer, both included in this package - http://s000.tinyupload.com/index.php?fil…213094641136166

Maybe eventually @C_con_con will reply back, and if he has board still and sends dump, then we can see if two MAC ID"s in his or if only one in BIOS and one in FW etc



Did you check the new.bin file (in which I transferred SN, UUID and the MAC address from davidm71 dump), I would like to know if it is OK?
Here’s how I did it:
1. I opened in the HxD editor the files:
dump.bin = davidm71 dump
extractbody.bin = BIOS extracted with UEFITool from the ASUS BIOS file (.cap).
I searched for SN in dump.bin (see step1.png) and replaced the entire area in extractbody.bin (see step2.png). I also made the second replacement.
For UUID I only checked because it is included in the replaced area for SN.
I replaced exactly the MAC address at 1000h (see step3), the other two replacements are already made at UUID.
The extractbody.bin file with the replacements made can be opened both in FD44 Editor and in UEFITool BUT I don’t know if it’s good what I did?

step1-3.zip (238 KB)