DO NOT UPGRADE YOUR FIRMWARE IF YOU DON'T HAVE YOUR RECOVERY SEEDS

I worked on a trezor firmware which supports XMR awhile back but stopped development around August last year. I want to "complete" the firmware soon and then release the source to github when it's somewhat stable. I'm releasing the binary since I need help testing the current version.

While there are user interaction limitations, the firmware is fully functional and can be used to sync accounts as well as transfer XMR from active accounts. Only simplewallet is supported at the moment and from my testing, windows is fairly stable while linux needs some work [FIXED].

The firmware is compatible with BTC and does not remove any functionality available in the official firmware. The source is upstream compatible and can be merged to the official source (if they want to). XMR uses the same seed as BTC so you can restore your old seed anytime and regain your old account.

There are important points to note:

The viewkey is sent to the client. A bad client could potentially store these keys and see all incoming transactions to your account, privacy is then compromised.

The client has no access to the sendkey and can only request the device to generate key images or sign transactions. Your funds are safe.

It takes about 40ms to generate each key image. For large wallets, re-sync is going to take a while, so keep the wallet bin files.

[FIXED] The send confirmation prompt is incomplete. It will be fixed in subsequent versions.

[FIXED] There is no reconnect/retry implemented in simplewallet at the moment.

Max mix level is 9

V0925: trezor_xmr_test_firmware_0925

Updated to trezor source v1.4.0

V0313: trezor_xmr_test_firmware_0313_win64

V0313: trezor_xmr_test_firmware_0313_linux64

V0313: trezor_xmr_test_firmware_0313_osx64

Fixed Bus: 10 error

V0311

Added reconnect handler when trezor is unplugged while simplewallet is active

Added tx_seckey storage support to firmware

Added support for 'address' simplewallet command

Fixed support for entering passwords when trezor is initialized/recovered with password protection enabled

V0306

Added binaries for linux-64 and osx-64

Fixed usb transport bug in linux/osx

Updated source to master b96147030cf06b7adacafebff196bc23a4b19199

Added trezorctl to wipe, reset, recover the trezor

Added trezorctl option to recover the monero mnemonic from the trezor seed given a specific address index

V0303

Added send prompts when transferring xmr with multi destination support.

Fix: added error handler when mixin level is > 9

Fix: added error handler when sending to > 10 addresses in a single transaction.

V0301

Test release

Upgrade instructions:

Disconnect the trezor from the USB cable. Press both buttons on the trezor then connect the USB cable. Run upload.bat. Wait until new firmware upload is completed. Verify firmware fingerprint (from fingerprint.txt) Disconnect then reconnect trezor to USB. Go to MyTrezor.com (using CHROME) and initialize your device. (You have the option to restore your SEED words if you want to keep using the trezor with your current BTC (etc.) account. Close CHROME. Otherwise, it will not release the trezor USB device and simplewallet will not find it. Run simplewallet.exe --hardware-wallet n (n can be any reasonable number eg. --hardware-wallet 0)

PIN Entering: https://github.com/trezor/python-trezor

47AYtJeNKJjYNZLj71nBW938mbFSFwq1x4qVcNhBmdfUjhaqiGN7wqpVjH419eLYPzHFeF3TgzY2fDivz5EyGBYUSbAXwed