LedgerHQ / blue-loader-python

Python Loader for all Ledger devices

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Is Nano X supported

sipsorcery opened this issue · comments

Is there anything new required to use the scripts with a Ledger Nano X?

Running:
python -m ledgerblue.checkGenuine --targetId 0x33000004

Results in:

> python -m ledgerblue.checkGenuine --targetId 0x33000004
Traceback (most recent call last):
  File "C:\Python27\lib\runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "C:\Python27\lib\runpy.py", line 72, in _run_code
    exec code in run_globals
  File "C:\dev\ledger\blue-loader-python\ledgerblue\checkGenuine.py", line 140, in <module>
    secret = getDeployedSecretV2(dongle, bytearray.fromhex(args.rootPrivateKey), args.targetId, args.issuerKey)
  File "C:\dev\ledger\blue-loader-python\ledgerblue\checkGenuine.py", line 58, in getDeployedSecretV2
    dongle.exchange(apdu)
  File "ledgerblue\comm.py", line 135, in exchange
    raise CommException("Invalid status %04x (%s)" % (sw, possibleCause), sw, response)
ledgerblue.commException.CommException: Exception : Invalid status 69d5 (Unknown reason)

The same thing with a Ledger Nano S:

python -m ledgerblue.checkGenuine --targetId 0x31100004

Results in (I have loaded a custom CA so that message is expected):

> python -m ledgerblue.checkGenuine --targetId 0x31100004
WARNING : Product is genuine but has a Custom CA loaded
SE Version 1.5.5
MCU Version 1.7
MCU Hash 2013fe17e06cf2f710d33328aa46d1053f8fadd48dcaeca2c5512dd79e2158d5

i have met the same problems

how to resolve the problem

no one answer the questions?

Please use

python -m ledgerblue.checkGenuineRemote --targetId 0x33000004

instead using the latest tools release (0.1.25) - the documentation will be updated accordingly

I think this issue is not really solved.

The question is not just about checking whether the nano X is genuine or not. It is about using this python module with a nano X.

At this moment, with nano X, we have only managed to obtain the target id of the connected device and, now, check whether it is genuine or not. All common things such as setting up a CA or loading an application just do not work. In the best case scenario we get an Invalid status 69d5 (Unknown reason) message.

Unfortunately, this module seems largely untested with nano X, so I propose to reopen this issue and make this module work with nano X.

i am also having the same issue with the ledger nano x when attempting to load scripts using ledgerblue (on Ubuntu 18.04), i cant even check if its genuine.

python -m ledgerblue.checkGenuineRemote --targetId 0x33000004
Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/office/.local/lib/python2.7/site-packages/ledgerblue/checkGenuineRemote.py", line 107, in <module>
    raise Exception(result['data'] + " on " + result['uuid'] + "/" + result['session'])
Exception: Internal error on e2f243dd-0c88-4904-a5b3-baf752826da7/0bb6b319-eb66-4dc1-a3d4-0a04aa82e439

i should mention i have no issues loading scripts on the "ledger nano s".

thanks

@btchip can you reopen this issue please

@sipsorcery @bitcodernull @jordix i cant even check genuine on the ledger nano x, have any of you had luck?

the problem have not fixed now, i think

Same issue here.
Invalid status 69d5 (Unknown reason)

Log:

Traceback (most recent call last):
  File "/Users/milenradkov/opt/anaconda3/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/Users/milenradkov/opt/anaconda3/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/Users/milenradkov/opt/anaconda3/lib/python3.7/site-packages/ledgerblue/loadApp.py", line 202, in <module>
    secret = getDeployedSecretV2(dongle, bytearray.fromhex(args.rootPrivateKey), args.targetId)
  File "/Users/milenradkov/opt/anaconda3/lib/python3.7/site-packages/ledgerblue/deployed.py", line 115, in getDeployedSecretV2
    dongle.exchange(apdu)
  File "/Users/milenradkov/opt/anaconda3/lib/python3.7/site-packages/ledgerblue/comm.py", line 145, in exchange
    raise CommException("Invalid status %04x (%s)" % (sw, possibleCause), sw, response)
ledgerblue.commException.CommException: Exception : Invalid status 69d5 (Unknown reason)

Traceback (most recent call last):
File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/usr/local/lib/python3.6/dist-packages/ledgerblue/loadApp.py", line 204, in
secret = getDeployedSecretV2(dongle, bytearray.fromhex(args.rootPrivateKey), args.targetId)
File "/usr/local/lib/python3.6/dist-packages/ledgerblue/deployed.py", line 115, in getDeployedSecretV2
dongle.exchange(apdu)
File "/usr/local/lib/python3.6/dist-packages/ledgerblue/comm.py", line 145, in exchange
raise CommException("Invalid status %04x (%s)" % (sw, possibleCause), sw, response)
ledgerblue.commException.CommException: Exception : Invalid status 69d5 (Unknown reason)

Sorry about that, only special developer Nano X units are supported. You can debug your application with Speculos (https://github.com/LedgerHQ/speculos) as described on our Developer Portal (https://developers.ledger.com/)