CH341A Programmer | [Programmer] Bios Firmware CH341A Programmer



Rep: (646)
CH341A Programmer
version: 1.3.4

Last update of the program in the header:25.07.2020

Attached Image


FAQ
Instructions to the programmer
Firmware Multimodules series: KB9012, KB90xx, KB9022
Photo board green programmer without details
If you get an error while unarchiving archives (7zip, zip
AsProgrammer Sources
Error 43 in the CH341A programmer

The other day I ordered a batch of CH341A programmers in China, which are used to flash 24-25 series memory chips.
But as it turned out, when connected to Windows 10 and 7, a message is displayed that "USB device is not recognized."
Initially I thought that the problem was in the CH341A chip itself, but it turned out that everything was much simpler.
Screenshot
Attached Image

Also, in “Device Manager,” Windows defined it as “Unknown USB Device (device handle request failed)”,
and in the properties, writes about the error "The Windows system stopped this device, because it reported the occurrence of problems.
(Code 43) and, of course, the VID and PID (VID_0000 & PID_0002) are incorrectly defined.
Screenshot
Attached Image

Opening the CH341A documentation and looking at examples of schematic diagrams, you can see that 12 MHz quartz is used everywhere.
Screenshot
Attached Image

And on the CH341A programmer itself, the quartz is set to 27.120 MHz
Screenshot
Attached Image

We take a soldering iron and unsolder the wrong quartz 27.120 MHz and solder a new one at 12 MHz.
Screenshot
Attached Image

We connect the programmer CH341A to the computer and see that the OS has a new device with VID and PID wine (VID_1A86 & PID_5512)

How to connect Atmega controller using USBAsp as an example
If you do not write the chip but it reads
Flashing series ICs ...

Flashing chip 24 series
Flash 25 series chips
Flash 26 series chips
CH341A Pro Supported Programmer Chip 24 Series
ATMEL
AT24C01B AT24C01 AT24C01A AT24C02 AT24C02A AT24C02B AT24C04B AT24C04 AT24C04A AT24C08A AT24C08B AT24C08 AT24C16 AT24C16A AT24C16B AT24C32B AT24C32A AT24C32 AT24C64 AT24C64A AT24C64B AT24C128 AT24C128A AT24C128B AT24C256B AT24C256 AT24C256A AT24C512B AT24C512A AT24C512 AT24C1024 AT24C1024A AT24C1024B

CATALYST
CAT24C01 CAT24WC01 CAT24WC02 CAT24C02 CAT24C04 CAT24WC04 CAT24WC08 CAT24C08 CAT24WC16 CAT24C16 CAT24WC32 CAT24C32 CAT24WC64 CAT24C64 CAT24WC128 CAT24C128 CAT24WC256 CAT24C256 CAT24C512 CAT24CC525254

COMMON
24C01, C, A, C, A, C 24C4096 3V

FAIRCHILD
FM24C01L FM24C02L FM24C03L FM24C04L FM24C05L FM24C08L FM24C09L FM24C17L FM24C16L FM24C32L FM24C64L FM24C128L FM24C256L FM24C512L FM

HOLTEK
HT24C01 HT24LC01 HT24CD2 HT24LC02 HT24C04 HT24LC04 HT24C08 HT24LC08 HT24C16 HT24LC16 HT24LC32 HT24C32 HT24LC64 HT24C64 HT24C128 HT24LC128 HT24C256 HT24LC256 HT24LC512 HT24C512 HT24C1024 HT24LC1024

ISSI
IS24O01 IS24C02 IS24C04 IS24C08 IS24C16 IS24C32 IS24C64 IS24C128 IS24C256 IS24C512 IS24C1024

MICROCHIP
MIC24LC014 MIC24AA01 MIC24AA014 MIC24LC01B MIC24LC02B MIC24AA02 MIC24C02C MIC24AA025 MIC24AA04 MIC24LC04B MIC24LC024 MIC24AA024 MIC24LC025 MIC24LC08B MIC24AA08 MIC24LC16B MIC24AA16 MIC24LC32 MIC24AA32 MIC24LC64 MIC24FC64 MIC24AA64 MIC24FC128 MIC24AA128 MIC24LC128 MIC24AA256 MIC24LC256 MIC24FC256 MIC24AA512 MIC24LC512 MIC24FC512 MIC24AA1024

NSC
NSC24C02L NSC24C02 N5C24C64

RAMTRON
FM24CL04 FM24C04A FM24CL16 FM24C16A FM24CL64 FM24C64 FM24C256 FM24CL256 FM24C512

ROHM
BR24L01 BR24C01 BR24L02 BR24C02 BR24L04 BR24C04 BR24L08 BR24C08 BR24L16 BR24C16 BR24L32 BR24C32 BR24C64 BR24L64

ST
ST24C01 ST24C32 ST24C02 ST24C64 ST24C04 ST24C08 ST24C16

Xicor
X24O01 X24C02 X24C04 X24C08 X24C16
CH341A Pro Supported Programmer Chip 25 Series
AMIC
A25L512 A25L05P A25L10P A25L010 A25L020 A25L20P A25L40P A25L040 A25L080 A25L80P A25L016 A25L16P A25L032

ATMEL
AT25F512 AT25F512B AT25F512A AT25FS010 AT25F1024 AT25F1024A AT25F2048 AT25DF021 AT25F4096 AT25FS040 AT25DF041A AT25DF321 AT26DF321 AT25DF321 AT25DF641

COMMON
25X005 25X05 25X10 25X20 25X40 25X80 25X16 25X32 25X64 25X128 25X256 25X512 25X1024 25X2048

Eon
EN25F05 EN25P05 EN25LF05 EN25F10 EN25LF10 EN25D10 EN25P10 EN25F20 EN25D20 EN25LF20 EN25F40 EN25D40 EN25LF40 EN25Q80 EN25D80 EN25F80 EN25P80 EN25T80 EN25B16T EN25T16 EN25B16 EN25D16 EN25F16 EN25Q16 EN25P32 EN25Q32 EN25F32 EN25B32 EN25B32T EN25Q64 EN25B64 EN25F64 EN25B64T EN25F128 EN25Q128

ES
ES25P10 ES25P20 ES25M40A ES25M40 ES25P40 ES25M80 ES25P16 ES25M80A ES25P32 ES25P80 ES25M16 ES25M16A

ESMT (read only)
F25L04UA F25L16PA F25L004A F25L32QA F25L08PA F25L32PA F25L008A F25L016A

GIGADEVICE
GD25Q512 GD25Q10 GD25Q20 GD25F40 GD25D40 GD25Q80 GD25D80 GD25T80 GD25F80 GD25Q16 GD25Q32 GD25Q64 GD25Q128

KH
25L8036D

MXIC
MX25V512 MX25L4005A MX25L1635D MX25L3237D MX25L6455E MX25L12845E MX25L512 MX25V4035 MX25L1605D MX25L3225D MX25L6408D MX25L1005 MX25V4005 MX25L1608D MX25L3205D MX25L6406E MX25L2005 MX25V8005 MX25L3235D MX25L3206E MX25L6445E MX25L8035 MX25L8005 MX25L3208D MX25L6405D MX25L12805D

NEXFLASH
NX25P10 NX25P20 NX25P40 NX25P80 NX25P16 NX25P32

NSHINE
MS25X05 MS25X16 MS25X10 MS25X32 NS25X20 MS25X64 NS25X40 MS25X128 MS25X80

PMC
PM25LV512A PM25LV016B PM25LV010A PM25LV020 PM25LV040 PM25LV080B

SAIFUN
SA25F005 SA25F160 SA25F010 SA25F320 SA25F020 SA25F040 SA25F080

SPANSION
S25FL004A S25FL032A S25FL040A S25FL064A S25FL008A S25FL128P S25FL160 S25FL129P S25FL016A S25FL128A

SST (read only)
SST25VF512A SST25VF512 SST25VF010 SST25VF010A SST25 SST25VF020 SST25VF040B SST25VF040A SST25VF040 SST25 'SST25VF016B SST25VF032B SST25VF064C

ST
M25P05A M25PE10, M25P10A, M25P20, M25PE20, M25PE40, M25P40, M25PE80, M25P80, M25PX80, M25PX16, M25P16, M25PE16

Winbond
W25X10 W25X10L W25P10 W25X10AL W25X10A W25P20 W25X20AL W25X20A W25X20 W25X20L W25X40A W25P40 W25Q40BV W25X40L W25X40 W25X40AL W25Q80BV W25Q80V W25X80 W25P80 W25X80A W25X80L W25X80AL W25P16 W25Q16BV W25Q16V W25X16 W25Q32BV W25Q32V W25X32 W25P32 W25Q64BV W25X64 W25Q128BV
Completion of the programmer
In the process of working with the programmer revealed some shortcomings,
one of them: it is not possible to reset / set the QE bit in the second status register.
We read datashit, for example, on the chip W25Q64FV, and we find the puntQuad Enable (QE) ,
in which there is a warning:
WARNING: If the / WP or / HOLD pins are tied directly to the power supply or ground during
standard SPI or Dual SPI operation, the bit should never be set to a 1.

To fix this flaw, you need to detach the legs #WP (pin 3) and #HOLD (pin7) from VCC
and connect them to VCC via resistors 4.7 com.
On the "black programmer" it looks like this:
a photo
Attached Image
Photo of the programmer
Attached Image
Parsing the example the notation W25Q32FV'SIG
Checking the BIOS LED activity
Photo programmer
Attached Image

Screenshots of the program
Attached Image

YouTube Programmer Overview
Buy on Aliexpress
Usb programmer:Aliexpress
Clothespin for programming and SOIC8 SOP8:Aliexpress
Clothespin for programming SOIC16 and SOP16:Aliexpress
1.8 Volt Adapter:Aliexpress
Adapter to SOP8:Aliexpress
Chip extractor:Aliexpress
Windows software
CH341A Programmer: CH341A Programmer 1.34 The official software

Alternative software: 1 NeoProgrammer 2.1.0.19
Alternative software: 2 CH341Programmer 1.38
Alternative software: 3 Attached fileavrdudess_20140805.zip (956.04 KB)
Alternative software: 4 Postal
Alternative software: 5 AVR Full mode programmer
Alternative software downloads: 6 AsProgrammer_1.4.1 - 2.1.0

ASUS BIOS CAP->Bin (If you have a UEFI Bios) Post # 1087
Drivers: Post # 626
ch341 serial 3.5 driver: Attached filech341_serial_3.5.zip (179.66 KB)

Past versions

Software (Linux
ch341prog (SPI

ch341eepromtool (I2C

flashrom

Attempting to flush the SOP-8 chips with a clip without soldering off the board gives an absolutely unpredictable result.
on the forum such attempts are not discussed

Chinese software (especially versions above 1.18) is very unstable in operation, it is recommended to useNeoProgrammer


For questions about filling the caps, contact QMS to the Curator of the topic -


Post has been editedboar-hooligan - 25.07.20, 15:09
Reason for editing: NeoProgrammer 2.1.0.19



Rep: (58)
1. With Aliexpress ordered already. Sorry for a long time, my hands are itching)
2. There is one thought. The chip is not erased in an empty place of the BIOS. Bios is written to its addresses. After the recording, the firmware is as it were, but in an empty place of it, which tail is not erasable in the chip. In theory, the bios will be intact, only with a piece of something unknown to it. What do you think it makes sense to try?
3. In general, Frankeinstein was launched))) as expected by the post above. Recorded bios on the buggy chip. And it started.
Chip soldered at the time of the experiments. Since the Soldering Iron is not convenient to solder such a trifle.
A couple of pictures. Launched without a hard disk. I'll put the system in, I can get a cant somewhere)
a photo
Attached Image
Attached Image
Attached Image

Thank you all for your help.

Post has been editedboar-hooligan - 29.09.18, 16:52
Reason for editing: We hide the pictures under the spoiler + glued posts



Rep: (0)
* YaNdEx75,
You flash your back on the front insert, and therefore heats up.



Rep: (78)
* relixiv very relevant



Rep: (215)
* crysis-gra,
Well what happened, I did not advise anything because there are too many "ifs". In any case, change the flash drive as soon as it comes. Last picture amused: D
* relixiv
Oh necroposting! Myusie knows a lot about perversion: D



Rep: (0)
Good day. A couple of pages back I asked for advice (I did not flash the microcircuit). I report: I ordered a new one, everything was done right from the first time. Modification with resistors did not. The microcircuit was on 3b, and not on 1.8 (this followed from the datasheet). About the write protection / service bits, I really did not understand, for a total of kmk, the problem was either in them or the microcircuit was damaged in the process of soldering.



Rep: (0)
I use the programmer to communicate with the HDD via RX / TX.
1. I connect the programmer to the HDD.
2. I connect the programmer to the computer.
3. I launch the terminal (HyperTerminal 7.0).
4. I open connection in the terminal.
5. I connect HDD power (I plug in HDD SATA Power).
Then one of two things (a - in 75% of cases, b - in 25%):
6a. From the speakers of the computer you can hear the sound of connecting a new device.
6b. Nothing.
7a. The terminal does not display anything, but when you try to enter something, it hangs.
7b. The terminal displays information from the HDD and then works without problems.
It seems to me that along the RX / TX lines some voltage jumps from the HDD and the CH341A reboots and the terminal loses connection with it.
How to get rid of it?

Post has been editedAleksRazgul - 03.10.18, 21:44



Rep: (11)
* Demonis,
I finally decided to do everything correctly: happy:
I found the time, rummaged in the dumps and clean firmware and it turned out the following:

My time with the inclusion of a long nouta Dell N5110 began to strain, especially if it is due to the ME region. I finally gathered his thoughts, prosherstit shot curve dump and found an area with DMI. If someone will be useful, it is an area 1A0000h - 1AFFFFh (starts at $ TAG). His, respectively, put into a clean firmware and run nouta became perfect :) And not only the laptop immediately began to run, but is not included in Manufacturing Mode. Apparently, the presence of serial numbers is enough and no additional parameters to change the firmware is not necessary. In addition, the device in the system to handle downed disappeared (or was the function normally).

Question with FPT also decided - I at first did not even know that for a particular chipset needs its own version of the FPT. As a result, I was able to remove the dumps with all the necessary computers through DOS. Well, of course, ME region not only zabekapit because denied to the default reading. Once I have a Dell N5110 noutom figured out, I finished it experiments and found that FPT removes it through the DOS all the dumps right (for test unlocked firmware ME region through programming). Similarly, sews all the bios without problems. Through Windows is not tried and will not try: happy:

By the way here caught chip W25Q64FV in DIP8 housing, from which the dump rented programmer. He stands on the motherboard chipset AMD. Software like Intel FPT found for him so useful to take a dump programmer (good desoldering do not need anything). I found therein set bit QE. I remembered that our programming needs refinement to work with this bit (set / reset). But if I do not want anything to do with it, but simply to read or write to the chip, I need to refine the programming?
However, the read attempts were successful, the two dumps taken in a row coincided.

Still slightly offtopic (sorry):
Along with the experience of finding and changing DMI and regional rights, I decided to try changing the logos when loading the BIOS (well, I wonder the same). The PhoenixTool utility helped in this case. On YouTube was just an example of changing the logo on the laptop Dell N5110. It turned out great, but in the end left the regular Dell logo.
But the change of the logo in the BIOS on the Intel DN2800MT board - at first seemed hell! Intel either encrypt, or compress specific manner the bulk of the dump so that no program can not remove from it all the Old but DMI (like settings and couples). This logo dump not modified. If you take the firmware from the site, it is decompressed normally, but the reverse, wrapping PhoenixTool-om does not one of the common firmware for firmware via IFlash2 (intelovkaya). Somewhere in the internet found out that in the firmware bunch of checks / signatures / checksum. And because they do not modify the firmware again. I found the official tool from Intel, which allows you to change the settings in the firmware. Parameters change is possible, but there is no logo. But in those. the manual is written as you can! It turned out that it is necessary to rename the file (in my case) MT0171C.itk in MT0171P .itk. Only then a clause appeared, allowing to change the logo.


Post has been editedMczion - 05.10.18, 15:12



Rep: (0)
No support 25Q16CV



Rep: (16)
Green programmer mode (possibly suitable for blue)
Attached Image


Attached Image


I have another layout on a black programmer. Blowed out a socket. And of course, the legs were connected right there, on the upper side of the board, under the socket. And exactly there it is necessary to cut the tracks, and only then from the bottom side to solder the cuttings between the adjacent legs and from the first to the seventh. This can only be done with a normal camera in macro mode, unfortunately this is not at hand.

Post has been editedDef1985 - 11.10.18, 15:11



Rep: (4)
Exelero @ 08.22.18, 14:18*
Now it remains to find out what kind of data there needs to be replaced, so that it becomes 1500 sheets)
Counted through 4 contacts (4,5,6,8)

Did I understand you correctly?
On the block of the C341A programmer under the 24XX microcircuit, I took the contacts:
4-GND
5-DATA
6-clk
8-VCC
Attached to the chip counting from the hole in order GND-VCC-CLK-DATA.
Inserted, programmer in USB connector launched the program for C341A, counted, cleared, recorded.
A photo
Attached Image

Attached Image


Post has been editedboar-hooligan - 09.10.18, 21:32
Reason for editing: We hide the pictures under the spoiler



Rep: (2)
* MK_mk,
From 3.3 volts mikruh:

"Absolute Maximum Stress Ratings (Applied conditions greater than those listed under the“ Absolute Maximum Ratings ”) Exposure to absolute stress rating.

Voltage on Any Pin to Ground Potential .............................- 0.5V to VDD + 0.5V "

Sew, who will forbid you. Keep arguing with development engineers, they like it :)

I urge the rest to think after the above quotation: is it worth extrapolating this practical experience of the firmware to your case, and can there be errors when reading if at 4.1 volts on any leg mikruhi with 3.3 volts can burn it.

Look in the same datasheet now - how many VDDs are there, in the same section “Absolute MaximumStress Ratings”. Usually all mikruhi 3.3 V easily undergo a connection to 5 volts, besides a short-term (I have never had any precedents of failure).

Post has been editedsteesel - 09.10.18, 21:13



Rep: (1)
Hello gentlemen bios, in the hope of at least reading it, but the story is the same .. voltage measured at Vcc 3.26 in. Maybe someone had this? Or the programmer-corpse was originally? The power light is on, the computer displays as USB-EPP / I2C ... CH341.win 7 x64
thank you in advance

Post has been editedvitalik_24 - 09.10.18, 21:54



Rep: (2)
vitalik_24 @ 09.10.18, 21:48*
the program just hangs

Other drivers try.



Rep: (1)
Steesel @ 10/09/2018, 10:49 PM*
...
Other drivers try.

what for example? what you work stably?



Rep: (222)
* vitalik_24,
Do you connect the mikruha according to the pinout on the programmer itself or how is it drawn in the software?



Rep: (1)
Frog @ 10/10/2018 07:45*
* vitalik_24,
Do you connect the mikruha according to the pinout on the programmer itself or how is it drawn in the software?

as drawn on the programmer. in the reverse case, I tried something (the unfortunate experimenter) heated up both micra and a stub on the programmer. . But the machine does not determine mikru.
As I understand it, the jumper influences the firmware of the microcircuits either in the connector (with the jumper) or on board the programmer itself (without the jumper), that is, directly onto the solder tracks. without adapters. .
I apologize for the long text, please do not punish.



Rep: (215)
* vitalik_24,
Jumper changes modes: parallel programmer - UART TTL (USB-RS232 converter), you needonly first mode (jumper 1-2). The microcircuit is set to the position for the x25 series of microcircuits (i.e., closer to the USB connector), the key of the microcircuit to the ZIF lever of the socket.
You install firewood for the USB-EPP / I2C ... CH341 device and the AsProgrammer_1.4.0 program and try it.



Rep: (504)
In the finalization of the programmer has a picture and description
To fix this flaw, you need to detach the legs #WP (pin 3) and #HOLD (pin7) from VCC
and connect them to VCC via resistors 4.7 com.
On the "black programmer" it looks like this:

And in the picture which leg is under what number?

Also according to the description it is written what to let THEM (both) through the resistor
but from the photo you can see that only one leg is connected through the resistor

clear up please



Rep: (504)
Update

Attached files

Attached fileCh341Programmer_v1.1.1.21.7z(3.9 MB)



Rep: (1)
* Vech , CH341A Programmer (Post Def1985 # 77709025)


Full version    

Help     rules

Time is now: 10/10/20, 12:13