Skip to content

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

License

Notifications You must be signed in to change notification settings

OSTechnology-Jacob/python-evic

 
 

Repository files navigation

Evic

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

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

Supported devices

  • Evic VTC Mini
  • Cuboid Mini
  • Cuboid
  • eGrip II*
  • iStick TC100W*
  • iStick Pico*
  • Presa TC75W*
  • Vaporflask Classic*
  • Vaporflask Lite*
  • Vaporflask Stout*
  • Reuleaux RX200
  • Reuleaux RX200S

*Untested

Tested firmware versions

  • Evic VTC Mini <=3.02
  • Presa TC75W 1.02*
  • RX200 3.10
  • RX200S 4.10
  • Examples from evic-sdk

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

Installation

Installing on Ubuntu:

Download Ubuntu-Install.sh from the Installers directory. Right click > Properties > Mark Executable. It will automatically download and install all of the required dependencies and evic-usb.

Install from source:

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

$ pip install hidapi click setuptools pil

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 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

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 94.1%
  • Makefile 2.4%
  • Shell 1.8%
  • C 1.7%