error EAGAIN from read() in fido_hid_read() during “fido2-token -I «device»” #850
Replies: 1 comment 9 replies
-
Hi,
It's not something we'd imagine seeing under normal operation. We're using a non-blocking pipe to read the data from the report callback;
You mentioned CCID, are you sure there is no other program/daemon polling the device over that interface? Have you tried killing the PCSC daemon? Do you have multiple devices plugged in at the same time when you get this issue? Could you show us the output of a successful run of Could you show us the output of Footnotes |
Beta Was this translation helpful? Give feedback.
-
Hello, all,
I recently purchased two YubiKey 5 NFC devices. My old computer still runs OS X 10.9.5, so I compiled and installed a more recent version of CCID on it to allow it to recognize the YubiKeys. I’ve also compiled an OS X 10.9.5-friendly version of libfido2 1.15.0 by providing my own clock_gettime() call, since Apple didn’t provide its own clock_gettime() call until macOS 10.12.
When I run “fido2-token -I «device»” on my computer against either YubiKey, output such as this is often emitted:
$ fido2-token -V && fido2-token -L
$ fido2-token -I ioreg://4295015390
$ fido2-token -d -I ioreg://4295015390
Is
EAGAIN
a common error that is returned from the read() call in the fido_hid_read() function ofsrc/hid_osx.c
? It seems to happen quite frequently when I run the “fido2-token -I «device»” command, and I’m not doing anything else with the YubiKeys when I run this command. [As an experiment, I increased the wait between calls to read() in the schedule_io_loop() function ofsrc/hid_osx.c
from five seconds to ten seconds in case five seconds wasn’t enough time, but that didn’t seem to reduce the frequency of theEAGAIN
error.]Beta Was this translation helpful? Give feedback.
All reactions