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

USB connection fails on Windows 7 #23

Closed
1 task done
psiemens opened this issue Nov 20, 2020 · 6 comments
Closed
1 task done

USB connection fails on Windows 7 #23

psiemens opened this issue Nov 20, 2020 · 6 comments
Assignees
Labels
bug Something isn't working

Comments

@psiemens
Copy link
Contributor

Several users have reported issues when attempting to connect to their Ledger device through Flow Port.

Details

  • Device specs:
    • Nano S over USB
    • Google Chrome
    • Windows 7 64-bit
  • User reports being able to use the same Nano S device in MetaMask
  • Disabling MetaMask does not fix the problem
  • Closing Ledger Live does not fix the problem

Reproduction Steps

  1. Navigate to the Flow Port login page and select Ledger
  2. After Ledger popup opens, click "Connect"
  3. Chrome should display the USB device dropdown
  4. "Nano S" appears briefly in the dropdown but then disappears from the list, showing "No compatible devices"
  5. Close the dropdown by clicking outside of the dropdown. The page should say "Sorry, we couldn't connect to your Ledger."
  • I was able to reproduce on a Windows 7 64-bit machine with both Nano S and X
@psiemens psiemens self-assigned this Nov 20, 2020
@psiemens psiemens added the bug Something isn't working label Nov 20, 2020
@psiemens
Copy link
Contributor Author

I was able to reproduce this error on a Windows 7 machine.

The Port is configured to use Web USB to communicate with the Ledger. The official package notes known issues when connecting on Windows: https://github.com/LedgerHQ/ledgerjs/tree/master/packages/hw-transport-webusb#support-status

The page links to this issue, which describes a known driver issue on Windows that can be potentially fixed using the Zadig tool to install missing drivers. I tried the tool but wasn't able to fix the problem.

@psiemens
Copy link
Contributor Author

psiemens commented Nov 20, 2020

I looked at the MetaMask source code and found that it uses the (now legacy) U2F library to interface with Ledger devices. The U2F transport library appears to interchangeable with the current USB transport. I'm going to try swapping them out and see if that fixes this problem while still maintaining functionality on other systems.

@psiemens
Copy link
Contributor Author

U2F support must be enabled in the Ledger app itself. I was able to enable it on my development device and confirmed that U2F transport works on Windows 7. However, we'd like to avoid enabling U2F if possible due to the fact that it is now a deprecated, unstable API.

@jleni
Copy link
Contributor

jleni commented Nov 23, 2020

I strongly recommend avoiding U2F, it is not just deprecated. Ledger and us intentionally dropped support because of a large number of problems that it brings. Several other projects we support had a lot of trouble because of U2F suddenly breaking on Windows 10 May update, browser updates, etc. U2F was not designed for this purpose and it is there because if was the only alternative many years ago.

@jleni
Copy link
Contributor

jleni commented Nov 23, 2020

Last but not least, Windows 7 reached end of life too. Microsoft provides an upgrade path if necessary. Also, I would not recommend using a computer with an OS that does not receive adequate security updates if you are dealing with cryptocurrencies.

@sifmoon
Copy link

sifmoon commented Nov 30, 2020

Closing this as we are not going to do any additional effort here.

@sifmoon sifmoon closed this as completed Nov 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants