mycelium-com / wallet-android

Mycelium Bitcoin Wallet for Android
http://mycelium.com
Other
668 stars 323 forks source link

Trezor T - import accounts - crash every time #475

Closed Perlover closed 5 years ago

Perlover commented 6 years ago

If i try to add accounts of Trezor T - i get crash

To reproduce:

  1. Tab "Accounts" -> "+" (right up corner) -> Advanced button -> Trezor button
  2. Then connect Trezor T -> enter there PIN -> Host button in Trezor T (passphrase enabled there)
  3. After i see password dialog in Mycelium
  4. I enter there any passphrase
  5. Crash

Tested in Galaxy S8 and Galaxy Tab S3

I sent report from Android but i don't hope that crash will be viewed (i did it many times and nothing result in Mycelium updates)

Please for @slush0 too ;)

slush0 commented 6 years ago

Hi @Perlover, afaik Mycelium cannot handle passphrase workflow in Model T yet. We had to change low-level protocol as the workflow is slightly different (you may enter passphrase on device or in legacy way over computer).

This is, however, the only incompatibility we're aware of. Guys at Mycelium should have at least one device to test, and we're ready to help! If there'll be any question, I'll reach out our devs.

slush0 commented 6 years ago

Generally, Trezor now sends PassphraseStateRequest message and expects PassphraseStateAck response on it.

Messages are defined here: https://github.com/trezor/trezor-common/blob/master/protob/messages-common.proto#L120

The reasoning of this change is that host is informed about device state change even when the passphrase entry has been done on-device. In Mycelium case, just ignoring the state and answering with empty PassphraseStateAck() is enough, as implemented here: https://github.com/trezor/python-trezor/blob/master/trezorlib/client.py#L420

alteragent commented 6 years ago

Hello, @slush0. Could you ping me via cto@mycelium.com?

sergeylappo commented 5 years ago

Fixed in SegWit release, rolled out to beta. Closing.