Hello, The u2f-passthru device is currently broken for (at least) the Yubikey 5. (gitlab: https://gitlab.com/qemu-project/qemu/-/issues/2293)
This patchset aims to fix the issue by properly handling the U2F keepalive response in the u2f-passthru device. I initially suspected the hidraw chardev handle management to be the culprit, so I also implemented a more efficient strategy where the host hidraw chardev is only opened as long as the guest actually needs it to be opened. This turned out to not be the root cause, but regardless, it's probably the right way to be doing it. Hence, I also included these patches here. The patches were tested with `pamu2fcfg` in an x86_64 Linux guest with the u2f-passthru device backed by a physical Yubikey 5 (type C model). --- I apologize for any anticipatory errors, I'm not really acquainted with the USB/HID/U2F protocols, nor with QEMU. Happy to hear your feedback! David Bouman (4): hw/usb/u2f: Add `start` and `stop` callbacks to U2F key class hw/usb/u2f-passthru: Do not needlessly retain handle to hidraw chardev hw/usb/u2f-passthru: Clean up code hw/usb/u2f-passthru: Implement FIDO U2FHID keep-alive hw/usb/u2f-passthru.c | 163 ++++++++++++++++++++++++++++-------------- hw/usb/u2f.c | 23 ++++++ hw/usb/u2f.h | 5 ++ 3 files changed, 138 insertions(+), 53 deletions(-) -- 2.34.1