python-evic icon indicating copy to clipboard operation
python-evic copied to clipboard

A USB programmer for devices based on the Joyetech Evic VTC Mini.

=============================== Evic

.. image:: https://travis-ci.org/Ban3/python-evic.svg?branch=master :target: https://travis-ci.org/Ban3/python-evic

Evic is a USB programmer for devices based on the Joyetech Evic VTC Mini.

Supported devices

  • eVic VTwo*
  • Evic VTC Mini
  • Cuboid Mini
  • Cuboid
  • eVic VTC Dual*
  • eGrip II*
  • eVic AIO*
  • eVic VTwo mini*
  • eVic Basic*
  • iStick TC100W*
  • ASTER*
  • iStick Pico
  • iStick Pico Mega*
  • iPower*
  • Presa TC75W*
  • Vaporflask Classic*
  • Vaporflask Lite*
  • Vaporflask Stout*
  • Reuleaux RX200*
  • CENTURION*
  • Reuleaux RX2/3*
  • Reuleaux RX200S*

*Untested

Tested firmware versions

  • Evic VTC Mini <=3.03
  • Presa TC75W 1.02*
  • iStick Pico 1.01
  • Binaries built with evic-sdk <https://github.com/ReservedField/evic-sdk>_

*Flashing Presa firmware to a VTC Mini requires changing the hardware version on some devices. Backup your data flash before flashing!

Installation

Install from source: ^^^^^^^^^^^^^^^^^^^^^^

Using evic-usb requires cython-hidapi. You can install it using pip:

::

$ pip install hidapi

Building cython-hidapi requires libusb headers and cython. On Arch Linux they can be obtained from the repositories by installing packages libusb and cython. Debian based distributions will have packages libusb-1.0-0-dev and cython.

On Windows you will also need the correct compiler for your Python version. See this <https://wiki.python.org/moin/WindowsCompilers>_ page for more information on setting up the compiler.

|

Building python-evic:

::

$ git clone git://github.com/Ban3/python-evic.git
$ cd python-evic
$ python setup.py install

Allowing non-root access to the device ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The file udev/99-nuvoton-hid.rules contains an example set of rules for setting the device permissions to 0666. Copy the file to the directory /etc/udev/rules.d/ to use it.

Usage

See --help for more information on a given command.

evic-convert ^^^^^^^^^^^^ evic-convert is a tool to encrypt/decrypt firmware images:

::

$ evic-convert in.bin -o out.bin

evic-usb ^^^^^^^^^^^^ evic-usb is a tool for interfacing with the device through USB.

Dump device data flash to a file:

::

$ evic-usb dump-dataflash -o out.bin

Upload an encrypted firmware image to the device:

::

$ evic-usb upload firmware.bin

Upload an unencrypted firmware image to the device:

::

$ evic-usb upload -u firmware.bin

Upload a firmware image using data flash from a file:

::

$ evic-usb upload -d data.bin firmware.bin

Use --no-verify to disable verification for APROM or data flash. To disable both:

::

$ evic-usb upload --no-verify aprom --no-verify dataflash firmware.bin