Hello,
I’m working with the PN7362 reader IC using the NXP phExNFCCcid reference project firmware and have encountered an issue during card removal related to the PC_to_RDR_IccPowerOff command (0x63).
Issue:
When the host sends the PowerOff command to the reader while the card is being physically removed, the reader correctly sends a NotifySlotChange with bStatus = 0x02 (Card Absent). However, the PowerOff command itself never completes, causing the CCID driver on the host to wait and eventually timeout (e.g., LIBUSB_ERROR_TIMEOUT).
As a result, the reader appears "confused" and refuses further commands, showing errors like "Slot busy." The driver never receives a proper card absent error response for the PowerOff command, only the timeout.
Observed behavior:
PC_to_RDR_IccPowerOff command sent (0x63)
NotifySlotChange with bStatus = 0x02 sent by the reader
Host CCID driver waits for command completion but hits a timeout
Reader becomes unresponsive until reset
Note:
It seems the host software must wait for the CCID driver timeout before recovery is possible.
Questions:
Is this a known behavior or firmware limitation in the phExNFCCcid project?
Are there any recommendations or firmware updates to improve handling of this race condition?
Could the firmware be modified to send a proper card absent error response before the timeout occurs?
Thank you very much for your assistance!
Best regards,