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

@Lost_N_BIOS ,

The “fparts.txt” file does contain the both 5F and 3F model ! So, FPT detection is suspect or ‘buggy’.
Yes, I have looked myself the chip with a loupe for zooming the inscription , it is well a 3F model .
FPT tool does report ID:0xC22018
The BIOS chip is soldered on the mb, so I can’t manipulate it. I can only access to it via the SOIC8 clip and I have double check the green adaptater is well positionned on the CH2341A Pro USB key on the proper 25xx side in respect of the correct pinouts.

I’ll do the ASProgrammer procedure test and let you know the results.

@Lost_N_BIOS
Here are ASProgrammer v1.40 procedure test results.
They do confirm the chip ID problem:

AsProgrammer_1.4.0_Read_ID_test_10apr19.PNG

AsProgrammer_1.4.0_SREG_test_10apr19.PNG



I have tried also with 5F chip model: same "FF…" result.

I have no tried your last proposed test Erase, Blank check, open BIOS file, Write/Verify to be sure to not brick the BIOS component contents.

So, at the moment no progress under W10 interface to get a Programmer Application compatible with this BIOS chip.

@Lost_N_BIOS
As W10 interface does not work, I’ll plan to build a dedicated W7 SP1 system for programming via USB CH341A Programmer.

You wrote somewhere that for the “Software Programmer” the modded BIOS file to be programmed (Part 3 of the Guide) should not be a BIOS Region.
So your “hand made” modded BIOS which a derivate of the original BIOS Region dump should not be usable “as is” for the “Software Programmer” ?
Of course, if I get a bricked BIOS after FPT flashing your “hand made” BIOS (but, this will not the case !) I have not to use it and I have to re-program the chip we a fully working BIOS.

So, in case of a bricked BIOS, what exact “BIOS file input” to use for the Software Programmer to realive a bricked BIOS chip ?

Do we have to use a part of the ‘backed’ Bios file ? or a part of the last Stock BIOS .cap file ?
Thanks for the details to clarify me.

@100PIER Win7 would be my next move as well, many many many things have issue with Win10 (Still, after all this time)

I tested this exact chip, with ASProgrammer, and it’s fine on Win7. If you plan to (Or have to due to brick) write a mod BIOS region I sent you, let me know and either link me to the BIOS I made, or upload it for me, and I will put it back into a full BIOS for you to program in with programmer.

Aside from BIOS region is FD, ME, and GbE (Which contains LAN MAC ID). All this in the stock BIOS and is fine to use, I would unlock the FD for you and put back in the BIOS region, and insert your LAN MAC ID (make a note of this now, so you have a copy, if you don’t get full programmer backup)
You can get LAN MAC ID from your router logs, or attached devices in router, or from CMD Prompt run the following and take a screenshot >> IPConfig /all
If you give me your MAC Address, I can make you a "Full"pProgrammer ready BIOS from the mod BIOS I made you yesterday if you want (BIOS region source = biosRSTGOPLAN-ModUcode.bin)

@Lost_N_BIOS ,
Thanks, I understand that to get a "Full" Programmer ready BIOS from the "hand made" modded BIOS region does require also some "hand made" additional expert manipulations.
Thanks again for your help.

Finally I do regret my choice of a ASUS mboard without the "Flashback" button !!

But, on one other side I learn lot with your help about FPT flashing and CH341A Programmer tools.
A good news I have found this morning a recent CH341A Software v1.34 on "LINK-4SHARE" site.
May be you already have v1.34 ? This the about information:

CH341A_v1.34_about.PNG



I have to test v1.34 and let you know if I do progress under W10 interface…

Yes, you need to extract the main BIOS body from the stock capsule via hex or UEFITool, then re-open that BIOS body in UEFITool and replace the stock BIOS region with the BIOS region I modified for you.
It’s easy to do, but not easy to explain if you are not familiar with all these BIOS regions and editing tools etc

Yes, I have CH341A 1.34 software, it’s in this package I always link - http://s000.tinyupload.com/index.php?fil…257455007472602
What are you testing it for, did you have some issue with 1.29 or others? If yes, what is your chip ID, maybe I know the version you need to use or if you need to use another software instead, or need to use different BIOS ID etc.

As for Win10, I only know that everything has issues in Win10, even windows has issues in Win10 So I doubt that works there, I think I’ve seen reports it does not, so if you need to use CH341A and software I suggest you use Win7
Or, you can use ASProgrammer software, it does work properly in Win10 but it’s not as user friendly - https://github.com/nofeletru/UsbAsp-flash/releases/

Thanks for the ‘how to do’ procedure to get a full Programmer ready BIOS file.

I have tested (under W10) v1.34 and chip detection does fail:

CH341A_v1.34_chip_id_failure.PNG

CH341A_v1.34_detection_failure.PNG



A strange question:
If you are looking at the blue chip logo under the Red Detection failure message you can observe the black chip position on the USB Programmer.
On the black chip schema you can observe the tag which usually does indicate the Pin 1 of the component.
If you compare the tag position (Pin 1 emplacement) it is different of what your pictures does provide into the Guide.
Is the schema logo wrong ?
Please, can you clarify ?

Nota: v1.34 does offer W7 drivers only. 2 variants are offered: SERIAL and PARALLEL.
What variant to use ?

@Lost_N_BIOS
Did you see my Post #34 ?
I have tested ASProgrammer which does seem more recent than any CH341A software version.
The chip is in the Database. The chip connection is OK, but the Chip detection (ID) does fail.
So the both tools (ASProgrammer v4.0 and CH341A Software v1.34) does detect the chip connection (I used PARALLEL USB variant) but does provide "FF" when trying to get the Chip ID !!
Does the only remaining try test to do is to run these tools under W7 instead of W10 ?

On your question about the BIOS chip image on the software, this is incorrect image, the BIOS does NOT go that direction nor in that socket of the programmer. I assume this is just generic “Hey here’s a BIOS chip on a programmer” and is incorrect, even if you use the ending socket.
I did not write any guide, so I am not sure what image you are referring to? The BIOS or SOIC8 pins, should go into the middle socket (not the rear one as the chip is in your images), and pin one is on the lever side (As you see here in the fourth image in part #3 on page one)

For CH341A, all driver is same, you only need to install once for any/all versions. You want PAR driver (CH341PAR.exe)

Yes I saw your post at #34, and I replied to it at post #36. I have tested these chips in ASProgrammer and it’s detected and programs correctly, I’ve verified this on multiple occasions.
Yes, please stop wasting your time in Win10, it’s a fail for everything except leaving backdoors open for anyone wanting to peer in

@Lost_N_BIOS

I stopped to play with CH341A Programmer under W10 and I got the opportunity to play with a Sony VAIO W7 64bit SP1 system.

Some progress because the BIOS chip is now ‘detected’ but the “MAIN MEMORY” contents does remain “all FF” !!
CH341A Software v1.34 test results:

CH431A_v134_W7_1_19apr19.PNG

CH431A_v134_W7_2_19apr19.PNG



CH431A_v134_W7_3_19apr19.PNG

CH431A_v134_W7_4_19apr19.PNG



ASProgrammer v4.0 test results:

AsProgrammer_1.4.0_W7_1_19apr19.PNG

AsProgrammer_1.4.0_W7_2_19apr19.PNG



Conclusion:
The both tools does detect a BIOS chip, but the both do detect a ‘similar models’ problem:
-> CH341A Software v1.34 does suggest 7 models even if we have selected properly the model MX25L12873F. Why this unuseful suggestion after the proper selection ?
-> ASProgrammer v1.40 does suggest 11 models but the “Find IC” pop up does open with the “IC marking contain:” filled in blank , and does offer no select button.
This does look like a freeze and No Main Memory contents is displayed !

With CH341A Software ALL the Main Memory contents does display FF

So, why this tool does display FF ! The BIOS chip is not a FF filled chip because it does work and boot well !!

Any idea to progress on this very painful “Programmer Tool” validation procedure exercise ?

Thanks for your future comments.

I came across a similar? fault with my old notebook- I couldn’t read the bios chip, a simple old GD25Q32. It took a while until I found out that Samsung had grounded pin 3- IO#2/write protect. Neither a CH341 nor a TL866 plus could handle that: The 866 gave a short circuit warning, the ch341 didn’t say anything but the led went off and the software said “CH341 not connected”.
Disconnected the wire for pin 3 from clamp- everything fine! But I first disconnected the wrong wire (ground,pin 4)- The chip could be ‘read’ just fine but there were only ‘FF’.

e5a2.jpg

Possibly not your problem but maybe worth a check if the motherboard designer had some ideas, too? (Nevertheless did my CH341 never like to write 128 Mb chips...)

@lfb6
Thanks for your interesting experience.
On my side the BIOS chip is very recent as the mboard is a very recent design (ASUS Prime Z390M-Plus).
As you can see on my screenshots posted the CH341A Software does indicate: “Device state: connected
Device state Connection is quite stable: No alternate red warning ‘not connected’ message with ‘connected’. So, I don’t suspect any ‘bad’ electric contact.

My CH341A Pro Programmer and Clip are also recent.

Do you use a CH341 or a CH341A Programmer ?
Do you use W7 or W10 interface ?

I got a green and a black CH341, both are CH341A, the black one states CH341APro. W10Pro, 1809, 64bit (1709 did work, too- never worried about Win10??). Not reading 128MbChips is possibly software related, never tried newer CH341.exe versions than 1.29, but could today program a Winbond 25Q128FV properly with a CH341A and ASprogrammer 1.3.14.

Yes, recognizing a disconnected programmer is quite easy. But when I disconnected ground (pin4), everything worked fine, "reading" the chip without any complaints but delivering only FFs.

This does confirm the problem is more a hardware problem somewhere and not really a W10 problem.
Do you plan to use CH341A Software v1.34 and ASProgrammer v1.4 for your tests ?

ASprogrammer 1.4 seems to work with both CH341A programmers for Winbond 25Q128FV, too. I think that’s good enough for me…

I never spared a thought on Windows 10 by the way, I always use the programmer/programming software as a normal user (UAC fully enabled) and there was no difference between Windows 7 and Windows 10?

Thanks for the information that for you ASProgrammer v1.4 does work fine under W10 as well as under W7.
On my side I am stuck with no Programmer solution working for the BIOS chip for any of my two ASUS Prime Z390M_Plus mboards.

I didn’t check ASprogrammer 1.4 under W7, I used the CH341A with Software 1.29 and TL866 under Win7.
But: Just to be sure I tried now ASprogrammer 1.4 under W7 in a virtual machine (host W10P x64 1809) and it’s working fine with a DIP8 25Q128FV. I assume that a native W7 would do, too.

Made some experiments, though:
For a DIP8 25Q128FV you can disconnect GND(4), IO3(7), IO2(3)- it doesn’t matter. If you in addition disconnect CLK(6) or IO1(2) or IO0(5) you get everything FF FF (means both chip identification and data).

More interesting, maybe:
If you disconnect CLK(6) or IO1(2) or IO0(5) alone you still get everything FF FF, ASprogrammer14 not complaining at all!

Are you sure that you don't have a contact- problem?

@lfb6
Thanks a lot for sharing your experiments.
You are right I had a contact problem with the Clip Board !!
I do significant progress and finally do succeed today under W10 x64 with ASProgrammer v1.4 as well with CH341A Software v1.34:

AsProgrammer_1.4.0_Read_ID_and Read_Memory_test_21apr19.PNG

AsProgrammer_1.4.0_Read_Memory_done_test_21apr19.PNG



CH341A_v1.34_detection_and_read_memory_OK_21apr19.PNG



@Lost_N_BIOS
I "ll send you a PM about ASUS Z390M-Plus modded BIOS file to use for CH341A programmer.

However, a strange situation because Read/Verify operation does fail with CH341A Software v1.34 and is OK with ASProgrammer v1.40 (test done twice):

CH341A_v1.34_Detection_Read_memory_Verify_Disagrement_1stTry_21apr19.PNG

CH341A_v1.34_Detection_Read_memory_Verify_Disagrement_2ndTry21apr19.PNG



AsProgrammer_1.4.0_Read_Memory_done_Verify_test1_21apr19.PNG

AsProgrammer_1.4.0_Read_Memory_Verify_done_test2_21apr19.PNG



So, what Programmer Tool is good ?

Tested with CH341A Software v1.40 the Read/Verify operation is OK under W10:

CH341A_v1.40_Detection_Read_memory_Verify_OK_3rdTry_21apr19.PNG



Nota: I do observe CH341A Software v1.34 Read/Verify operation always does fail at about 50% of the operation. Is it a buffer size limitation bug ?



With my Z390 board I had to use the 1.4 programmer from LostNBios for it to work right. And I used Windows 7 but dunno if it works in Windows 10.

@KedarWolf
With CH341A Software v1.40 Free under W10 interface the Read/Verify operation is OK on my side.
Which Z390 mboard do you tested ?