OpenPGP card bricked

NIIBE Yutaka gniibe at fsij.org
Wed Mar 14 05:03:16 CET 2018


Hello,

It seems that your smartcard is not working at all.
Possibly, bricked.

The log says (I removed the timestamp and process name):

> DBG: ccid-driver: CCID submit transfer (83): 0
> DBG: ccid-driver: PC_to_RDR_IccPowerOn:
> DBG: ccid-driver:   dwLength ..........: 0
> DBG: ccid-driver:   bSlot .............: 0
> DBG: ccid-driver:   bSeq ..............: 1
> DBG: ccid-driver:   bPowerSelect ......: 0x00 (auto)
> DBG: ccid-driver:   [0008]  00 00

The host PC asks the reader (RDR) to power on the smartcard.

> DBG: ccid-driver: CCID: interrupt callback 0
> DBG: ccid-driver: CCID submit transfer again 0

Then, the reader's interrupt transfer notifies to the host for change of
card status.  Host keeps the interrupt transfer, so, submit the transfer
to the USB host controller again.

> DBG: ccid-driver: RDR_to_PC_DataBlock:
> DBG: ccid-driver:   dwLength ..........: 0
> DBG: ccid-driver:   bSlot .............: 0
> DBG: ccid-driver:   bSeq ..............: 1
> DBG: ccid-driver:   bStatus ...........: 65
> DBG: ccid-driver:   bError ............: 254
> DBG: ccid-driver: CCID command failed: CCID timed out while talking to the ICC

The reader responds it fails to power on the smartcard.

> reader slot 0: using ccid driver
> DBG: enter: apdu_connect: slot=0
> DBG: enter: apdu_reset: slot=0
> DBG: ccid-driver: PC_to_RDR_IccPowerOn:
> DBG: ccid-driver:   dwLength ..........: 0
> DBG: ccid-driver:   bSlot .............: 0
> DBG: ccid-driver:   bSeq ..............: 4
> DBG: ccid-driver:   bPowerSelect ......: 0x00 (auto)
> DBG: ccid-driver:   [0008]  00 00

The host asks again to the reader.

> DBG: ccid-driver: RDR_to_PC_DataBlock:
> DBG: ccid-driver:   dwLength ..........: 0
> DBG: ccid-driver:   bSlot .............: 0
> DBG: ccid-driver:   bSeq ..............: 4
> DBG: ccid-driver:   bStatus ...........: 65
> DBG: ccid-driver:   bError ............: 254
> DBG: ccid-driver: CCID command failed: CCID timed out while talking to the ICC

Same failure.  Host gives up.

> DBG: leave: apdu_reset => sw=0x10009
> DBG: leave: apdu_connect => sw=0x10009
> DBG: enter: apdu_close_reader: slot=0
> DBG: enter: apdu_disconnect: slot=0
> DBG: leave: apdu_disconnect => sw=0x0
> DBG: ccid-driver: PC_to_RDR_IccPowerOff:
> DBG: ccid-driver:   dwLength ..........: 0
> DBG: ccid-driver:   bSlot .............: 0
> DBG: ccid-driver:   bSeq ..............: 5
> DBG: ccid-driver:   [0007]  00 00 00
> DBG: ccid-driver: RDR_to_PC_SlotStatus:
> DBG: ccid-driver:   dwLength ..........: 0
> DBG: ccid-driver:   bSlot .............: 0
> DBG: ccid-driver:   bSeq ..............: 5
> DBG: ccid-driver:   bStatus ...........: 1
> DBG: ccid-driver:   bClockStatus ......: 0x01 (stopped-L)

And the host asks power off.  The reader replies.

> DBG: ccid-driver: libusb_cancel_transfer
> DBG: ccid-driver: libusb_handle_events_completed
> DBG: ccid-driver: CCID: interrupt callback 3

The host cancels interrupt transfer which watches card status change.

After the failure of internal CCID driver, it tries PC/SC.
-- 



More information about the Gnupg-users mailing list