Skip to content

Commit edec70a

Browse files
authored
Merge pull request #195
docs: merged transport article content into overview
2 parents 2854939 + 22ac356 commit edec70a

File tree

5 files changed

+88
-145
lines changed

5 files changed

+88
-145
lines changed

Yubico.YubiKey/docs/users-manual/getting-started/whats-new.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -516,7 +516,7 @@ PCSC-lite library.
516516

517517
Some symlinks may need to be present in order for the .NET runtime to find the appropriate system
518518
libraries (such as pcsc-lite, udev, etc.) Information about how to create these links can be found
519-
on [this page](xref:YubiKeyTransportHIDKeyboard).
519+
on [this page](xref:YubiKeyTransportOverview).
520520

521521
## 1.0.x Releases
522522

Yubico.YubiKey/docs/users-manual/yubikey-reference/transports/hidfido.md

Lines changed: 0 additions & 27 deletions
This file was deleted.

Yubico.YubiKey/docs/users-manual/yubikey-reference/transports/hidkeyboard.md

Lines changed: 0 additions & 79 deletions
This file was deleted.

Yubico.YubiKey/docs/users-manual/yubikey-reference/transports/overview.md

Lines changed: 87 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,93 @@ over USB. The HID FIDO interface is enabled when either the U2F or FIDO2 applica
7373
enabled over USB. The CCID (smart card) interface is enabled when the PIV, OATH, or OpenPGP
7474
applications are enabled over USB.
7575

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+
76163
## NFC
77164

78165
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
91178
may power down to help prevent unintended access to the device. To regain connectivity with
92179
an NFC reader, remove the YubiKey from the reader and reposition it on the reader. Some NFC
93180
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)

Yubico.YubiKey/docs/users-manual/yubikey-reference/transports/smartcard.md

Lines changed: 0 additions & 32 deletions
This file was deleted.

0 commit comments

Comments
 (0)