Using TestNet and a LedgerNanoS (latest firmware 1.6.0) I was unable to get WasabiWallet to sign with my hardware wallet.
The transaction did show up on my Ledger NanoS to sign, which I did verify and approve, but only after the error message occured.

Windows 10
Version 10.0.18363 Build 18363
2020-07-14 19:10:17 INFO TransactionFactory (108) Calculating dynamic transaction fee...
2020-07-14 19:10:17 INFO TransactionFactory (176) Fee: 314 Satoshi.
2020-07-14 19:10:17 INFO TransactionFactory (179) Estimated tx size: 314 vBytes.
2020-07-14 19:10:17 INFO TransactionFactory (219) Signing transaction...
2020-07-14 19:10:17 INFO TransactionFactory (307) Transaction is successfully built: 131887740981018c5c41ed23d7e408fe636bd08653bdb34d54068efd4d2baf74.
2020-07-14 19:11:12 INFO WasabiSynchronizer (288) Downloaded filter for block 1780696.
2020-07-14 19:11:13 INFO MempoolService (117) Start cleaning out mempool...
2020-07-14 19:11:16 INFO MempoolService (127) 193 transactions were cleaned from mempool.
2020-07-14 19:13:17 ERROR SendControlViewModel (361) System.OperationCanceledException: 'hwi --testnet --fingerprint "myfingerprint" --stdin signtx' operation is canceled.
---> System.Threading.Tasks.TaskCanceledException: Waiting for process exiting was canceled.
---> System.OperationCanceledException: The operation was canceled.
at System.Threading.Tasks.TaskExtensions.WithAwaitCancellationAsyncT
at WalletWasabi.Hwi.HwiClient.SendCommandAsync(IEnumerable1 options, Nullable1 command, String commandArguments, Boolean openConsole, CancellationToken cancel, Boolean isRecursion, Action1 standardInputWriter) --- End of inner exception stack trace --- at WalletWasabi.Hwi.HwiClient.SendCommandAsync(IEnumerable1 options, Nullable1 command, String commandArguments, Boolean openConsole, CancellationToken cancel, Boolean isRecursion, Action1 standardInputWriter)
at WalletWasabi.Hwi.HwiClient.SignTxImplAsync(Nullable1 deviceType, String devicePath, Nullable1 fingerprint, PSBT psbt, CancellationToken cancel)
at WalletWasabi.Hwi.HwiClient.SignTxAsync(HDFingerprint fingerprint, PSBT psbt, CancellationToken cancel)
at WalletWasabi.Gui.Controls.WalletExplorer.SendTabViewModel.BuildTransaction(String password, PaymentIntent payments, FeeStrategy feeStrategy, Boolean allowUnconfirmed, IEnumerable`1 allowedInputs)
at WalletWasabi.Gui.Controls.WalletExplorer.SendControlViewModel.<.ctor>b__28_29()
Release candidate 1.1.12
I can't reproduce with my Ledger but today I saw that error many times while I was testing Trezor devices.
@RiccardoMasutti Could be a similar issue? Perhaps related with the HWI interface?
@RiccardoMasutti Could be a similar issue? Perhaps related with the HWI interface?
I think it's normal behaviour when something goes wrong with the communication between wasabi and the device, it also happened to me multiple times.
I'm still investigating
2020-07-14 19:46:09 ERROR ConnectHardwareWalletViewModel (140) System.Threading.Tasks.TaskCanceledException: A task was canceled.
Looks like loading/detecting the NanoLedgerS in Wallet Manager also has issues, task cancelled instead of identifying the hardware device.
https://giphy.com/gifs/d5qhkH7YQdsFC6RWPz
Can't upload video above 10MB, included a short clip of the signing of the test txs on the NanoS that did not get recognized by WasabiWallet afterwards.
I'm pretty sure that this error appears when the device is busy.
For example, this appears if I try to display an address to the Trezor and sign a transaction at the same time:

(Even though mine and your error are different, I believe the principle and cause are the same)
so many hww issues...
2 points
so many hww issues...
2 points
Do I have to open an issue for my specific error? Today I found 2 other different ones, they change according to the operations I perform.
However, they are probably all related to the reason I mentioned above.
yes, I think there's a fundamental fuckup with hardware wallets in wasabi right now... I think the issues are alright as they are now, and it will be recognized in the contribution game adequately.
Thanks for testing y'all!
Probably this is just because of larger PSBT and slower processing and we need to increase the timeout.
HWI signtx is never returning and our timeout is 3 minutes, because we want to let the user have some time to review and and ACK or NACK the transaction.
On another note, this is somewhat silly. One should be logged into the Bitcoin app on Ledger before he send a transaction. I don't know if HWI or Ledger itself doesn't reply, but @achow101, @gre, @charlesledger if you think it's worth looking into, can you make sure that when signtx request goes to Ledger and the user isn't logged into the Bitcoin app on the device then an insta error comes back?
I'm closing this as this is outside of Wasabi's control.
Most helpful comment
HWI
signtxis never returning and our timeout is 3 minutes, because we want to let the user have some time to review and and ACK or NACK the transaction.On another note, this is somewhat silly. One should be logged into the Bitcoin app on Ledger before he send a transaction. I don't know if HWI or Ledger itself doesn't reply, but @achow101, @gre, @charlesledger if you think it's worth looking into, can you make sure that when
signtxrequest goes to Ledger and the user isn't logged into the Bitcoin app on the device then an insta error comes back?I'm closing this as this is outside of Wasabi's control.