diff options
Diffstat (limited to 'udev')
-rw-r--r-- | udev/70-u2f.rules | 192 | ||||
-rwxr-xr-x | udev/check.sh | 31 | ||||
-rw-r--r-- | udev/fidodevs | 110 | ||||
-rwxr-xr-x | udev/genrules.awk | 55 |
4 files changed, 342 insertions, 46 deletions
diff --git a/udev/70-u2f.rules b/udev/70-u2f.rules index 22b47c9..be02043 100644 --- a/udev/70-u2f.rules +++ b/udev/70-u2f.rules | |||
@@ -1,75 +1,175 @@ | |||
1 | # Copyright (c) 2018 Yubico AB. All rights reserved. | 1 | # Copyright (c) 2020 Yubico AB. All rights reserved. |
2 | # Use of this source code is governed by a BSD-style | 2 | # Use of this source code is governed by a BSD-style |
3 | # license that can be found in the LICENSE file. | 3 | # license that can be found in the LICENSE file. |
4 | 4 | ||
5 | # this udev file should be used with udev 188 and newer | 5 | # This file is automatically generated, and should |
6 | ACTION!="add|change", GOTO="u2f_end" | 6 | # be used with udev 188 or newer. |
7 | 7 | ||
8 | # Yubico YubiKey | 8 | ACTION!="add|change", GOTO="fido_end" |
9 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0113|0114|0115|0116|0120|0121|0200|0402|0403|0406|0407|0410", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
10 | 9 | ||
11 | # Happlink (formerly Plug-Up) Security KEY | 10 | # ellipticSecure MIRKey by STMicroelectronics |
12 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="f1d0", TAG+="uaccess", GROUP="plugdev", MODE="0660" | 11 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a2ac", TAG+="uaccess", GROUP="plugdev", MODE="0660" |
12 | |||
13 | # Unknown product by STMicroelectronics | ||
14 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a2ca", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
15 | |||
16 | # Unknown product by STMicroelectronics | ||
17 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="cdab", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
18 | |||
19 | # Infineon FIDO by Infineon Technologies | ||
20 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="058b", ATTRS{idProduct}=="022d", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
21 | |||
22 | # Kensington VeriMark by Synaptics Inc. | ||
23 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="06cb", ATTRS{idProduct}=="0088", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
24 | |||
25 | # FS ePass FIDO by Feitian Technologies Co., Ltd. | ||
26 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0850", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
27 | |||
28 | # Unknown product by Feitian Technologies Co., Ltd. | ||
29 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0852", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
30 | |||
31 | # Unknown product by Feitian Technologies Co., Ltd. | ||
32 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0853", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
33 | |||
34 | # Unknown product by Feitian Technologies Co., Ltd. | ||
35 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0854", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
36 | |||
37 | # Unknown product by Feitian Technologies Co., Ltd. | ||
38 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0856", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
39 | |||
40 | # Unknown product by Feitian Technologies Co., Ltd. | ||
41 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0858", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
42 | |||
43 | # FS MultiPass FIDO U2F by Feitian Technologies Co., Ltd. | ||
44 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="085a", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
13 | 45 | ||
14 | # Neowave Keydo and Keydo AES | 46 | # Unknown product by Feitian Technologies Co., Ltd. |
15 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1e0d", ATTRS{idProduct}=="f1d0|f1ae", TAG+="uaccess", GROUP="plugdev", MODE="0660" | 47 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="085b", TAG+="uaccess", GROUP="plugdev", MODE="0660" |
16 | 48 | ||
17 | # HyperSecu HyperFIDO | 49 | # Unknown product by Feitian Technologies Co., Ltd. |
18 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e|2ccf", ATTRS{idProduct}=="0880", TAG+="uaccess", GROUP="plugdev", MODE="0660" | 50 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="085d", TAG+="uaccess", GROUP="plugdev", MODE="0660" |
19 | 51 | ||
20 | # Feitian ePass FIDO, BioPass FIDO2 | 52 | # Hypersecu HyperFIDO by Feitian Technologies Co., Ltd. |
21 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0850|0852|0853|0854|0856|0858|085a|085b|085d", TAG+="uaccess", GROUP="plugdev", MODE="0660" | 53 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0880", TAG+="uaccess", GROUP="plugdev", MODE="0660" |
22 | 54 | ||
23 | # JaCarta U2F | 55 | # YubiKey NEO FIDO by Yubico AB |
24 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="24dc", ATTRS{idProduct}=="0101|0501", TAG+="uaccess", GROUP="plugdev", MODE="0660" | 56 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0113", TAG+="uaccess", GROUP="plugdev", MODE="0660" |
25 | 57 | ||
26 | # U2F Zero | 58 | # YubiKey NEO OTP+FIDO by Yubico AB |
59 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0114", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
60 | |||
61 | # YubiKey NEO FIDO+CCID by Yubico AB | ||
62 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0115", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
63 | |||
64 | # YubiKey NEO OTP+FIDO+CCID by Yubico AB | ||
65 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0116", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
66 | |||
67 | # Security Key by Yubico by Yubico AB | ||
68 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0120", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
69 | |||
70 | # Unknown product by Yubico AB | ||
71 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0121", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
72 | |||
73 | # Gnubby U2F by Yubico AB | ||
74 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0200", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
75 | |||
76 | # YubiKey 4 FIDO by Yubico AB | ||
77 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0402", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
78 | |||
79 | # YubiKey 4 OTP+FIDO by Yubico AB | ||
80 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0403", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
81 | |||
82 | # YubiKey 4 FIDO+CCID by Yubico AB | ||
83 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0406", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
84 | |||
85 | # YubiKey 4 OTP+FIDO+CCID by Yubico AB | ||
86 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0407", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
87 | |||
88 | # YubiKey Plus by Yubico AB | ||
89 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0410", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
90 | |||
91 | # U2F Zero by Silicon Laboratories, Inc. | ||
27 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="8acf", TAG+="uaccess", GROUP="plugdev", MODE="0660" | 92 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="8acf", TAG+="uaccess", GROUP="plugdev", MODE="0660" |
28 | 93 | ||
29 | # VASCO SecureClick | 94 | # SoloKeys SoloHacker by pid.codes |
95 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="5070", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
96 | |||
97 | # SoloKeys SoloBoot by pid.codes | ||
98 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="50b0", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
99 | |||
100 | # SatoshiLabs TREZOR by pid.codes | ||
101 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="53c1", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
102 | |||
103 | # Google Titan U2F by Google Inc. | ||
104 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="5026", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
105 | |||
106 | # VASCO SecureClick by VASCO Data Security NV | ||
30 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1a44", ATTRS{idProduct}=="00bb", TAG+="uaccess", GROUP="plugdev", MODE="0660" | 107 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1a44", ATTRS{idProduct}=="00bb", TAG+="uaccess", GROUP="plugdev", MODE="0660" |
31 | 108 | ||
32 | # Bluink Key | 109 | # OnlyKey (FIDO2/U2F) by OpenMoko, Inc. |
33 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2abe", ATTRS{idProduct}=="1002", TAG+="uaccess", GROUP="plugdev", MODE="0660" | 110 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="60fc", TAG+="uaccess", GROUP="plugdev", MODE="0660" |
111 | |||
112 | # Neowave Keydo AES by NEOWAVE | ||
113 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1e0d", ATTRS{idProduct}=="f1ae", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
34 | 114 | ||
35 | # Thetis Key | 115 | # Neowave Keydo by NEOWAVE |
116 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1e0d", ATTRS{idProduct}=="f1d0", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
117 | |||
118 | # Thethis Key by Shenzhen Excelsecu Data Technology Co., Ltd. | ||
36 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1ea8", ATTRS{idProduct}=="f025", TAG+="uaccess", GROUP="plugdev", MODE="0660" | 119 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1ea8", ATTRS{idProduct}=="f025", TAG+="uaccess", GROUP="plugdev", MODE="0660" |
37 | 120 | ||
38 | # Nitrokey FIDO U2F, Nitrokey FIDO2, Safetech SafeKey | 121 | # ExcelSecu FIDO2 Security Key by Shenzhen Excelsecu Data Technology Co., Ltd. |
39 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="4287|42b1|42b3", TAG+="uaccess", GROUP="plugdev", MODE="0660" | 122 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1ea8", ATTRS{idProduct}=="fc25", TAG+="uaccess", GROUP="plugdev", MODE="0660" |
40 | 123 | ||
41 | # Google Titan U2F | 124 | # GoTrust Idem Key by NXP Semiconductors |
42 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="5026", TAG+="uaccess", GROUP="plugdev", MODE="0660" | 125 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="f143", TAG+="uaccess", GROUP="plugdev", MODE="0660" |
43 | 126 | ||
44 | # Tomu board + chopstx U2F + SoloKeys | 127 | # Nitrokey FIDO U2F by Flirc |
45 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="cdab|a2ca", TAG+="uaccess", GROUP="plugdev", MODE="0660" | 128 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="4287", TAG+="uaccess", GROUP="plugdev", MODE="0660" |
46 | 129 | ||
47 | # SoloKeys | 130 | # Nitrokey FIDO2 by Flirc |
48 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="5070|50b0", TAG+="uaccess", GROUP="plugdev", MODE="0660" | 131 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="42b1", TAG+="uaccess", GROUP="plugdev", MODE="0660" |
49 | 132 | ||
50 | # Trezor | 133 | # Safetech SafeKey by Flirc |
51 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="534c", ATTRS{idProduct}=="0001", TAG+="uaccess", GROUP="plugdev", MODE="0660" | 134 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="42b3", TAG+="uaccess", GROUP="plugdev", MODE="0660" |
52 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="53c1", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
53 | 135 | ||
54 | # Infineon FIDO | 136 | # JaCarta U2F by Aladdin Software Security R.D. |
55 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="058b", ATTRS{idProduct}=="022d", TAG+="uaccess", GROUP="plugdev", MODE="0660" | 137 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="24dc", ATTRS{idProduct}=="0101", TAG+="uaccess", GROUP="plugdev", MODE="0660" |
56 | 138 | ||
57 | # Ledger Nano S and Nano X | 139 | # JaCarta U2F by Aladdin Software Security R.D. |
58 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="0001|0004", TAG+="uaccess", GROUP="plugdev", MODE="0660" | 140 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="24dc", ATTRS{idProduct}=="0501", TAG+="uaccess", GROUP="plugdev", MODE="0660" |
59 | 141 | ||
60 | # Kensington VeriMark | 142 | # Happlink Security Key by Plug‐up |
61 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="06cb", ATTRS{idProduct}=="0088", TAG+="uaccess", GROUP="plugdev", MODE="0660" | 143 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="f1d0", TAG+="uaccess", GROUP="plugdev", MODE="0660" |
62 | 144 | ||
63 | # Longmai mFIDO | 145 | # Bluink Key by Bluink Ltd |
64 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="4c4d", ATTRS{idProduct}=="f703", TAG+="uaccess", GROUP="plugdev", MODE="0660" | 146 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2abe", ATTRS{idProduct}=="1002", TAG+="uaccess", GROUP="plugdev", MODE="0660" |
65 | 147 | ||
66 | # eWBM FIDO2 - Goldengate 310, 320, 500, 450 | 148 | # Ledger Nano S by LEDGER |
67 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="311f", ATTRS{idProduct}=="4a1a|4c2a|5c2f|f47c", TAG+="uaccess", GROUP="plugdev", MODE="0660" | 149 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="0001", TAG+="uaccess", GROUP="plugdev", MODE="0660" |
68 | 150 | ||
69 | # OnlyKey (FIDO2 / U2F) | 151 | # Ledger Nano X by LEDGER |
70 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="60fc", TAG+="uaccess", GROUP="plugdev", MODE="0660" | 152 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="0004", TAG+="uaccess", GROUP="plugdev", MODE="0660" |
71 | 153 | ||
72 | # GoTrust Idem Key | 154 | # Hypersecu HyperFIDO by Hypersecu Information Systems, Inc. |
73 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="f143", TAG+="uaccess", GROUP="plugdev", MODE="0660" | 155 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2ccf", ATTRS{idProduct}=="0880", TAG+="uaccess", GROUP="plugdev", MODE="0660" |
156 | |||
157 | # eWBM FIDO2 Goldengate 310 by eWBM Co., Ltd. | ||
158 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="311f", ATTRS{idProduct}=="4a1a", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
159 | |||
160 | # eWBM FIDO2 Goldengate 320 by eWBM Co., Ltd. | ||
161 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="311f", ATTRS{idProduct}=="4c2a", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
162 | |||
163 | # eWBM FIDO2 Goldengate 500 by eWBM Co., Ltd. | ||
164 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="311f", ATTRS{idProduct}=="5c2f", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
165 | |||
166 | # eWBM FIDO2 Goldengate 450 by eWBM Co., Ltd. | ||
167 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="311f", ATTRS{idProduct}=="f47c", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
168 | |||
169 | # Longmai mFIDO by Unknown vendor | ||
170 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="4c4d", ATTRS{idProduct}=="f703", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
171 | |||
172 | # SatoshiLabs TREZOR by SatoshiLabs | ||
173 | KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="534c", ATTRS{idProduct}=="0001", TAG+="uaccess", GROUP="plugdev", MODE="0660" | ||
74 | 174 | ||
75 | LABEL="u2f_end" | 175 | LABEL="fido_end" |
diff --git a/udev/check.sh b/udev/check.sh new file mode 100755 index 0000000..97bbb97 --- /dev/null +++ b/udev/check.sh | |||
@@ -0,0 +1,31 @@ | |||
1 | #!/bin/sh -u | ||
2 | |||
3 | # Copyright (c) 2020 Yubico AB. All rights reserved. | ||
4 | # Use of this source code is governed by a BSD-style | ||
5 | # license that can be found in the LICENSE file. | ||
6 | |||
7 | sort_by_id() { | ||
8 | awk '{ printf "%d\n", $3 }' | sort -Cnu | ||
9 | } | ||
10 | |||
11 | if ! grep '^vendor' "$1" | sort_by_id; then | ||
12 | echo unsorted vendor section 1>&2 | ||
13 | exit 1 | ||
14 | fi | ||
15 | |||
16 | VENDORS=$(grep '^vendor' "$1" | awk '{ print $2 }') | ||
17 | PRODUCTS=$(grep '^product' "$1" | awk '{ print $2 }' | uniq) | ||
18 | |||
19 | if [ "${VENDORS}" != "${PRODUCTS}" ]; then | ||
20 | echo vendors: "$(echo "${VENDORS}" | tr '\n' ',')" 1>&2 | ||
21 | echo products: "$(echo "${PRODUCTS}" | tr '\n' ',')" 1>&2 | ||
22 | echo vendors and products in different order 1>&2 | ||
23 | exit 2 | ||
24 | fi | ||
25 | |||
26 | for v in ${VENDORS}; do | ||
27 | if ! grep "^product ${v}" "$1" | sort_by_id; then | ||
28 | echo "${v}": unsorted product section 1>&2 | ||
29 | exit 3 | ||
30 | fi | ||
31 | done | ||
diff --git a/udev/fidodevs b/udev/fidodevs new file mode 100644 index 0000000..e149964 --- /dev/null +++ b/udev/fidodevs | |||
@@ -0,0 +1,110 @@ | |||
1 | # Copyright (c) 2020 Yubico AB. All rights reserved. | ||
2 | # Use of this source code is governed by a BSD-style | ||
3 | # license that can be found in the LICENSE file. | ||
4 | |||
5 | # After modifying this file, regenerate 70-u2f.rules: | ||
6 | # ./genrules.awk fidodevs > 70-u2f.rules | ||
7 | |||
8 | # List of known vendors. Sorted by vendor ID. | ||
9 | |||
10 | vendor STMICRO 0x0483 STMicroelectronics | ||
11 | vendor INFINEON 0x058b Infineon Technologies | ||
12 | vendor SYNAPTICS 0x06cb Synaptics Inc. | ||
13 | vendor FEITIAN 0x096e Feitian Technologies Co., Ltd. | ||
14 | vendor YUBICO 0x1050 Yubico AB | ||
15 | vendor SILICON 0x10c4 Silicon Laboratories, Inc. | ||
16 | vendor PIDCODES 0x1209 pid.codes | ||
17 | vendor GOOGLE 0x18d1 Google Inc. | ||
18 | vendor VASCO 0x1a44 VASCO Data Security NV | ||
19 | vendor OPENMOKO 0x1d50 OpenMoko, Inc. | ||
20 | vendor NEOWAVE 0x1e0d NEOWAVE | ||
21 | vendor EXCELSECU 0x1ea8 Shenzhen Excelsecu Data Technology Co., Ltd. | ||
22 | vendor NXP 0x1fc9 NXP Semiconductors | ||
23 | vendor FLIRC 0x20a0 Flirc | ||
24 | vendor ALLADIN 0x24dc Aladdin Software Security R.D. | ||
25 | vendor PLUGUP 0x2581 Plug‐up | ||
26 | vendor BLUINK 0x2abe Bluink Ltd | ||
27 | vendor LEDGER 0x2c97 LEDGER | ||
28 | vendor HYPERSECU 0x2ccf Hypersecu Information Systems, Inc. | ||
29 | vendor EWBM 0x311f eWBM Co., Ltd. | ||
30 | vendor UNKNOWN1 0x4c4d Unknown vendor | ||
31 | vendor SATOSHI 0x534c SatoshiLabs | ||
32 | |||
33 | # List of known products. Grouped by vendor; sorted by product ID. | ||
34 | |||
35 | product STMICRO 0xa2ac ellipticSecure MIRKey | ||
36 | product STMICRO 0xa2ca Unknown product | ||
37 | product STMICRO 0xcdab Unknown product | ||
38 | |||
39 | product INFINEON 0x022d Infineon FIDO | ||
40 | |||
41 | product SYNAPTICS 0x0088 Kensington VeriMark | ||
42 | |||
43 | product FEITIAN 0x0850 FS ePass FIDO | ||
44 | product FEITIAN 0x0852 Unknown product | ||
45 | product FEITIAN 0x0853 Unknown product | ||
46 | product FEITIAN 0x0854 Unknown product | ||
47 | product FEITIAN 0x0856 Unknown product | ||
48 | product FEITIAN 0x0858 Unknown product | ||
49 | product FEITIAN 0x085a FS MultiPass FIDO U2F | ||
50 | product FEITIAN 0x085b Unknown product | ||
51 | product FEITIAN 0x085d Unknown product | ||
52 | product FEITIAN 0x0880 Hypersecu HyperFIDO | ||
53 | |||
54 | product YUBICO 0x0113 YubiKey NEO FIDO | ||
55 | product YUBICO 0x0114 YubiKey NEO OTP+FIDO | ||
56 | product YUBICO 0x0115 YubiKey NEO FIDO+CCID | ||
57 | product YUBICO 0x0116 YubiKey NEO OTP+FIDO+CCID | ||
58 | product YUBICO 0x0120 Security Key by Yubico | ||
59 | product YUBICO 0x0121 Unknown product | ||
60 | product YUBICO 0x0200 Gnubby U2F | ||
61 | product YUBICO 0x0402 YubiKey 4 FIDO | ||
62 | product YUBICO 0x0403 YubiKey 4 OTP+FIDO | ||
63 | product YUBICO 0x0406 YubiKey 4 FIDO+CCID | ||
64 | product YUBICO 0x0407 YubiKey 4 OTP+FIDO+CCID | ||
65 | product YUBICO 0x0410 YubiKey Plus | ||
66 | |||
67 | product SILICON 0x8acf U2F Zero | ||
68 | |||
69 | product PIDCODES 0x5070 SoloKeys SoloHacker | ||
70 | product PIDCODES 0x50b0 SoloKeys SoloBoot | ||
71 | product PIDCODES 0x53c1 SatoshiLabs TREZOR | ||
72 | |||
73 | product GOOGLE 0x5026 Google Titan U2F | ||
74 | |||
75 | product VASCO 0x00bb VASCO SecureClick | ||
76 | |||
77 | product OPENMOKO 0x60fc OnlyKey (FIDO2/U2F) | ||
78 | |||
79 | product NEOWAVE 0xf1ae Neowave Keydo AES | ||
80 | product NEOWAVE 0xf1d0 Neowave Keydo | ||
81 | |||
82 | product EXCELSECU 0xf025 Thethis Key | ||
83 | product EXCELSECU 0xfc25 ExcelSecu FIDO2 Security Key | ||
84 | |||
85 | product NXP 0xf143 GoTrust Idem Key | ||
86 | |||
87 | product FLIRC 0x4287 Nitrokey FIDO U2F | ||
88 | product FLIRC 0x42b1 Nitrokey FIDO2 | ||
89 | product FLIRC 0x42b3 Safetech SafeKey | ||
90 | |||
91 | product ALLADIN 0x0101 JaCarta U2F | ||
92 | product ALLADIN 0x0501 JaCarta U2F | ||
93 | |||
94 | product PLUGUP 0xf1d0 Happlink Security Key | ||
95 | |||
96 | product BLUINK 0x1002 Bluink Key | ||
97 | |||
98 | product LEDGER 0x0001 Ledger Nano S | ||
99 | product LEDGER 0x0004 Ledger Nano X | ||
100 | |||
101 | product HYPERSECU 0x0880 Hypersecu HyperFIDO | ||
102 | |||
103 | product EWBM 0x4a1a eWBM FIDO2 Goldengate 310 | ||
104 | product EWBM 0x4c2a eWBM FIDO2 Goldengate 320 | ||
105 | product EWBM 0x5c2f eWBM FIDO2 Goldengate 500 | ||
106 | product EWBM 0xf47c eWBM FIDO2 Goldengate 450 | ||
107 | |||
108 | product UNKNOWN1 0xf703 Longmai mFIDO | ||
109 | |||
110 | product SATOSHI 0x0001 SatoshiLabs TREZOR | ||
diff --git a/udev/genrules.awk b/udev/genrules.awk new file mode 100755 index 0000000..2a85c7c --- /dev/null +++ b/udev/genrules.awk | |||
@@ -0,0 +1,55 @@ | |||
1 | #!/usr/bin/awk -f | ||
2 | |||
3 | # Copyright (c) 2020 Yubico AB. All rights reserved. | ||
4 | # Use of this source code is governed by a BSD-style | ||
5 | # license that can be found in the LICENSE file. | ||
6 | |||
7 | NR == 1 { | ||
8 | print "# Copyright (c) 2020 Yubico AB. All rights reserved." | ||
9 | print "# Use of this source code is governed by a BSD-style" | ||
10 | print "# license that can be found in the LICENSE file." | ||
11 | print "" | ||
12 | print "# This file is automatically generated, and should" | ||
13 | print "# be used with udev 188 or newer." | ||
14 | print "" | ||
15 | print "ACTION!=\"add|change\", GOTO=\"fido_end\"" | ||
16 | |||
17 | next | ||
18 | } | ||
19 | |||
20 | $1 == "vendor" { | ||
21 | sub("0x", "", $3) | ||
22 | vendors[$2, "id"] = $3 | ||
23 | |||
24 | f = 4 | ||
25 | while (f <= NF) { | ||
26 | vendors[$2, "name"] = vendors[$2, "name"] " " $f | ||
27 | f++ | ||
28 | } | ||
29 | } | ||
30 | |||
31 | $1 == "product" { | ||
32 | sub("0x", "", $3) | ||
33 | name = "" | ||
34 | |||
35 | f = 4 | ||
36 | while (f <= NF) { | ||
37 | name = name " " $f | ||
38 | f++ | ||
39 | } | ||
40 | |||
41 | line = "\n#" name " by" vendors[$2, "name"]"\n" | ||
42 | line = line"KERNEL==\"hidraw*\"" | ||
43 | line = line", SUBSYSTEM==\"hidraw\"" | ||
44 | line = line", ATTRS{idVendor}==\""vendors[$2, "id"]"\"" | ||
45 | line = line", ATTRS{idProduct}==\""$3"\"" | ||
46 | line = line", TAG+=\"uaccess\"" | ||
47 | line = line", GROUP=\"plugdev\"" | ||
48 | line = line", MODE=\"0660\"" | ||
49 | |||
50 | print line | ||
51 | } | ||
52 | |||
53 | END { | ||
54 | print "\nLABEL=\"fido_end\"" | ||
55 | } | ||