I’ve been doing a fair bit of work with smartcard readers for a long time, and I’ve butted heads with the ACR122U reader multiple times. It just doesn’t support key generation - the reader decides the chip has taken too long (and doesn’t listen to time extension requests) and resets - this is a major issue in development of apps (I ended up buying a Feitian R502-CL in frustration). I’ve actually discovered a solution to this and I’m posting in the hopes others will be able to avoid my frustrations (these are the cheapest CCID compatible contactless reader around). if you send APDU 0xFF0041FF00h via GlobalPlatformPro (or your preferred APDU send method) with a chip on the reader, the reader will intercept this command and set the timeout to wait for a smartcard to reply. I’ve tested this and it’s not persistent across unplugs of the reader, but it will survive a card reset.