Electron-cash: Cannot use Ledger Nano X on macOS Catalina

Created on 25 Mar 2020  路  4Comments  路  Source: Electron-Cash/Electron-Cash

For some reason, on macOS I get the following error on EC, but it does not happen on EC SLP.

Traceback (most recent call last):
  File "/var/folders/vn/dm0jswh13lbd53p7p1ycbkbm0000gn/T/_MEIJ1taEv/electroncash_plugins/hw_wallet/qt.py", line 225, in run
    result = task.task()
  File "/var/folders/vn/dm0jswh13lbd53p7p1ycbkbm0000gn/T/_MEIJ1taEv/electroncash_plugins/ledger/ledger.py", line 611, in get_client
    client = devmgr.client_for_keystore(self, handler, keystore, force_pair)
  File "Electron_Cash-4.0.13-py3.6.egg/electroncash/plugins.py", line 877, in client_for_keystore
  File "Electron_Cash-4.0.13-py3.6.egg/electroncash/plugins.py", line 946, in select_device
  File "Electron_Cash-4.0.13-py3.6.egg/electroncash/plugins.py", line 935, in unpaired_device_infos
  File "Electron_Cash-4.0.13-py3.6.egg/electroncash/plugins.py", line 811, in create_client
  File "/var/folders/vn/dm0jswh13lbd53p7p1ycbkbm0000gn/T/_MEIJ1taEv/electroncash_plugins/ledger/ledger.py", line 581, in create_client
    client = self.get_btchip_device(device)
  File "/var/folders/vn/dm0jswh13lbd53p7p1ycbkbm0000gn/T/_MEIJ1taEv/electroncash_plugins/ledger/ledger.py", line 574, in get_btchip_device
    dev.open_path(device.path)
  File "hid.pyx", line 72, in hid.device.open_path
OSError: open failed
bug hardware wallets macOS

Most helpful comment

All 4 comments

Oh snap it's happening for me too on Mojave if I used the build app. Running from source is fine though. Also running the -elcapitan.dmg version works FINE!!

We built the new one with "hardened runtime" which is required now to notarize apps on Catalina.

I am pretty sure that's what broke it, TBH. EC 4.0.12 (not built this way) was working fine. God damn Apple.

It's 100% the stupid hardened runtime requirement. I have to figure out how to fix it.

The reason Electrum works is I don't think they built with hardened runtime because they haven't had to do so since that requirement is very new (like 1.5 months old).

I'll see if they in fact did build with hardened runtime and found a workaround.

God damn Apple.

I figured it out. I needed to enable an additional "entitlement" when codesigning. See this:

https://github.com/electron-userland/electron-builder/issues/4264

I am testing it now.. if it works I'll push a commit and ask Jonald to update the release binary with this fix.

Fixed in this commit: 5abec73eee0cdeb725e3c5a989621ec4ccfb92a0

Note I'm building 4.0.14.1 and asking Jonald to hopefully put it up on the website ASAP.

Was this page helpful?
0 / 5 - 0 ratings