Walletwasabi: Incompatability with Trezor One latest firmware

Created on 16 Jan 2020  Â·  6Comments  Â·  Source: zkSNACKs/WalletWasabi

General Description

A user reports some issues with Trezor One, although the initial problem of missing change coin was fixed by increasing the gap limit, he also reports that the latest firmware version of Trezor One does not work with Wasabi 1.1.10.2. He even re-installed the udev-rules, Trezor bridge and Ubuntu OS. However, with Trezor One v11.1.7 it does work with Wasabi.

I'm not sure what exactly is wrong here, and I cannot try to reproduce. Does anyone have a Trezor One and can check?

debug

Most helpful comment

Hey guys, it’s me, the user.
Story goes as follows:
I have a Trezor One and I was running it with the “bitcoin only” firmware, in case it matters.
On Christmas I was topping up some Christmas cards with 100k sat each. This type. I made them at work where I have a printer and I had to use the Windows PC there to open two instances of Wasabi side by side. One with the hardware wallet and one with the new wallet the seed of which I write in the card to gift. Idk if they could’ve crosstalked or something hah.

At home I run Ubuntu 18.04.3 and my Trezor used to work with Wasabi 1.1.7 but after I updated to 1.1.10 it stopped working. I type the PIN and I get an error. I checked the udev rules, all good, I reinstalled Trezor bridge, nothing helped. I made a clean Ubuntu 18.04.3 installation on a spare SSD I had, set up udev rules and installed Trezor bridge and Wasabi on it and it still didn’t work. I removed 1.1.10 and installed 1.1.7 and it worked. That’s a separate issue.

I tried to connect the Trezor to the Windows PC at work with Wasabi 1.1.10 and it didn’t work so I did what I had to do at home, downloaded 1.1.7 from GitHub and it worked.

I opened side by side two instances, one with the hardware wallet and one in which I generate new wallet for the Christmas card. I topped up 5 cards in total with 100k sats each. The first 4 worked fine. After tipping up the 5th one the instance connected to my hardware wallet showed 0 balance. I thought that the node that my Wasabi is connected to is maybe lagging or something so I didn’t worry and closed the wallet.

~20ish days later I had to use my Trezor again to send some bitcoin to a friend and when I connected it to their Ubuntu system with the latest version of Wasabi it didn’t work again, so I got the 11.1.7 as I’m trained to do it connected but showed 0 balance.

I freaked out.
I was away from home, didn’t have my seed with me. I got the zpub of the hardware wallet from Wasabi and imported it in my mobile BlueWallet. It was loading only a few very old transactions and giving me an error when I pull down to refresh. First sign there was some discrepancy between the zpub and the actual addresses the wallet was using.
I imported the zpub in Electrum wallet as well as watch only. It was showing 4 of the 5 Christmas card transactions. In electrum when you click on a transaction in the history tab it shows the change outputs as yellow. On transaction for card 3 the change was white, electrum thought this address does not belong to this key and I’m sure it did because I successfully made a spending transaction from the change of card 4 to top up card 5 using Wasabi. Electrum was not showing the transaction to card 5 in history because it wasn’t recognising the output of 4 as it’s own.

I updated the Trezor firmware to the latest version. Tried everything again but got the same results.

I cried on Twitter.
6102bitcoin told me to
“ Locate "MinGapLimit": 21, change it to "MinGapLimit": 100, and save the file.”
I did it and the change of card 4 showed up in Wasabi as unspent. It is spent. I spent it to top up the last card, the 5th one. I closed and reopened Wasabi but it was still there. I deleted the .wasabi folder, connected the hardware wallet, while it was downloading block filters I disconnected it, edited the Trezor0.json from 21 to 100 again, reconnected and then after sync was complete the change of the card 5 showed up as unspent and the full transaction history displayed was correct.
I emptied the Trezor.

I am willing to provide the zpub and even the seed of the empty Trezor in personal message to anyone from the Trezor or Wasabi team that thinks it could be helpful in reproducing the bug.

Thank you guys for your help.
Cheers.
DK

All 6 comments

@yahiheb you are into GapLimits do you have a theory?

Hey guys, it’s me, the user.
Story goes as follows:
I have a Trezor One and I was running it with the “bitcoin only” firmware, in case it matters.
On Christmas I was topping up some Christmas cards with 100k sat each. This type. I made them at work where I have a printer and I had to use the Windows PC there to open two instances of Wasabi side by side. One with the hardware wallet and one with the new wallet the seed of which I write in the card to gift. Idk if they could’ve crosstalked or something hah.

At home I run Ubuntu 18.04.3 and my Trezor used to work with Wasabi 1.1.7 but after I updated to 1.1.10 it stopped working. I type the PIN and I get an error. I checked the udev rules, all good, I reinstalled Trezor bridge, nothing helped. I made a clean Ubuntu 18.04.3 installation on a spare SSD I had, set up udev rules and installed Trezor bridge and Wasabi on it and it still didn’t work. I removed 1.1.10 and installed 1.1.7 and it worked. That’s a separate issue.

I tried to connect the Trezor to the Windows PC at work with Wasabi 1.1.10 and it didn’t work so I did what I had to do at home, downloaded 1.1.7 from GitHub and it worked.

I opened side by side two instances, one with the hardware wallet and one in which I generate new wallet for the Christmas card. I topped up 5 cards in total with 100k sats each. The first 4 worked fine. After tipping up the 5th one the instance connected to my hardware wallet showed 0 balance. I thought that the node that my Wasabi is connected to is maybe lagging or something so I didn’t worry and closed the wallet.

~20ish days later I had to use my Trezor again to send some bitcoin to a friend and when I connected it to their Ubuntu system with the latest version of Wasabi it didn’t work again, so I got the 11.1.7 as I’m trained to do it connected but showed 0 balance.

I freaked out.
I was away from home, didn’t have my seed with me. I got the zpub of the hardware wallet from Wasabi and imported it in my mobile BlueWallet. It was loading only a few very old transactions and giving me an error when I pull down to refresh. First sign there was some discrepancy between the zpub and the actual addresses the wallet was using.
I imported the zpub in Electrum wallet as well as watch only. It was showing 4 of the 5 Christmas card transactions. In electrum when you click on a transaction in the history tab it shows the change outputs as yellow. On transaction for card 3 the change was white, electrum thought this address does not belong to this key and I’m sure it did because I successfully made a spending transaction from the change of card 4 to top up card 5 using Wasabi. Electrum was not showing the transaction to card 5 in history because it wasn’t recognising the output of 4 as it’s own.

I updated the Trezor firmware to the latest version. Tried everything again but got the same results.

I cried on Twitter.
6102bitcoin told me to
“ Locate "MinGapLimit": 21, change it to "MinGapLimit": 100, and save the file.”
I did it and the change of card 4 showed up in Wasabi as unspent. It is spent. I spent it to top up the last card, the 5th one. I closed and reopened Wasabi but it was still there. I deleted the .wasabi folder, connected the hardware wallet, while it was downloading block filters I disconnected it, edited the Trezor0.json from 21 to 100 again, reconnected and then after sync was complete the change of the card 5 showed up as unspent and the full transaction history displayed was correct.
I emptied the Trezor.

I am willing to provide the zpub and even the seed of the empty Trezor in personal message to anyone from the Trezor or Wasabi team that thinks it could be helpful in reproducing the bug.

Thank you guys for your help.
Cheers.
DK

@molnard I think only you have Trezor One, right?

@yahiheb you are into GapLimits do you have a theory?

Sorry I do not.

In Electrum you might need to change both the change_gap_limit and the gap_limit_for_change.
Open Electrum's Console and type the following commands:

wallet.change_gap_limit(100)
wallet.gap_limit_for_change = 100
wallet.synchronize()

https://docs.wasabiwallet.io/using-wasabi/RestoreElectrum.html

I have a device but how to reproduce this? @lontivero you might have some useful tips?

closing, Trezor One not officially supported.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

yahiheb picture yahiheb  Â·  3Comments

nopara73 picture nopara73  Â·  3Comments

MaxHillebrand picture MaxHillebrand  Â·  3Comments

2pac1 picture 2pac1  Â·  3Comments

gabridome picture gabridome  Â·  3Comments