4

I send PowerOn CCID command on card insertion to receive ATR. But instead I always get this error:

PC_to_RDR_IccPowerOn (00h Automatic):

bStatus: 0x0
bError: 0x80 

Error 80h according to CCID spec "Reserved for future use". But same code working correctly with other CCID device I have and this device works with other apps. So how I can find what I'm doing wrong? I have tried different voltages 3v,5v, 1.8v, but for all of them I get exactly same error.

Even when this happens I get correct ATR. So then I'm trying to send APDU (select non existing file to warm up connection) and then I get:

Slot Status: 40h "An ICC is present and inactive (not activated or
shut down by hardware error)" 

So what does it mean "inactive" What I should do?

CCID device descriptor:

CCID Device Descriptor:
bcdCCID:    0110
5V Support true
3V Support true
1.8V Support true
dwDefaultClock: 3.75 MHz
dwMaximumClock: 7.5 MHz
dwDataRate: 10080 bps
dwMaxDataRate:  10080 bps
T0 Support true
T1 Support true
dwFeatures * 0x4c4b400
* Automatic IFSD exchange as first exchange
* Short and Extended APDU exchange level support
dwMaxCCIDMessageLength 271 bytes
wLcdLayout 0000
bMaxCCIDBusySlots 01
dasar
  • 5,321
  • 4
  • 24
  • 36
  • (Can't help here, but) it helped me once to monitor the CCID communication of genuine driver using [Wireshark](https://wiki.wireshark.org/CaptureSetup/USB). Having a look how [others do it](https://github.com/LudovicRousseau/CCID/blob/097436681d554999d125b9fe56bb4a5194a36f92/src/commands.c#L100) might help as well. Good luck! – vlp Oct 17 '16 at 19:42
  • @vlp Unfortunately I can't use Wireshark on Android. – dasar Oct 18 '16 at 04:01
  • You can connect the reader to PC an see how it behaves with PC drivers for comparison. Monitoring USB [might be possible with android emulator](http://stackoverflow.com/a/19916836/5128464). – vlp Oct 18 '16 at 07:54
  • Thanks for idea with Android emulator will try it. I was tested this reader with PC and Wireshark - everything seams good PowerOn/PowerOff/GetSlotStatus works as expected without any strange error codes. – dasar Oct 18 '16 at 08:00
  • Did you manage to solve this issue? We're currently struggling with (I guess) the same issue and the tricky part we have noticed is that this 0x80 error code is returned only for some readers, while others work just fine with our application. – Ingus Feb 14 '17 at 12:18
  • Unfortunately, I give up on this. Have to use working card reader instead (other model) – dasar Feb 15 '17 at 10:04

0 Answers0