An open API service indexing awesome lists of open source software.

https://github.com/themactep/scriba

Linux CLI app for CH341A flash chip programmer. A simplified version of SNANDer. A part of Thingino family.
https://github.com/themactep/scriba

Last synced: 7 months ago
JSON representation

Linux CLI app for CH341A flash chip programmer. A simplified version of SNANDer. A part of Thingino family.

Awesome Lists containing this project

README

          

Scriba - Thingino Programming App
=================================

Scriba is a version of SNANDer that doesn't include any code that isn't used in
Linux. It has been reorganized and streamlined to serve one sole purpose:
to work with flash chips in IP cameras that are used with the Thingino project.

Scriba works well with the first generation of CH341A programmers that have been
modified to work at 3.3 volts. You can find more information about the necessary
change at https://github.com/themactep/thingino-firmware/wiki/CH341A-Programmer.

Building
--------

### Prerequisites

- GCC compiler
- libusb-1.0 development files
- make

### Build Options

# Standard build (dynamically linked)
```
make
```

### Static build (includes libusb)
```
make static
```

### Install
```
sudo make install
```

Configuration
-------------

### USB Permissions

The udev rule `40-persistent-ch341a.rules` grants access to CH341A USB devices.

Usage
-----

```
scriba [options]

Automation:
-R Read chip (read twice and compare)
-W Write chip (erase + write + verify)

Single operations:
-i Read chip ID
-e Erase chip
-r Read chip to file
-w Write file to chip
-v Verify after write

Granularity:
-a

Set address
-l Set length

SPI NAND:
-d Disable internal ECC
-o Set OOB size
-I Ignore ECC errors
-k Skip BAD pages

EEPROM:
-E Select EEPROM type
-8 Set 8-bit organization
-f Set address size
-s Set page size

General:
-h Display help
-L List supported chips
```

Examples
--------

### Get flash info
```
scriba -i
```

### Read and save flash
```
scriba -r output.bin
```

### Write and verify
```
scriba -w data.bin -v
```

### Write chip (automatic erase + write + verify)
```
scriba -W firmware.bin
```

### Read chip (read twice and compare)
```
scriba -R verified_backup.bin
```

### EEPROM operations
```
scriba -E 93c46 -r eeprom.bin
```

Authors
-------

Original code by [McMCC](https://github.com/McMCCRU/SNANDer),
modified by [Droid-MAX](https://github.com/Droid-MAX/),
modified by [Paul Philippov](https://github.com/themactep).