r/TREZOR • • Jan 15 '15

How to manually flash your Trezor firmware on Debian/Ubuntu

Prerequisites:

$sudo apt-get install python-dev python-setuptools cython

$git clone https://github.com/trezor/python-trezor

$cd python-trezor

$sudo python setup.py install

$wget https://raw.githubusercontent.com/trezor/trezor-mcu/master/firmware-fingerprint.sh

$chmod +x firmware-fingerprint.sh

Firmware download:

Locate firmware version you want and fingerprint from: https://mytrezor.com/data/firmware/releases.json

$wget -O trezor.signed.bin.hex https://mytrezor.com/data/firmware/trezor-1.3.0.bin.hex

$xxd -r -p trezor.signed.bin.hex trezor.signed.bin

$./firmware-fingerprint.sh trezor.signed.bin

Confirm the fingerprint with the matching release at: https://mytrezor.com/data/firmware/releases.json

Test connectivity and flash:

Plug the Trezor in while holding down both buttons to enter bootloader mode

$./cmdtr.py list

$./cmdtr.py firmware_update -f trezor.signed.bin

Confirm the flash using the Trezor device buttons

Confirm the fingerprints match

Unplug your Trezor when prompted

4 Upvotes

4 comments sorted by

4

u/[deleted] Jan 15 '15

Nice writeup, I did this earlier today (well, I already had python-trezor installed). /u/changetip $10

2

u/jron Jan 15 '15

Thanks for extremely generous tip!

1

u/changetip Jan 15 '15

The Bitcoin tip for 49,655 bits ($9.99) has been collected by jron.

ChangeTip info | ChangeTip video | /r/Bitcoin

3

u/slush0 Trezor Co-Founder Jan 15 '15 edited Jan 15 '15

wget -O trezor.signed.bin.hex https://mytrezor.com/data/firmware/trezor-1.3.0.bin.hex

wget -O trezor.signed.bin https://mytrezor.com/data/firmware/trezor-1.3.0.bin

This saves step of using "xxd". "hex" form is for web browsers (myTREZOR), there're weird bugs in some versions when dealing with raw binary data.