summaryrefslogtreecommitdiff
path: root/udev
diff options
context:
space:
mode:
Diffstat (limited to 'udev')
-rw-r--r--udev/70-u2f.rules192
-rwxr-xr-xudev/check.sh31
-rw-r--r--udev/fidodevs110
-rwxr-xr-xudev/genrules.awk55
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
6ACTION!="add|change", GOTO="u2f_end" 6# be used with udev 188 or newer.
7 7
8# Yubico YubiKey 8ACTION!="add|change", GOTO="fido_end"
9KERNEL=="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
12KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="f1d0", TAG+="uaccess", GROUP="plugdev", MODE="0660" 11KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a2ac", TAG+="uaccess", GROUP="plugdev", MODE="0660"
12
13# Unknown product by STMicroelectronics
14KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="a2ca", TAG+="uaccess", GROUP="plugdev", MODE="0660"
15
16# Unknown product by STMicroelectronics
17KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="cdab", TAG+="uaccess", GROUP="plugdev", MODE="0660"
18
19# Infineon FIDO by Infineon Technologies
20KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="058b", ATTRS{idProduct}=="022d", TAG+="uaccess", GROUP="plugdev", MODE="0660"
21
22# Kensington VeriMark by Synaptics Inc.
23KERNEL=="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.
26KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0850", TAG+="uaccess", GROUP="plugdev", MODE="0660"
27
28# Unknown product by Feitian Technologies Co., Ltd.
29KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0852", TAG+="uaccess", GROUP="plugdev", MODE="0660"
30
31# Unknown product by Feitian Technologies Co., Ltd.
32KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0853", TAG+="uaccess", GROUP="plugdev", MODE="0660"
33
34# Unknown product by Feitian Technologies Co., Ltd.
35KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0854", TAG+="uaccess", GROUP="plugdev", MODE="0660"
36
37# Unknown product by Feitian Technologies Co., Ltd.
38KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0856", TAG+="uaccess", GROUP="plugdev", MODE="0660"
39
40# Unknown product by Feitian Technologies Co., Ltd.
41KERNEL=="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.
44KERNEL=="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.
15KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1e0d", ATTRS{idProduct}=="f1d0|f1ae", TAG+="uaccess", GROUP="plugdev", MODE="0660" 47KERNEL=="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.
18KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e|2ccf", ATTRS{idProduct}=="0880", TAG+="uaccess", GROUP="plugdev", MODE="0660" 50KERNEL=="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.
21KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0850|0852|0853|0854|0856|0858|085a|085b|085d", TAG+="uaccess", GROUP="plugdev", MODE="0660" 53KERNEL=="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
24KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="24dc", ATTRS{idProduct}=="0101|0501", TAG+="uaccess", GROUP="plugdev", MODE="0660" 56KERNEL=="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
59KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0114", TAG+="uaccess", GROUP="plugdev", MODE="0660"
60
61# YubiKey NEO FIDO+CCID by Yubico AB
62KERNEL=="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
65KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0116", TAG+="uaccess", GROUP="plugdev", MODE="0660"
66
67# Security Key by Yubico by Yubico AB
68KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0120", TAG+="uaccess", GROUP="plugdev", MODE="0660"
69
70# Unknown product by Yubico AB
71KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0121", TAG+="uaccess", GROUP="plugdev", MODE="0660"
72
73# Gnubby U2F by Yubico AB
74KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0200", TAG+="uaccess", GROUP="plugdev", MODE="0660"
75
76# YubiKey 4 FIDO by Yubico AB
77KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0402", TAG+="uaccess", GROUP="plugdev", MODE="0660"
78
79# YubiKey 4 OTP+FIDO by Yubico AB
80KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0403", TAG+="uaccess", GROUP="plugdev", MODE="0660"
81
82# YubiKey 4 FIDO+CCID by Yubico AB
83KERNEL=="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
86KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0407", TAG+="uaccess", GROUP="plugdev", MODE="0660"
87
88# YubiKey Plus by Yubico AB
89KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0410", TAG+="uaccess", GROUP="plugdev", MODE="0660"
90
91# U2F Zero by Silicon Laboratories, Inc.
27KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="8acf", TAG+="uaccess", GROUP="plugdev", MODE="0660" 92KERNEL=="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
95KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="5070", TAG+="uaccess", GROUP="plugdev", MODE="0660"
96
97# SoloKeys SoloBoot by pid.codes
98KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="50b0", TAG+="uaccess", GROUP="plugdev", MODE="0660"
99
100# SatoshiLabs TREZOR by pid.codes
101KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="53c1", TAG+="uaccess", GROUP="plugdev", MODE="0660"
102
103# Google Titan U2F by Google Inc.
104KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="5026", TAG+="uaccess", GROUP="plugdev", MODE="0660"
105
106# VASCO SecureClick by VASCO Data Security NV
30KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1a44", ATTRS{idProduct}=="00bb", TAG+="uaccess", GROUP="plugdev", MODE="0660" 107KERNEL=="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.
33KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2abe", ATTRS{idProduct}=="1002", TAG+="uaccess", GROUP="plugdev", MODE="0660" 110KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="60fc", TAG+="uaccess", GROUP="plugdev", MODE="0660"
111
112# Neowave Keydo AES by NEOWAVE
113KERNEL=="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
116KERNEL=="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.
36KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1ea8", ATTRS{idProduct}=="f025", TAG+="uaccess", GROUP="plugdev", MODE="0660" 119KERNEL=="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.
39KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="4287|42b1|42b3", TAG+="uaccess", GROUP="plugdev", MODE="0660" 122KERNEL=="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
42KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="5026", TAG+="uaccess", GROUP="plugdev", MODE="0660" 125KERNEL=="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
45KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="cdab|a2ca", TAG+="uaccess", GROUP="plugdev", MODE="0660" 128KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="4287", TAG+="uaccess", GROUP="plugdev", MODE="0660"
46 129
47# SoloKeys 130# Nitrokey FIDO2 by Flirc
48KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="5070|50b0", TAG+="uaccess", GROUP="plugdev", MODE="0660" 131KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="42b1", TAG+="uaccess", GROUP="plugdev", MODE="0660"
49 132
50# Trezor 133# Safetech SafeKey by Flirc
51KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="534c", ATTRS{idProduct}=="0001", TAG+="uaccess", GROUP="plugdev", MODE="0660" 134KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="42b3", TAG+="uaccess", GROUP="plugdev", MODE="0660"
52KERNEL=="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.
55KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="058b", ATTRS{idProduct}=="022d", TAG+="uaccess", GROUP="plugdev", MODE="0660" 137KERNEL=="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.
58KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="0001|0004", TAG+="uaccess", GROUP="plugdev", MODE="0660" 140KERNEL=="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
61KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="06cb", ATTRS{idProduct}=="0088", TAG+="uaccess", GROUP="plugdev", MODE="0660" 143KERNEL=="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
64KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="4c4d", ATTRS{idProduct}=="f703", TAG+="uaccess", GROUP="plugdev", MODE="0660" 146KERNEL=="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
67KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="311f", ATTRS{idProduct}=="4a1a|4c2a|5c2f|f47c", TAG+="uaccess", GROUP="plugdev", MODE="0660" 149KERNEL=="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
70KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="60fc", TAG+="uaccess", GROUP="plugdev", MODE="0660" 152KERNEL=="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.
73KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="f143", TAG+="uaccess", GROUP="plugdev", MODE="0660" 155KERNEL=="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.
158KERNEL=="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.
161KERNEL=="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.
164KERNEL=="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.
167KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="311f", ATTRS{idProduct}=="f47c", TAG+="uaccess", GROUP="plugdev", MODE="0660"
168
169# Longmai mFIDO by Unknown vendor
170KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="4c4d", ATTRS{idProduct}=="f703", TAG+="uaccess", GROUP="plugdev", MODE="0660"
171
172# SatoshiLabs TREZOR by SatoshiLabs
173KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="534c", ATTRS{idProduct}=="0001", TAG+="uaccess", GROUP="plugdev", MODE="0660"
74 174
75LABEL="u2f_end" 175LABEL="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
7sort_by_id() {
8 awk '{ printf "%d\n", $3 }' | sort -Cnu
9}
10
11if ! grep '^vendor' "$1" | sort_by_id; then
12 echo unsorted vendor section 1>&2
13 exit 1
14fi
15
16VENDORS=$(grep '^vendor' "$1" | awk '{ print $2 }')
17PRODUCTS=$(grep '^product' "$1" | awk '{ print $2 }' | uniq)
18
19if [ "${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
24fi
25
26for 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
31done
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
10vendor STMICRO 0x0483 STMicroelectronics
11vendor INFINEON 0x058b Infineon Technologies
12vendor SYNAPTICS 0x06cb Synaptics Inc.
13vendor FEITIAN 0x096e Feitian Technologies Co., Ltd.
14vendor YUBICO 0x1050 Yubico AB
15vendor SILICON 0x10c4 Silicon Laboratories, Inc.
16vendor PIDCODES 0x1209 pid.codes
17vendor GOOGLE 0x18d1 Google Inc.
18vendor VASCO 0x1a44 VASCO Data Security NV
19vendor OPENMOKO 0x1d50 OpenMoko, Inc.
20vendor NEOWAVE 0x1e0d NEOWAVE
21vendor EXCELSECU 0x1ea8 Shenzhen Excelsecu Data Technology Co., Ltd.
22vendor NXP 0x1fc9 NXP Semiconductors
23vendor FLIRC 0x20a0 Flirc
24vendor ALLADIN 0x24dc Aladdin Software Security R.D.
25vendor PLUGUP 0x2581 Plug‐up
26vendor BLUINK 0x2abe Bluink Ltd
27vendor LEDGER 0x2c97 LEDGER
28vendor HYPERSECU 0x2ccf Hypersecu Information Systems, Inc.
29vendor EWBM 0x311f eWBM Co., Ltd.
30vendor UNKNOWN1 0x4c4d Unknown vendor
31vendor SATOSHI 0x534c SatoshiLabs
32
33# List of known products. Grouped by vendor; sorted by product ID.
34
35product STMICRO 0xa2ac ellipticSecure MIRKey
36product STMICRO 0xa2ca Unknown product
37product STMICRO 0xcdab Unknown product
38
39product INFINEON 0x022d Infineon FIDO
40
41product SYNAPTICS 0x0088 Kensington VeriMark
42
43product FEITIAN 0x0850 FS ePass FIDO
44product FEITIAN 0x0852 Unknown product
45product FEITIAN 0x0853 Unknown product
46product FEITIAN 0x0854 Unknown product
47product FEITIAN 0x0856 Unknown product
48product FEITIAN 0x0858 Unknown product
49product FEITIAN 0x085a FS MultiPass FIDO U2F
50product FEITIAN 0x085b Unknown product
51product FEITIAN 0x085d Unknown product
52product FEITIAN 0x0880 Hypersecu HyperFIDO
53
54product YUBICO 0x0113 YubiKey NEO FIDO
55product YUBICO 0x0114 YubiKey NEO OTP+FIDO
56product YUBICO 0x0115 YubiKey NEO FIDO+CCID
57product YUBICO 0x0116 YubiKey NEO OTP+FIDO+CCID
58product YUBICO 0x0120 Security Key by Yubico
59product YUBICO 0x0121 Unknown product
60product YUBICO 0x0200 Gnubby U2F
61product YUBICO 0x0402 YubiKey 4 FIDO
62product YUBICO 0x0403 YubiKey 4 OTP+FIDO
63product YUBICO 0x0406 YubiKey 4 FIDO+CCID
64product YUBICO 0x0407 YubiKey 4 OTP+FIDO+CCID
65product YUBICO 0x0410 YubiKey Plus
66
67product SILICON 0x8acf U2F Zero
68
69product PIDCODES 0x5070 SoloKeys SoloHacker
70product PIDCODES 0x50b0 SoloKeys SoloBoot
71product PIDCODES 0x53c1 SatoshiLabs TREZOR
72
73product GOOGLE 0x5026 Google Titan U2F
74
75product VASCO 0x00bb VASCO SecureClick
76
77product OPENMOKO 0x60fc OnlyKey (FIDO2/U2F)
78
79product NEOWAVE 0xf1ae Neowave Keydo AES
80product NEOWAVE 0xf1d0 Neowave Keydo
81
82product EXCELSECU 0xf025 Thethis Key
83product EXCELSECU 0xfc25 ExcelSecu FIDO2 Security Key
84
85product NXP 0xf143 GoTrust Idem Key
86
87product FLIRC 0x4287 Nitrokey FIDO U2F
88product FLIRC 0x42b1 Nitrokey FIDO2
89product FLIRC 0x42b3 Safetech SafeKey
90
91product ALLADIN 0x0101 JaCarta U2F
92product ALLADIN 0x0501 JaCarta U2F
93
94product PLUGUP 0xf1d0 Happlink Security Key
95
96product BLUINK 0x1002 Bluink Key
97
98product LEDGER 0x0001 Ledger Nano S
99product LEDGER 0x0004 Ledger Nano X
100
101product HYPERSECU 0x0880 Hypersecu HyperFIDO
102
103product EWBM 0x4a1a eWBM FIDO2 Goldengate 310
104product EWBM 0x4c2a eWBM FIDO2 Goldengate 320
105product EWBM 0x5c2f eWBM FIDO2 Goldengate 500
106product EWBM 0xf47c eWBM FIDO2 Goldengate 450
107
108product UNKNOWN1 0xf703 Longmai mFIDO
109
110product 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
7NR == 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
53END {
54 print "\nLABEL=\"fido_end\""
55}