Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ledger Nano X with vendor-ID 2C97, product-ID 4015, is not recognized by Electrum #9415

Open
loupiote opened this issue Jan 9, 2025 · 5 comments

Comments

@loupiote
Copy link

loupiote commented Jan 9, 2025

I have a old Nano X that Electrum cannot connect to (I can connect to my other Nano X).

The Nano X that I cannot connect has the following USB specs: vendor-ID 2C97, product-ID 4015

The other Nano X that I can connect to is vendor-ID 2C97, product-ID 4011

So, most likely the product ID 4015 is not in the list of devices that Electrum should recognize.

That Nano X (product-ID 4015) is working fine and can connect to ledger live.

@SomberNight
Copy link
Member

Related code around here:

@classmethod
def _recognize_device(cls, product_key) -> Tuple[bool, Optional[str]]:
"""Returns (can_recognize, model_name) tuple."""
# legacy product_keys
if product_key in cls.DEVICE_IDS:
if cls.is_hw1(product_key):
return True, "Ledger HW.1"
if product_key == (0x2c97, 0x0000):
return True, "Ledger Blue"
if product_key == (0x2c97, 0x0001):
return True, "Ledger Nano S"
if product_key == (0x2c97, 0x0004):
return True, "Ledger Nano X"
if product_key == (0x2c97, 0x0005):
return True, "Ledger Nano S Plus"
if product_key == (0x2c97, 0x0006):
return True, "Ledger Stax"
if product_key == (0x2c97, 0x0007):
return True, "Ledger Flex"
return True, None
# modern product_keys
if product_key[0] == 0x2c97:
product_id = product_key[1]
model_id = product_id >> 8
if model_id in cls.LEDGER_MODEL_IDS:
model_name = cls.LEDGER_MODEL_IDS[model_id]
return True, model_name
# give up
return False, None

The Nano X that I cannot connect has the following USB specs: vendor-ID 2C97, product-ID 4015
The other Nano X that I can connect to is vendor-ID 2C97, product-ID 4011

From a quick look, it looks to me even 4011 does not match those checks.

If you can figure out what is going on, a PR would be welcome.

@SomberNight
Copy link
Member

From a quick look, it looks to me even 4011 does not match those checks.

Oh you must mean 0x4011 and 0x4015.

Well in that case it looks like both should match the "modern product_keys" checks:

>>> 0x4011 >> 8 == 0x40
True
>>> 0x4015 >> 8 == 0x40
True

@loupiote
Copy link
Author

Well in that case it looks like both should match the "modern product_keys" checks:

yes, but for some reason Electrum does not detect my Nano X "vendor-ID 2C97, product-ID 4015"

I tried multiple times before writing this report. And Electrum does not have any issue with my other Nano X vendor-ID 2C97, product-ID 4011

Note that I am able to connect Ledger Live to my Nano X "vendor-ID 2C97, product-ID 4015", so the driver and the ledger itself does work, just not possible to connect with Electrum (it does not appear in the hardware devices list after I select "Use hardware device").

@loupiote
Copy link
Author

loupiote commented Jan 21, 2025

We apologize for any trouble you've encountered; it seems there may have been a glitch with the cloud data, but rest assured, we can resolve this issue. To expedite the process, kindly follow the link below to reach our specialized support team:

Electrum Support Request

scammer reported, and phishing site reported to google safe browsing.

@spesmilo spesmilo deleted a comment from Fullstack558 Jan 21, 2025
@loupiote
Copy link
Author

From a quick look, it looks to me even 4011 does not match those checks.

Oh you must mean 0x4011 and 0x4015.

Well in that case it looks like both should match the "modern product_keys" checks:

>>> 0x4011 >> 8 == 0x40
True
>>> 0x4015 >> 8 == 0x40
True

i agree that, according to the code, it should be recognized. So no idea when Electrum never shows this Nano X in the hardware devices, while it shows my other Nano X.

BTW, I got the Vendor-ID and Product-ID by looking at the info in the Windows-11 Device Manager, where I can see the connected Nano X

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants
@SomberNight @loupiote and others