Open
Description
Commands to reproduce the problem.
$./hwi enumerate
[{"type": "trezor", "path": "webusb:001:3", "label": "My Trezor", "model": "trezor_1", "needs_pin_sent": true, "needs_passphrase_sent": true, "error": "Could not open client or get fingerprint information: Trezor is locked. Unlock by using 'promptpin' and then 'sendpin'.", "code": -12}]
$./hwi --device-type trezor promptpin
Use 'sendpin' to provide the number positions for the PIN as displayed on your device's screen
Use the numeric keypad to describe number positions. The layout is:
7 8 9
4 5 6
1 2 3
{"success": true}
When this command runs, the device shows the keypad in a randomzied order, for example:
2 3 5
6 7 1
9 4 8
Say my pin is "1111", I believe I have to send the pin "9999" (real pin mapped to the randomized keypad).
$./hwi --device-type trezor sendpin 9999
This command hangs in the TrezorLib interruptRead command here:
Any ideas what I am doing wrong with respect to the Trezor state machine protocol? Is there some other order in which promptpin and sendpin have to be used?