Please login or register.

Experimental trezor firmware testing

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:

  1. Disconnect the trezor from the USB cable.
  2. Press both buttons on the trezor then connect the USB cable.
  3. Run upload.bat. Wait until new firmware upload is completed.
  4. Verify firmware fingerprint (from fingerprint.txt)
  5. Disconnect then reconnect trezor to USB.
  6. 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.
  7. Close CHROME. Otherwise, it will not release the trezor USB device and simplewallet will not find it.
  8. 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

Replies: 58
Reply to: NoodleDoodle ferretinjapan NoodleDoodle ferretinjapan
ferretinjapan posted 8 years ago Weight: 0 | Link [ - ]

Cool, I look forward to it.

wpalczynski edited 8 years ago Weight: 0 | Link [ - ]

I sent xmr to Trezor, sent from Trezor to Polo with ID and both transactions worked flawlessly using mixing of 2. Are there any particular things we should be focusing on to test this new Firmware? Which functionality is most likely buggy?

Great job NoodleDoodle, this is awesome!

  • using Windows 8.1
NoodleDoodle posted 8 years ago Weight: 0 | Link [ - ]

V0306 now up. Added binaries for linux/osx 64-bit.

dnaleor posted 8 years ago Weight: 0 | Link [ - ]

Testing on linux now :)

the trezor.bin wasn't in the linux map, so I copied the file from the windows map. Just FYI

Reply to: NoodleDoodle ferretinjapan NoodleDoodle ferretinjapan
wedgy2k posted 8 years ago Replies: 1 | Weight: 0 | Link [ - ]

I've only got the stoopid little MAC wireless keyboard :-( I'll nip off and dig my other one out

Reply to: wedgy2k NoodleDoodle ferretinjapan NoodleDoodle ferretinjapan
NoodleDoodle posted 8 years ago Replies: 1 | Weight: 0 | Link [ - ]

Use your imagination and lay out the normal num keys in a 3x3 matrix. :P

Reply to: NoodleDoodle wedgy2k NoodleDoodle ferretinjapan NoodleDoodle
wedgy2k posted 8 years ago Weight: 0 | Link [ - ]

LOL - you knew if it works for me it'll be fine for anyone.....

Works a treat, I plugged in old "BIG" Keyboard and have a hardware wallet address for XMR - thank you

I'm going to play with it via my remote RPi2 Node and send 1 or 2 back an forwards from / to Polo.

I'll even try and work out my 3x3 square..... :-D (Happy to do an idiots guide, by an idiot if you like?)

wedgy2k edited 8 years ago Weight: 0 | Link [ - ]

Brillaint NoodleDoodle - thank you

OSX 10.11.3 Trezor Clone - eWallet

Followed above instructions 1- 5

Accept non std firmaware and tick (this will come up a lot until final release)

initialise it on MyTrezor.com like as normal but set a password and write down 24 word seed!

to start with a remote node, my RPi2 :-D ,

./simplewallet --daemon-address 192.168.0.X:5012 --hardware-wallet 0

Enter password as set on MyTrezor website

Enter Pin as set on MyTrezor website

with Mini wireless keyboard, I cannot work out number positions so have plugged in an old clunky "shell key" MAC Keyboard #FAIL using the postions on the number pad (not the actual numbers...)_

refresh and wait / balance

Have successfully recieved 1 xmr on it

Have successfully sent 1 xmr from it

palexander posted 8 years ago Weight: 0 | Link [ - ]

Many thanks to NoodleDoodle for doing this. This makes using and storing XMR securely, a breeze.

NoodleDoodle edited 8 years ago Replies: 1 | Weight: 0 | Link [ - ]

V0311 now up. Please report bugs.

antanst posted 8 years ago Weight: 0 | Link [ - ]

Just tried V0311, on a pristine (BTC-only) Trezor. Tried flashing via the Chrome app, wallet open/close, refresh & sync, transfer and disconnect/reconnect the Trezor while in simplewallet.

Everything worked amazingly well. Thank you! (donated)

A humble suggestion: Please note in the instructions your suggestion to use the numeric keypad when entering the PIN. It's somewhat confusing for a first-timer.

antanst posted 8 years ago Weight: 0 | Link [ - ]

After a couple of transactions, the wallet is crashing. I consistently get a Bus error: 10 message right after opening the wallet, and simplewallet exits. Tell me if you need any more information on this.

Reply to: NoodleDoodle
ferretinjapan posted 8 years ago Replies: 1 | Weight: 0 | Link [ - ]

Great stuff! Not so much a bug right now, but I'm not sure how to extract the seed using trezorctl, in the syntax you specify a word_list argument, what do I put here? Also, not 100% sure, but it may be that v0301's simplewallet address and v0311's simplewallet address are totally different, I double checked I entered the seed I originally generated using the v0301 firmware, but when that same 24 word seed is restored onto the new firmware and loaded with the new version of simple wallet, it returns a completely new public address. I tried to use the v0301 simplewallet to confirm, but it crashes with the new firmware saying it is missing a field.

antanst posted 8 years ago Weight: 0 | Link [ - ]

I just noticed you fixed the bug before I could even respond. I can confirm it works fine. Thanks!