udev rules to support Ledger devices on Linux
ledgerhq / udev-rules Goto Github PK
View Code? Open in Web Editor NEWudev rules to support Ledger devices on Linux
License: Apache License 2.0
udev rules to support Ledger devices on Linux
License: Apache License 2.0
My user is also apart of the plugdev group, but no love. Eg attempting to connect my trezor at https://adalite.io/ does not recognize the device after I put my pin in.
after script executed - Ledger S still doesn't work
Version 112.0.5615.121 (Official Build) Fedora Project (64-bit)
se 2.1.0 mc 1.12 bl 0.11
I have submitted a PR to Ubuntu's snap repository, to add support for the Nano S Plus (as FireFox is now run as a snap package as of Ubuntu 22.X). They are looking for clarification on the comment in the current udev rules, where the Nano S Plus pci-id is listed under the comment "Ledger Test"...
PR in Ubuntu's snap Repository:
canonical/snapd#12313
PR Review Comment Seeking Clarification:
canonical/snapd#12313 (comment)
udev Rules To Clarify:
https://github.com/LedgerHQ/udev-rules/blob/master/add_udev_rules.sh#L15
I have tested Ledger firmware 1.5.5 and 1.6 in combination with Tezos Wallet 2.2.1 and 2.2.0 and I was not able to communicate with the ledger through the Tezos CLI.
./tezos-client list connected ledgers
Using the old script and adding the user to the group "plugdev" on the other hand does work in the above mentioned constallations.
hello~
I created an Avalanche subnet in Ubuntu, or used Ledger nano x to sign if I needed to sign.
Recently, I updated Ledger Live and Firmware to the latest version.
It worked before the update.
Ledger nano x does not work after update
The error details are:
LedgerHID device (idx 0) not found. Ledger LOCKED OR Other Program/Web Browser may have control of device.
Ubuntu Version : 20.04
avalanche CLI version : v1.6.3
App Version
Ledger Live : 2.84.0
avalanche app in Ledger : v0.8.3
Firmware version
Secure Elemnt : 2.2.4
Microcontroller : 2.30
Bootloader : 1.16
udev rules
Nano X
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="0004|4000|4001|4002|4003|4004|4005|4006|4007|4008|4009|400a|400b|400c|400d|400e|400f|4010|4011|4012|4013|4014|4015|4016|4017|4018|4019|401a|401b|401c|401d|401e|401f", TAG+="uaccess", GROUP="plugdev", MODE="0660"
or
I applied 20-hw1.rules posted on github, but it doesn't work.
I also reloaded the rules using
sudo udevadm control --reload-rules
sudo udevadm trigger
I see that new rules published to add_udev_rules.sh
, but 20-hw1.rules
didn't updated
Terra Station does not find any Ledger device whereas Manajaro correctly find the Ledger device with lsusb
command.
Manjaro version is Pahvo 21.1.4
Browser is Brave 1.31.87 Chromium: 95.0.4638.54 64 bit
Added ledger-live
and ledger-udev
from aur, launched this repo sh but could not fix the issue.
I can't seem to get my S+ to connect, I think these rules need updating to support it?
I've recently upgraded to Ubuntu 22.04 (Jammy), and none of my Nanos work anymore: S, S Plus, X.
Is this a known issue? Is there anything I can help to debug this?
I am developing an app for the Ledger Nano S and our build environment runs inside a VM based on fix/ledger-vagrant (An Ubuntu 16.04 VM that automatically provisions the the BOLOS SDK, ledgerblue, compiler ABI's, etc.)
Recently, I found I was unable to deploy new VM's and connect to Nano from inside the VM. It's not a failure of USB mapping into the VM, because the Nano will show up with lsusb
. The IOError occurs, e.g., when attempting to load the compiled app onto the device with make load
. (Error logs at end of issue.)
I was able to trace the source of the issue to changes in LedgerHQ/udev-rules. In particular, if I revert to an earlier version of the rules (5/3/2018) by running the following inside the VM:
wget -q -O - https://raw.githubusercontent.com/LedgerHQ/udev-rules/20cc1651eb551c4855aaa56628c77eaeb3031c22/add_udev_rules.sh | sudo bash
Then the problem is resolved.
However, because of the discussion here, I am unsure as to whether this is a case of "the new rules are broken" or whether there is some change I need to make in my dev environment and setup documentation to be able to deploy working VMs. I am hoping for advice from the community here.
Error log from make load
follows:
$ make load
TARGET_NAME=TARGET_NANOS TARGET_ID=0x31100003
BOLOS_ENV=/opt/bolos
python -m ledgerblue.loadApp --appFlags 0x40 --path "48'/1'" --curve secp256k1 --tlv --targetId 0x31100003 --delete --fileName bin/app.hex --appName BitShares --appVersion 0.0.1 --dataSize `cat debug/app.map |grep _nvram_data_size | tr -s ' ' | cut -f2 -d' '` `ICONHEX=\`python /opt/bolos/nanos-secure-sdk/icon.py nanos_app_bts.gif hexbitmaponly 2>/dev/null\` ; [ ! -z "$ICONHEX" ] && echo "--icon $ICONHEX"`
Generated random root public key : 04f1d3e4bdb98addf9f92b257c0fb08e80f51fccb4c3b48fddbf2839344a13af42bc43351699f9b8dc43fbee64fabf60065c83dd8e13ee80750c1999dbf6a2cd57
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 162, 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 "/usr/local/lib/python2.7/dist-packages/ledgerblue/loadApp.py", line 171, in <module>
dongle = getDongle(args.apdu)
File "/usr/local/lib/python2.7/dist-packages/ledgerblue/comm.py", line 212, in getDongle
dev.open_path(hidDevicePath)
File "hid.pyx", line 72, in hid.device.open_path
IOError: open failed
make: *** [load] Error 1
:: (1/1) Parsing SRCINFO: ledger-udev
==> Making package: ledger-udev 1-6 (Wed 15 Sep 2021 12:21:12 AM EDT)
==> Retrieving sources...
-> Found 20-hw1.rules
==> Validating source files with sha256sums...
20-hw1.rules ... FAILED
==> ERROR: One or more files did not pass the validity check!
error downloading sources: ledger-udev
node version 8.1
baking app 2.2
ledger 1.5
./tezos-client list connected ledgers
show nothing
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.