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


Hey @Andromeda - no i did not made any modding to the CH341. I do not remember exactly but I checked the voltage on the pin and it was 3.3V as required. I hope I made myself clear.

Hi everyone. I need to flash the bios of a Motherboard Asrock Z270M pro4. I have a CH341A, and i want to use trhow de 10 pin connector on the board (BIOS_PH1). So, i need some pinout to connect it or a videoā€¦

Thanks


@Lost_N_BIOS @MiesMosel
Iā€™ve buyed a 16 pin clamp and also the 1.8v adapter, but Iā€™m still unable to read the chip.

Flashrom v1.2 for Windows + CH341A WinUSB driver.

Changes:
- Added progress indicator.
- Updated driver date.

Usage:
- Install the provided WinUSB driver.
- Click on Shell.cmd to open the command shell and enter:
- flashrom (to probe for a flash chip)
- flashrom -r backup.bin (to read the chip content)
- flashrom -w newfile.bin (to write a file to the chip)

flashrom_v1.2.50.rar (145 KB)

@flashrom - is there a guide somewhere on using your software? And, is this latest build? I donā€™t keep up with flashrom, have never used, but plan to grab and test/play with sometime soon
Thanks!

@redmarine84 - I am not sure on that one. What all versions of CH341A software did you try? Did you try ASProgrammer? Did you try Flashrom?
Try with and without PSU connected (but not forced/jumpered to power on, but power switch in rear enabled/normal position)

@diderius6 - What did you end up getting to work with W25Q256JW?

@flashrom
Your upload contains an invalidly signed driver (flashrom/win-raid.com 2018).
The driver (WCH 2017) I already have is validly signed.

How could I install that new driver (2018) with as well signed?


@Lost_N_BIOS
It should be the last new version 1.2 - you could find here:

https://flashrom.org/Downloads
https://github.com/flashrom/flashrom
https://review.coreboot.org/cgit/flashrom.git/

1. install for CH341a the special driver
2. start flashrom.exe

Best regards, MiMo


The exe is built from the current flashrom github source (05.04.2020).

The usage is pretty straightforward:
- Open a command shell in the flashrom.exe directory.
- Enter ā€˜flashromā€™ to see if the CH341A is correctly installed.
If you see the message: ā€˜No EEPROM/flash device found.ā€™ you are ready to connect the flash chip.
- Enter ā€˜flashromā€™ again to check if the flash chip is correctly identified.
You should see something like: "Found Winbond flash chip "W25Q64.V" (8192 kB, SPI) on ch341a_spi."
- Now enter ā€˜flashrom -r bios.binā€™ to backup the current chip content.
- You can use ā€˜flashrom -w newfile.binā€™ to write the new bios to the chip.


The Install.cmd script also temporarily installs the certificate the driver is signed with (and remove it after the install is finished).
This works because this driver is only a simple wrapper for the built-in WinUSB driver.


@Lost_N_BIOS
@MiesMosel
Finally Iā€™ve got it.
Iā€™ve moved a little bit the clamp and the chip was detected.
Iā€™ve extracted 3 bios (I think they are all the same). CHIP Type: Winbond W25Q256FV
Bios.bin was extracted with Ch341Programmer V.1.1.3.2
Bios2.bin was extracted with Colibri 1.0.1.61
Bios3.bin was extracted with CH341A Programmer V.1.34
Now what can I have to do?
According to Asrock Website, Iā€™ve uploaded the latest bios available, version 3.90.
Iā€™ve put all the files (bios1-2-3 and latest bios) inside this archive: https://www.mediafire.com/file/yeypnpsrlā€¦BIOSES.rar/file
Thanks in advance!

@redmarine84

The 3 BIOSs from you has a size of 32MB, but the original only 16MB.
So the chip maybe could contain two BIOS or a bigger one for later updates. That seemes not to be a problem, but regulary.

The ā€œbios.binā€ and the ā€œbios2.binā€ contains only 16MB of data, so I cutted 16MB "FF"s out and saved as "bios(2)_16MB.bin"
Proofing both files per checksum - they are identical. So the data inside is the same by Colibri and CH341a-Programmer.

The ā€œbios3.binā€ contains some unknown data behind the 1st 16MB.

All 3 bios-files couldnā€™t be read by UEFI MMTool v5.02.0024, but the original v3.90.
UEFITool shows errors, but also a lot of identified data (like p.e. GUIDs).

What configuration do you use for reading with CH341a ?
try this: [general] uncheck ā€œAllows to skip empty dataā€ | check ā€œWrite complete after verifyā€
[25\26 Chips] un/check ā€œUse fast read modeā€ - try both | check ā€œMain Memory + Secured OTPā€
ā€¦ all other options could be set by you.

tomorrow Iā€™ll look furthermore ā€¦

Try also flashrom (you have to change the driver every time you switch between flashrom & Colibri/CH341a-Programmer) and AsProgrammer.
You are on a good way.

I built a simple Flashrom GUI for a more pleasant usage on Windows:



I also got the CH341A WinUSB driver properly signed for a simpler installation process.

Changelog:
- Added drop-down list to choose a specific model if multiple chips are detected.
- Slight changes on the interface.

flashrom_gui_v1.21.rar (138 KB)

Wow - I like that !!

Hi All,
I am facing the following problem I donā€™t know what else I can do. Long story short I stupidity used a Gemini X45 BIOS on my new Gemini J-45-A-8256JDOW64PRO and now itā€™s bricked (doesnā€™t boot at all) probably due to wrong BIOS. I already have a CH341A EEPROM programmer with a clip in order to flash the correct BIOS. I managed to find a BIOS file backup online but not sure if will work. My main issue is that whatever programmer software I used tried CH341 Programmer v.1.18, 1.29, 134, 1.38 and 1.40, also ASProgrammer 1.4.1, flashrom 1.21, Flashrom_GUI (my OS is Windows 10 v1909) , even Flashrom on Linux, I canā€™t complete erase successfully and get the ā€œChip Main Memory Not Nullā€ error. I have tried every possible solution found here in the forum but nothing worked. I am also a bit confused as some BIOS programmer software detect the EEPROM chip as Winbond W25Q64BV, others as W25Q64FW and others as W25Q64FV. The chip id is EF,60,17,16 which according to Winbond datasheets seems to correspond to W25Q64FV. I have even tried the heat shrink tube on pin 8 but problem persists.
I am thinking to buy some new W25Q64FV and try to flash them but since I am not 100% sure that this is the correct BIOS chip I would like a second opinion. Unfortunately the EEPROM chip ID is wiped out so canā€™t be read.
So please any assistance regarding the matter will be highly appreciated.
Thank you very much in advance, take care and all the best.

@geoal1973 -Read off the ID on the chip, use magnifying glass and flashlight if you need to. You should have never erased or tried to write anything, until you made a backup and someone confirmed it was OK

If chip is W25Q64FV you need to use CH341A software 1.30 or 1.34 and W25Q64BV ID, or it may be OK with ASProgrammer 1.41 as well (not certain, only tested personally with 1.30 and 1.34 and the ID I mentioned is only one that works)
1.30 and 1.34 are in this package, Iā€™ve dumped and written many W25Q64FV chips (use what I mentioned above) - http://s000.tinyupload.com/index.php?filā€¦695330485827902

You do not need to buy another chip That would only be wasting your time soldering/desoldering.
Please link me to your stock BIOS download page for this system, so I can look at the stock BIOS contents. And, upload the file you plan to write too, thanks

Hi,
I highly appreciate your immediate response, unfortunately as I said on my initial post the bios chip details has been wiped out by the vendor so their no way to be sure what is the actual chip.
I have found a bios backup on a review site, the download link is below :
https://mega.nz/#!tbhlxSxS!P8tDr1gnrMBcWā€¦p7Bgjc3zd0Wr6oc

Since you have much experience with this can you confirm that the chip id is EF,6017,16 is actually a W25Q64FV chip? I am afraid that if itā€™s W25Q64FW chip then I need an 1.8V adapter and I donā€™t have oneā€¦

@geoal1973
This looks like a W25Q64DW, which indeed requires 1.8V.

I checked again all 3 W25Q64FV , W25Q64FW and W25Q64DW datasheets and they have exactly the same IDs so not sure which is the one I haveā€¦

Update : In order to narrow things down I just checked the Vcc to GRD voltage supply on the motherboard and itā€™s actually 1.8V (I measured 1.78V) so I guess we are dealing with W25Q64FW or W25Q64DW chips. So the million dollar question now is if the chip has been destroyed by supplying it with 3.3V all the time trying to recover it?

@geoal1973
If you have a black pcb CH341A it is highly possible that the flash chip was damaged.

yes I have the black pcb CH341A so I guess I should buy an 1.8V adapter try and if canā€™t get it work then buy some W25Q64FW and W25Q64DW chips flash them and try which one will work on the motherboard?

@geoal1973 - Chip should be fine bud!! Get 1.8v adapter then you will be ready to re-program it. Sadly, it looks like all the cheap sellers on ebay donā€™t list this alone right now, probably due to the coronavirus, hopefully you can find by itself for $2-3 somewhere!
If you will upload or link me to the stock BIOS download page, or re-upload that backup to tinyupload.com or uploadfiles.io then I can tell you what BIOS chips are compatible with that BIOS (I canā€™t download at mega)
However, I assume BIOS chip will be fine, Iā€™ve tested more than a few 1.8v chips with black programmer and no 1.8v adapter, and all fine afterwards

* Edit - Found a bunch, all using different titles now (search 1.8v adapter SPI on ebay and you fill find plenty under $5) here is cheapest
https://www.ebay.com/itm/193406941379

@Lost_N_BIOS : thank you very much for helping me honestly I didnā€™t got any help from Beelink they just said out of warranty and that was itā€¦
I really hope you are right and will get the ROM flashed using the 1.8V adapter. I already ordered one earlier but will take more than 2 week to arrive from Chinaā€¦