Open amrbekhit opened 3 years ago
When running ykinfo -s -q I noticed that the USB HID Keyboard interface is removed and re-added by the kernel. This does not happen when the equivalent ykman list command is run.
ykinfo -s -q
ykman list
Debugging the source seems to show that the problem occurs when the device is opened: https://github.com/Yubico/yubikey-personalization/blob/master/ykinfo.c#L206
I've faced this problem on two different systems:
Here's the dmesg log on the Ubuntu system (it's just the keyboard interface being re-recognised):
[89123.923064] input: Yubico YubiKey OTP+FIDO+CCID as /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/input/input141 [89123.982263] hid-generic 0003:1050:0407.0076: input,hidraw3: USB HID v1.10 Keyboard [Yubico YubiKey OTP+FIDO+CCID] on usb-0000:00:1d.7-2.2.4.4/input0
Likewise the udevadm log:
udevadm
$ udevadm monitor monitor will print the received events for: UDEV - the event which udev sends out after rule processing KERNEL - the kernel uevent KERNEL[89144.483982] remove /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/input/input141/event16 (input) KERNEL[89144.511726] change /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/input/input141/input141::numlock (leds) KERNEL[89144.511768] remove /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/input/input141/input141::numlock (leds) KERNEL[89144.511802] change /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/input/input141/input141::capslock (leds) KERNEL[89144.511829] remove /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/input/input141/input141::capslock (leds) KERNEL[89144.511866] change /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/input/input141/input141::scrolllock (leds) KERNEL[89144.511893] remove /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/input/input141/input141::scrolllock (leds) KERNEL[89144.511918] remove /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/input/input141/input141::compose (leds) KERNEL[89144.511944] change /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/input/input141/input141::kana (leds) KERNEL[89144.511969] remove /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/input/input141/input141::kana (leds) KERNEL[89144.539972] remove /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/input/input141 (input) KERNEL[89144.540032] remove /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/hidraw/hidraw3 (hidraw) KERNEL[89144.540072] unbind /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076 (hid) KERNEL[89144.540122] remove /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076 (hid) KERNEL[89144.540164] unbind /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0 (usb) UDEV [89144.542762] remove /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/input/input141/event16 (input) UDEV [89144.542847] change /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/input/input141/input141::scrolllock (leds) UDEV [89144.542910] change /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/input/input141/input141::numlock (leds) UDEV [89144.542972] remove /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/input/input141/input141::compose (leds) UDEV [89144.543034] change /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/input/input141/input141::kana (leds) UDEV [89144.543095] change /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/input/input141/input141::capslock (leds) UDEV [89144.546854] remove /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/hidraw/hidraw3 (hidraw) UDEV [89144.547444] remove /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/input/input141/input141::numlock (leds) UDEV [89144.548891] remove /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/input/input141/input141::kana (leds) UDEV [89144.549632] remove /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/input/input141/input141::scrolllock (leds) KERNEL[89144.551756] add /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077 (hid) KERNEL[89144.552038] add /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/input/input142 (input) KERNEL[89144.611725] add /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/input/input142/event16 (input) KERNEL[89144.611766] add /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/input/input142/input142::numlock (leds) KERNEL[89144.611798] change /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/input/input142/input142::numlock (leds) KERNEL[89144.611823] add /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/input/input142/input142::capslock (leds) KERNEL[89144.611853] change /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/input/input142/input142::capslock (leds) KERNEL[89144.611878] add /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/input/input142/input142::scrolllock (leds) KERNEL[89144.611908] change /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/input/input142/input142::scrolllock (leds) KERNEL[89144.611934] add /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/input/input142/input142::compose (leds) KERNEL[89144.611959] add /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/input/input142/input142::kana (leds) KERNEL[89144.611988] change /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/input/input142/input142::kana (leds) KERNEL[89144.612293] add /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/hidraw/hidraw3 (hidraw) KERNEL[89144.612344] bind /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077 (hid) KERNEL[89144.612384] bind /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0 (usb) UDEV [89144.612672] remove /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/input/input141/input141::capslock (leds) UDEV [89144.616398] remove /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076/input/input141 (input) UDEV [89144.618745] unbind /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076 (hid) UDEV [89144.622283] remove /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0076 (hid) UDEV [89144.626525] unbind /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0 (usb) UDEV [89144.632102] add /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077 (hid) UDEV [89144.637788] add /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/input/input142 (input) UDEV [89144.644479] add /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/hidraw/hidraw3 (hidraw) UDEV [89144.644582] add /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/input/input142/input142::scrolllock (leds) UDEV [89144.644637] add /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/input/input142/input142::numlock (leds) UDEV [89144.644684] add /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/input/input142/input142::compose (leds) UDEV [89144.644731] add /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/input/input142/input142::capslock (leds) UDEV [89144.644778] add /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/input/input142/input142::kana (leds) UDEV [89144.648808] change /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/input/input142/input142::scrolllock (leds) UDEV [89144.648979] change /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/input/input142/input142::kana (leds) UDEV [89144.649335] change /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/input/input142/input142::numlock (leds) UDEV [89144.652645] change /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/input/input142/input142::capslock (leds) UDEV [89144.746689] add /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077/input/input142/event16 (input) UDEV [89144.749993] bind /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0/0003:1050:0407.0077 (hid) UDEV [89144.755345] bind /devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.2/2-2.2.4/2-2.2.4.4/2-2.2.4.4:1.0 (usb)
When running
ykinfo -s -q
I noticed that the USB HID Keyboard interface is removed and re-added by the kernel. This does not happen when the equivalentykman list
command is run.Debugging the source seems to show that the problem occurs when the device is opened: https://github.com/Yubico/yubikey-personalization/blob/master/ykinfo.c#L206
I've faced this problem on two different systems:
Here's the dmesg log on the Ubuntu system (it's just the keyboard interface being re-recognised):
Likewise the
udevadm
log: