boseji / CH341-Store

Documents and Software Related to the famous CH341a used in I2C/SPI Flash Programmers also called as Bios Programmers
MIT License
10 stars 2 forks source link
bios-programmers ch341 ch341a chip drivers i2c linux programmer spi spi-flash-chips spi-flash-programmers

CH341-Store

Documents and Software Related to the famous CH341a used in I2C/SPI Flash Programmers also called as BIOS Programmers

Please note that this repository is a Coagulation of know-how from different sources.

CH341A Devices

Source : https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html

About CH341

This is versatile USB to multi-protocol converter chip.

There are 4 major items that become clear from the enclosed Datasheet(English)

Attributions

CH341a based Programmer

The Main uses that this chip finds is programing SPI flash chips. These SPI flash chips are often used in the BIOS of many computer cards. In fact most of the WiFi routers use these SPI flash chips to store the embedded Linux image. So ideally these programmers can actually help you swap the Linux image on a WiFi Router. Also it has been reported that this programmer can be used to recover bricked or locked out BIOS from laptops.

Lets look at how the programmer looks like:

Typical CH341 based programmer

Source: https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html

Folks at Onetransistor have been kind enough to provide a schematics also:

Schematics of a CH341 based programmer

Source: https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html

PCB of a CH341 based programmer

Source: https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html

CH341a Drivers

We have downloaded the drivers from Jiangsu QinHeng Ltd Website hence all should be Genuine Drivers , malicious items free.

For Windows

For Linux

Most of the times you would not need any driver specifically since its auto registered. However to communicate you might need the help of libraries.

For Android Devices

It's interesting that the manufacturer actually provides support Android support. Not only that they provide the Android application to test and the Library in .jar form.

For MAC

There is not much support for MAC from the manufacturer.

CH341a Programmer Application

~~We still did not find any clean programmer application, that does not contain any viruses. Hence if any one can help us provide a clean programmer application - please let us know.~~

We have finally found one piece of closed source software for programming. This was contributed by Github User BigBox2020. Another is usbASP Flash Programmer .aka. AsProgrammer. This is an Open-Source alternative contributed by Alexander Gavrilov.

Please find the links to the respective contributions below.

Here are few Open-source projects targeting this platform:

Contribution by Alexander Gavrilov

Here are few more Open-Source projects shared with us by Alexander Gavrilov

Here are a few Close-Source links shared with us by Alexander Gavrilov

Contribution by Github User BigBox2020

Here are a few Closed-Source links shared with us by Github User BigBox2020:

Here are a few Open-Source tool flashrom links shared with us by Github User BigBox2020:

Contribution by Github User DSchndr

This project uses CH341a as parallel memory programmer. It requires 2 additional MCP23017 running on (i2c). The project also includes a GUI based on C# for controlling the programmer. Here are the contributions:

Contributions by Github User McMCCRU, Thanks to Github User eternalphane for sharing this link.

SNANDer - Serial Nor/nAND/Eeprom programmeR - This is a nice command line program for working with I2C/SPI EEPROM chips. This project presently is supported only on Linux as per the repository. Hope that there are ways to compile it for Windows and Mac. Here are the contributions:

UsbAsp-flash

Program allow you to program flash memory on the protocols spi, I2C, MicroWire. Supports CH341a, UsbAsp, AVRISP(LUFA), Arduino, FT232H.

https://github.com/nofeletru/UsbAsp-flash

Help Needed

Please feel free to contribute anything you believe would be helpful for the community.

Current parts that need help:

  1. Verifying closed source CH341a Programmer Application listed Last time we removed the items since community complained of virus contained in some distributions. We request help to verify the programmer solutions are safe to use before hosting them here.
  2. Translation We need help with correct translation of documentation. This might be from other languages to common English.
  3. Tutorials We need help with tutorials for building and using Open Source or Closed-Source applications for CH341a Programmer Application.