Make an AVR device into an encrypted MassStorage/Serial/Keyboard gadget.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
flabbergast 09771bc19a Update READMEs. 7 years ago
..
.gitignore Update year in (c) and README. 7 years ago
README.md Update READMEs. 3 years ago
enstix-x128a4u-1.5.hex Add binary fw (1.5) and generate-eep script. 7 years ago
generate-eep.py Update READMEs. 3 years ago

README.md

enstix binaries

These are for X-A4U-stick.

Some data (a hash of AES key and a hash of the password) is stored in xmega's EEPROM - and this needs to be generated by you (you probably don't want to use a key and a password set by me!).

You'll need python 2.7 (with the pycrypto package installed). {Haven't tried python 3 yet.} All instructions are to be executed in a terminal window.

Installation / flashing

  1. Generate enstix.eep file (with your hashed password and encrypted AES key):

       ./generate-eep.py
    

    Note that the script accepts -h parameter which lists the basic usage.

  2. Put your stick into bootloader mode: hold the E0 button during power-up or reset of the stick. It should enumerate as DFU ATXMEGA128A4U. Note that you might need ATMEL's DFU driver on Windows (it comes with ATMEL's FLIP utility).

  3. Flash the firmware. On linux/Mac OS X, you can (and should) use dfu-programmer to do this; on Windows you can use FLIP.

       dfu-programmer atxmega128a4u erase
       dfu-programmer atxmega128a4u flash --eeprom enstix.eep
       dfu-programmer atxmega128a4u flash enstix-x128a4u-{VERSION}.hex
       dfu-programmer atxmega128a4u reset
    

    Note that you'll need to flash the eeprom file every time (even if you just want to update firmware), because the DFU bootloader erases both flash and eeprom. Also, you need to do it in this order (first eeprom, then flash).

That's it, enjoy!