Introduction
The CH341A is an affordable SPI programmer.
The assumed map between UIO command bits, pins on CH341A chip and pins on SPI chip:
UIO CH341A SPI CH341A
0 D0/15 CS/1 CS0
1 D1/16 unused CS1
2 D2/17 unused CS2
3 D3/18 SCK/6 DCK
4 D4/19 unused DOUT2
5 D5/20 SI/5 DOUBT
6 D6/21 unused DIN2
7 D7/22 SO/2 DIN
Firmware Format
The daemon will decompress the cabinet archive and extract a firmware blob of unspecified format.
This plugin supports the following protocol ID:
com.winchiphead.ch341a
GUID Generation
These devices use the standard USB DeviceInstanceId values, e.g.
USB\VID_1A86&PID_5512&REV_0304
USB\VID_1A86&PID_5512
Update Behavior
The device programs devices in raw mode, and can best be used with fwupdtool
.
To write an image, use sudo fwupdtool --plugins ch341a install-blob firmware.bin
and to backup
the contents of a SPI device use sudo fwupdtool --plugins ch341a firmware-dump backup.bin
Vendor ID Security
The vendor ID is set from the USB vendor, in this instance set to USB:0x1A86
External Interface Access
This plugin requires read/write access to /dev/bus/usb
.