@@ -73,6 +73,93 @@ over USB. The HID FIDO interface is enabled when either the U2F or FIDO2 applica
73
73
enabled over USB. The CCID (smart card) interface is enabled when the PIV, OATH, or OpenPGP
74
74
applications are enabled over USB.
75
75
76
+ OTP interface output is sent as a series of keystrokes from a virtual HID keyboard. This allows
77
+ for OTP to be used in any environment which can accept standard keyboard input. For more information
78
+ on the HID Keyboard transport, see the [ OTP application documentation] ( xref:OtpHID ) .
79
+
80
+ The FIDO interface has a HID usage page set to ` 0xF1D0 ` .
81
+
82
+ ### Linux support
83
+
84
+ #### HID keyboard
85
+
86
+ The SDK's HID operations on Linux make use of "libudev", "libc", and "hidraw". Make sure
87
+ they are available on the device.
88
+
89
+ The shared libraries "libudev" and "libc" must in one of the paths the SDK will search
90
+ (see the .NET documentation for the ` DllImportSearchPath ` enum; the SDK uses the value
91
+ ` SafeDirectories ` ).
92
+
93
+ One directory the SDK searches is ` /usr/lib ` . If the SDK cannot find some needed library,
94
+ it will likely be easiest to simply create a symbolic link. For example:
95
+
96
+ ```
97
+ $ cd /usr/lib
98
+ $ sudo ln -s /usr/lib/x86_64-linux-gnu/libudev.so libudev.so
99
+ ```
100
+
101
+ ** udev** :
102
+
103
+ The udev library is part of Linux and will probably already be installed on the device. It
104
+ is commonly found in a directory such as
105
+
106
+ ```
107
+ /usr/lib/x86_64-linux-gnu/libudev.so
108
+ ```
109
+
110
+ If so, there is likely nothing you will need to do. If the SDK cannot find ` libudev.so ` ,
111
+ make sure it is on the device (e.g. ` $ find /usr -name libudev.so ` ). If it is, maybe it is
112
+ not in a standard location and you need to make a symbolic link.
113
+
114
+ ** libc** :
115
+
116
+ The SDK expects a libc library named ` libc.so.6 ` to be in the shared library search path.
117
+ If it is not, you will likely make a symbolic link in ` /usr/lib ` .
118
+
119
+ ```
120
+ $ cd /usr/lib
121
+ $ sudo ln -s /usr/lib/x86_64-linux-gnu/libc.so.6 libc.so.6
122
+ ```
123
+
124
+ ** hidraw** :
125
+
126
+ The hidraw library is a driver that provides an interface to USB devices. This driver
127
+ should be part of the Linux kernel and there should be nothing you need to do.
128
+
129
+ #### Smart card
130
+
131
+ In order to use the SDK to contact a YubiKey on a Linux device, you need to install the
132
+ "pcsclite" library. This is an Open Source implementation of PC/SC (personal computers/
133
+ smart card), a specification for integrating smart cards into computer environments. If it
134
+ is not already installed on your Linux device, you will likely run a command such as:
135
+
136
+ ```
137
+ $ apt-get install libpcsclite1
138
+ ```
139
+
140
+ ** Arch Linux** :
141
+
142
+ If on Arch Linux, you need to install both ` pcsclite ` and ` ccid ` :
143
+
144
+ ```
145
+ sudo pacman -S pcsclite ccid
146
+ ```
147
+
148
+ Optionally, you can also install ` pcsc-tools ` , which provides additional tools for troubleshooting smart card connectivity:
149
+
150
+ ```
151
+ sudo pacman -S pcsc-tools
152
+ ```
153
+
154
+ Once package installation is complete, start the pcsc daemon:
155
+
156
+ ```
157
+ sudo systemctl enable --now pcscd.socket
158
+ sudo systemctl start --now pcscd.socket
159
+ ```
160
+
161
+ For more information on working with smart cards on Arch Linux, see the [ Arch Linux documentation] ( https://wiki.archlinux.org/title/Smartcards ) .
162
+
76
163
## NFC
77
164
78
165
In addition to USB, the YubiKey 5 NFC keys also provide an NFC wireless interface for
@@ -91,9 +178,3 @@ operation will succeed. After a period of inactivity, a YubiKey placed on a desk
91
178
may power down to help prevent unintended access to the device. To regain connectivity with
92
179
an NFC reader, remove the YubiKey from the reader and reposition it on the reader. Some NFC
93
180
readers may power cycle the YubiKey and, in doing so, prevent the device from powering down.
94
-
95
- ## See also
96
-
97
- - [ Transport: HID Keyboard (OTP)] ( xref:YubiKeyTransportHIDKeyboard )
98
- - [ Transport: Smart Card (CCID)] ( xref:YubiKeyTransportSmartCard )
99
- - [ Transport: HID FIDO] ( xref:YubiKeyTransportHIDFIDO )
0 commit comments