<div dir="ltr"><div><div><div>Setting up my YubiKey Neo to use PKCS #11/PIV/CCID features for SSH used to work fine, at least on Fedora 20 and 21. Now, with Fedora 22, it cannot ever find the device. I know the device is configured properly because it still works properly on an F21 box I have.<br><br></div><div>I suspect the issue may be the libinput switch or the move to have PCSC daemon be socket-activated (I think both changes happened between F21 and F22).<br></div><div><br></div>Here is what I see from &quot;sudo journalctl -fa&quot; output when I insert it into an F22 machine with PCSC installed:<br><br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> kernel: usb 1-1.1: new full-speed USB device number 13 using xhci_hcd<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> kernel: usb 1-1.1: New USB device found, idVendor=1050, idProduct=0116<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> kernel: usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> kernel: usb 1-1.1: Product: Yubikey NEO OTP+U2F+CCID<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> kernel: usb 1-1.1: Manufacturer: Yubico<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> kernel: usb 1-1.1: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> kernel: input: Yubico Yubikey NEO OTP+U2F+CCID as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.1/1-1.1:1.0/0003:1050:0116.0006/input/input22<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> kernel: hid-generic 0003:1050:0116.0006: input,hidraw0: USB HID v1.10 Keyboard [Yubico Yubikey NEO OTP+U2F+CCID] on usb-0000:00:14.0-1.1/input0<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> kernel: hid-generic 0003:1050:0116.0007: hiddev0,hidraw1: USB HID v1.10 Device [Yubico Yubikey NEO OTP+U2F+CCID] on usb-0000:00:14.0-1.1/input1<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> mtp-probe[3497]: checking bus 1, device 13: &quot;/sys/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.1&quot;<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> mtp-probe[3497]: bus: 1, device: 13 was not an MTP device<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> /usr/libexec/gdm-x-session[2121]: (II) config/udev: Adding input device Yubico Yubikey NEO OTP+U2F+CCID (/dev/input/event6)<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> /usr/libexec/gdm-x-session[2121]: (**) Yubico Yubikey NEO OTP+U2F+CCID: Applying InputClass &quot;evdev keyboard catchall&quot;<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> /usr/libexec/gdm-x-session[2121]: (**) Yubico Yubikey NEO OTP+U2F+CCID: Applying InputClass &quot;libinput keyboard catchall&quot;<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> /usr/libexec/gdm-x-session[2121]: (**) Yubico Yubikey NEO OTP+U2F+CCID: Applying InputClass &quot;system-keyboard&quot;<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> /usr/libexec/gdm-x-session[2121]: (II) systemd-logind: got fd for /dev/input/event6 13:70 fd 33 paused 0<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> /usr/libexec/gdm-x-session[2121]: (II) Using input driver &#39;libinput&#39; for &#39;Yubico Yubikey NEO OTP+U2F+CCID&#39;<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> /usr/libexec/gdm-x-session[2121]: (**) Yubico Yubikey NEO OTP+U2F+CCID: always reports core events<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> /usr/libexec/gdm-x-session[2121]: (**) Option &quot;Device&quot; &quot;/dev/input/event6&quot;<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> /usr/libexec/gdm-x-session[2121]: (II) input device &#39;Yubico Yubikey NEO OTP+U2F+CCID&#39;, /dev/input/event6 is tagged by udev as: Keyboard<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> /usr/libexec/gdm-x-session[2121]: (II) input device &#39;Yubico Yubikey NEO OTP+U2F+CCID&#39;, /dev/input/event6 is a keyboard<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> /usr/libexec/gdm-x-session[2121]: (**) Option &quot;config_info&quot; &quot;udev:/sys/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.1/1-1.1:1.0/0003:1050:0116.0006/input/input22/event6&quot;<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> /usr/libexec/gdm-x-session[2121]: (II) XINPUT: Adding extended input device &quot;Yubico Yubikey NEO OTP+U2F+CCID&quot; (type: KEYBOARD, id 9)<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> /usr/libexec/gdm-x-session[2121]: (**) Option &quot;xkb_layout&quot; &quot;us&quot;<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> /usr/libexec/gdm-x-session[2121]: (II) input device &#39;Yubico Yubikey NEO OTP+U2F+CCID&#39;, /dev/input/event6 is tagged by udev as: Keyboard<br>Jun 08 17:42:53 <a href="http://titan.davidstrauss.net">titan.davidstrauss.net</a> /usr/libexec/gdm-x-session[2121]: (II) input device &#39;Yubico Yubikey NEO OTP+U2F+CCID&#39;, /dev/input/event6 is a keyboard<br><br></div>Here is what happens when I insert it into an F21 machine with PCSC where it works:<br><br>Jun 08 17:47:28 localhost.localdomain kernel: usb 1-14: new full-speed USB device number 41 using xhci_hcd<br>Jun 08 17:47:29 localhost.localdomain kernel: usb 1-14: New USB device found, idVendor=1050, idProduct=0116<br>Jun 08 17:47:29 localhost.localdomain kernel: usb 1-14: New USB device strings: Mfr=1, Product=2, SerialNumber=0<br>Jun 08 17:47:29 localhost.localdomain kernel: usb 1-14: Product: Yubikey NEO OTP+U2F+CCID<br>Jun 08 17:47:29 localhost.localdomain kernel: usb 1-14: Manufacturer: Yubico<br>Jun 08 17:47:29 localhost.localdomain kernel: usb 1-14: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes<br>Jun 08 17:47:29 localhost.localdomain kernel: input: Yubico Yubikey NEO OTP+U2F+CCID as /devices/pci0000:00/0000:00:14.0/usb1/1-14/1-14:1.0/0003:1050:0116.002F/input/input40<br>Jun 08 17:47:29 localhost.localdomain kernel: hid-generic 0003:1050:0116.002F: input,hidraw2: USB HID v1.10 Keyboard [Yubico Yubikey NEO OTP+U2F+CCID] on usb-0000:00:14.0-14/input0<br>Jun 08 17:47:29 localhost.localdomain kernel: hid-generic 0003:1050:0116.0030: hiddev0,hidraw3: USB HID v1.10 Device [Yubico Yubikey NEO OTP+U2F+CCID] on usb-0000:00:14.0-14/input1<br>Jun 08 17:47:29 localhost.localdomain mtp-probe[1612]: checking bus 1, device 41: &quot;/sys/devices/pci0000:00/0000:00:14.0/usb1/1-14&quot;<br>Jun 08 17:47:29 localhost.localdomain mtp-probe[1612]: bus: 1, device: 41 was not an MTP device<br>Jun 08 17:47:29 localhost.localdomain pcscd[15961]: 07073649 ifdhandler.c:130:CreateChannelByNameOrChannel() failed<br>Jun 08 17:47:29 localhost.localdomain pcscd[15961]: 00000017 readerfactory.c:1043:RFInitializeReader() Open Port 0x200000 Failed (usb:1050/0116:libudev:0:/dev/bus/usb/001/041)<br>Jun 08 17:47:29 localhost.localdomain pcscd[15961]: 00000003 readerfactory.c:335:RFAddReader() Yubico Yubikey NEO OTP+U2F+CCID init failed.<br>Jun 08 17:47:29 localhost.localdomain gdm-Xorg-:0[1281]: (II) config/udev: Adding input device Yubico Yubikey NEO OTP+U2F+CCID (/dev/input/event14)<br>Jun 08 17:47:29 localhost.localdomain gdm-Xorg-:0[1281]: (**) Yubico Yubikey NEO OTP+U2F+CCID: Applying InputClass &quot;evdev keyboard catchall&quot;<br>Jun 08 17:47:29 localhost.localdomain gdm-Xorg-:0[1281]: (**) Yubico Yubikey NEO OTP+U2F+CCID: Applying InputClass &quot;system-keyboard&quot;<br>Jun 08 17:47:29 localhost.localdomain gdm-Xorg-:0[1281]: (II) Using input driver &#39;evdev&#39; for &#39;Yubico Yubikey NEO OTP+U2F+CCID&#39;<br>Jun 08 17:47:29 localhost.localdomain gdm-Xorg-:0[1281]: (**) Yubico Yubikey NEO OTP+U2F+CCID: always reports core events<br>Jun 08 17:47:29 localhost.localdomain gdm-Xorg-:0[1281]: (**) evdev: Yubico Yubikey NEO OTP+U2F+CCID: Device: &quot;/dev/input/event14&quot;<br>Jun 08 17:47:29 localhost.localdomain gdm-Xorg-:0[1281]: (--) evdev: Yubico Yubikey NEO OTP+U2F+CCID: Vendor 0x1050 Product 0x116<br>Jun 08 17:47:29 localhost.localdomain gdm-Xorg-:0[1281]: (--) evdev: Yubico Yubikey NEO OTP+U2F+CCID: Found keys<br>Jun 08 17:47:29 localhost.localdomain gdm-Xorg-:0[1281]: (II) evdev: Yubico Yubikey NEO OTP+U2F+CCID: Configuring as keyboard<br>Jun 08 17:47:29 localhost.localdomain gdm-Xorg-:0[1281]: (**) Option &quot;config_info&quot; &quot;udev:/sys/devices/pci0000:00/0000:00:14.0/usb1/1-14/1-14:1.0/0003:1050:0116.002F/input/input40/event14&quot;<br>Jun 08 17:47:29 localhost.localdomain gdm-Xorg-:0[1281]: (II) XINPUT: Adding extended input device &quot;Yubico Yubikey NEO OTP+U2F+CCID&quot; (type: KEYBOARD, id 11)<br>Jun 08 17:47:29 localhost.localdomain gdm-Xorg-:0[1281]: (**) Option &quot;xkb_rules&quot; &quot;evdev&quot;<br>Jun 08 17:47:29 localhost.localdomain gdm-Xorg-:0[1281]: (**) Option &quot;xkb_model&quot; &quot;pc104&quot;<br>Jun 08 17:47:29 localhost.localdomain gdm-Xorg-:0[1281]: (**) Option &quot;xkb_layout&quot; &quot;us&quot;<br>Jun 08 17:47:29 localhost.localdomain pcscd[15961]: 00003773 ifdhandler.c:130:CreateChannelByNameOrChannel() failed<br>Jun 08 17:47:29 localhost.localdomain pcscd[15961]: 00000010 readerfactory.c:1043:RFInitializeReader() Open Port 0x200001 Failed (usb:1050/0116:libudev:1:/dev/bus/usb/001/041)<br>Jun 08 17:47:29 localhost.localdomain pcscd[15961]: 00000002 readerfactory.c:335:RFAddReader() Yubico Yubikey NEO OTP+U2F+CCID init failed.<br><br></div>I think the &quot;failed&quot; at the end of the second set of log entries is because I&#39;ve changed the PIN, stopping fully automatic initialization. At SSH connection time, it asks for the PIN and then works.<br></div>