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

I have been also having trouble programming my W25Q64BVAIG chip with the Ch341a in that after it writes to the chip using the 1.18 software the verify fails. So I tried it with a W25Q64FVAIG (different sku) and this one worked successfully. So maybe it’s the chip or the software or both.

Thanks for the information, David.
The W25Q64BVAIG chip is apparently so old that I cannot even find it on the WinBond site.
We are getting the same read/verify failure, so you may be right, even though it is supposed to be a supported chip. I also may have fried something on the old chip using the black programmer, due to the 5 volt issue (?).
Either way, is your W25Q64FVAIG chip working in your motherboard that originally had a W25Q64BVAIG? What motherboard is it?

I also thought I fried the chip because at first I may have inserted it backwards on the programmer. I doubt the voltage would have been responsible. Others told me the 5v is an issue if you use a soic cable onto the motherboard. Others have said it shouldn’t matter. I don’t know. Anyhow I never got around to placing it on the motherboard as I was just testing and experimenting using the CH341a device and making a spare bios chip just in case something went wrong.

Like to report success with restoring full functionality of my bios chip using a SOIC jumper cable on the CH341A!!!

I had a Netbox that suffered a bad flash a couple weeks ago. At first I tried using the FlashcatUSB programmer
because of the 3.3v 5v issue on the CH341A Black. Trying to use that device was a pain because setting up the
right routing of jumper wires was not an easy task as you had to study the pin layout of the flash chip and correspond
that to the pin layout of the programmer. Biggest issue I had guessing was where pin 1 red stripe on the cable
corresponded to on the block. Took a guess and plugged it in but the software off of the bat says that the firmware
was old and outdated and wouldn’t work unless you upgrade the firmware of which there was two.

One for JTAG and one for SPI so I picked SPI confused about my choice.
In anycase after hooking up the jumper cable to the board the power led on the motherboard lit up however
the FlashcatUSB software could not autodetect the kind of flash and refused to enable writing.

So I said screw the volts and followed along a Youtube video on how to use the CH341A with a jumper cable and
the the CH341A software autodetected the chip and after a long 3 minute flash was done and I was back in business!



Wonder if Amazon will take back the FlashcatUSB device… waste of money…

Thanks

Thank you Wootever, I have successfully modded my programmer according to your guide, I used a dremel, it was very easy !

There is an other track just at the left of the CH341A VCC pin, be careful to not scrape it ! (only scrape below the pin, as shown in the image).

http://reho.st/self/324a9d576f84aa037aee…825b977ffa5.jpg

http://reho.st/self/a364e974949d2ed26fe8…93cd85e78e9.jpg



I’ve also received the green PCB one, and I’ve noticed my read times are very slow on both programmers, I tried multiple times on different USB ports, it takes more than 9 minutes to read a W25Q128 with your latest released Flashrom, with both programmer.

Capture.PNG

Asking just for interest and possible future purposes.
I don’t understand, for today are there ways to read/write bios chip using CH341A(or similar cheap) programmer(assume green pcb) + SOIC clip without desoldering chip from motherboard?

Is green pcb like this green
= blue like this blue?

Hi guys, I’m trying to use the CH341A to flash the new W25Q256 family on the latest Dell family of BIOSes. The problem is that the IC is now in WSON8 package not SOIC8 package, and I’m not sure if a set of test clips actually exists for this package. Is there a reliable way to flash the IC without having to desolder it?

There’s no test clips for WSON8 available, as far as I know. You can get an adapter like this (https://www.aliexpress.com/item/Free-shi…2803516506.html), but soldering is still required.
BTW, almost all new Dell machines are using BootGuard, so flashing a modified BIOS there will only brick them.

If the soldering points of the WSON8 are accessible, it might be possible to connect a modified SOIC8 clip as the physical distance of the pins are similar:



I disassembled and re-soldered my ebay SOIC8 clip a while ago to connect a WSON8 flash chip in a chinese tablet:




Edit:
(not a WSON8, only as an illustration)



Something like this might also work:

Hi CodeRush , could you please check the 1st post , only the 1st image is viewable , all the others I get an error message which is in German , which unfortunately I don’t understand…

**edit… sorry seems to be a FireFox 57 (Quantum) Issue …Chrome works…

**edit2… not all images on this thread work with chrome either eg. some of Woot’s pics fail to load with the same error :

Dieser Link war nur eine begrenzte Zeit gultig.


Bad link?

True, but setting the reserve_hap bit will disable bootguard (and ME) on Dell machines. It’s been successfully demonstrated on the latest versions of Dell machines elsewhere on the me cleaner project, unfortunately these were SOIC based not WSON.

The challenge I have now is getting access to writing to the DESC region to disable this bit, without being able to access the IC with hardware methods. Experimenting with IFR variables I’ve managed to enable full read access to the 32MB Winbond, but the descriptor bits still remain elusive.

That gave me an idea. The WSON8 soldering points are reasonably accessible, I’ll see if I can extend the clips to the connectors and report back.

UPDATE - unsuccessful. The SOIC clip pins can be extended somewhat but not enough to successfully read the IC even if the motherboard is powered on. Unless I can find a specifically modified clip that easily attaches to the WSON package (and assuming the IC can be read when soldered) I’m going to have to find ways of programming the flash descriptor using software means.


Well, that’s very unfortunate news for Intel, if true. I will investigate further.

Also, you can try getting into descriptor by initiating security override (assert HDA_SDO strap high before powering up the system).

Unfortunately the HDA chip is on the reverse side of the board, so the HDA_SDO pinmod is sadly not an option on the Dell XPS machines. There may be a software option which either involves IFR variable setting or a region unlock through the usual bios tools but (apparently) the XPS 9350/9360/9550/9560 BIOSes are a new AMI/Insyde hybrid so the traditional AMIBCP tools to flash descriptor don’t work.

Yes have a look at the background to the reserve_hap discovery, interesting story there…

in chinese,it have more easy for falsh bios way with ch341.i have one for the off line for flash bios,becouse it have LCD screen。and,it can help me for flash bios easy,and kaby lake cpu is work on Z370 chipset。http://tieba.baidu.com/p/5458244719

Halo,
Do You have newest version (>1.30) of software for CH341A programmer?

Just a quick note - there is potentially a way to apply the HDA_SDO pinmod on the latest Dell machines. There is a provision on the board schematic for a physical switch SW1 (which isn’t present on the board, but the pins are) to close a normally-open connection on the board. Problem is, just shorting it and powering on doesn’t seem to work. Not sure what needs to be done here to make this work - does a full AC/DC disconnect need to happen before power-up, and does the pin short need to be present after POST?

Hi,

Was wondering if its possible to flash the firmware from a smaller lets say 8mb bios chip onto a larger 16 mb bios chip with the Ch341A?

I tried without sucess,

Thank You,


https://github.com/LongSoft/UEFITool/issues/100

Flashrom 1.0 is released

https://flashrom.org/Flashrom/1.0