LedgerHQ / app-monero

Monero wallet application for Ledger Nano S & X
Apache License 2.0
273 stars 101 forks source link

Can't read Monero Elect keywords with "online mode" #105

Open lpiechowiak opened 2 years ago

lpiechowiak commented 2 years ago

Hello. I have issue than I can't resolve from a long time. I have Ledger Nano X, newest firmware, everything installed as you describe in instruction, but I can't read election words in online mode. Device is bricked after this command. Only disconnect from usb-c make it alive again MacOS Catalina 10.15.7 (below you have similar error to some Live Linux distro) Here is the log:

$ PYTHONPATH=pwd/src python3 -m ledger.monero.seedconv.py online

============================================================= Monero Seed Converter v0.9. Copyright (c) Ledger SAS 20018. Licensed under the Apache License, Version 2.0


And after this my Ledger is turning off and that's all folks. Any hints? Any suggestions?

Is there any possiblity to publish binary for all ledger+monero users or it isn't so easy as I think?

Best regards. Luke

P.S. I've also checked on some Linux Live distros, similar error + one extra error "no dongle found"

PYTHONPATH=pwd/src python3 -m ledger.monero.seedconv.py online

============================================================= Monero Seed Converter v0.9. Copyright (c) Ledger SAS 20018. Licensed under the Apache License, Version 2.0

============================================================= Monero Seed Converter v0.9. Copyright (c) Ledger SAS 20018. Licensed under the Apache License, Version 2.0

BTW. After this operation - Dongle is bricked and doesn't response to any key, only when I disconnect device it works back

logicalup commented 2 years ago

Was able to replicate the same exact behavior/bug with Python 3.9.7, MacOs Monterey 12.4, and ledger nano x with firmware 2.0.2 and monero app version 1.78:

app-monero/tools/python (master) » PYTHONPATH=`pwd`/src  python3 -m ledger.monero.seedconv.py online                                                                             1 ↵ jack@Algo-Smith-MBP

=============================================================
Monero Seed Converter v0.9. Copyright (c) Ledger SAS 20018.
Licensed under the Apache License, Version 2.0
=============================================================

* Select Language
   2 : English (English)
   3 : Esperanto (Esperanto)
   4 : Français (French)
   5 : Italiano (Italian)
   7 : Lobjan (Lobjan)
   8 : Português (Portuguese)
Enter the number corresponding to the language of your choice (2): 
Open device...
Erase old key words...
Traceback (most recent call last):
  File "/Users/jack/.asdf/installs/python/3.9.7/lib/python3.9/runpy.py", line 188, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/Users/jack/.asdf/installs/python/3.9.7/lib/python3.9/runpy.py", line 111, in _get_module_details
    __import__(pkg_name)
  File "/Users/jack/projects/app-monero/tools/python/src/ledger/monero/seedconv.py", line 356, in <module>
    get_online_seed(retrieve_language(True))
  File "/Users/jack/projects/app-monero/tools/python/src/ledger/monero/seedconv.py", line 303, in get_online_seed
    send_dict_chunk(dongle,lang['prefix_length'], chunk, start, cnt)
  File "/Users/jack/projects/app-monero/tools/python/src/ledger/monero/seedconv.py", line 276, in send_dict_chunk
    dongle.exchange(apdu)
  File "/Users/jack/.asdf/installs/python/3.9.7/lib/python3.9/site-packages/ledgerblue/comm.py", line 93, in exchange
    result = self.waitImpl.waitFirstResponse(timeout)
  File "/Users/jack/.asdf/installs/python/3.9.7/lib/python3.9/site-packages/ledgerblue/comm.py", line 152, in waitFirstResponse
    data = self.device.read(65)
  File "hid.pyx", line 219, in hid.device.read
OSError: read error
Load dictionnary...............................................................................................%
logicalup commented 2 years ago

this is duplicate of #104 but I wish 104 had better title