|
小弟要做一个见但的usb ccid智能卡读卡器设备.
目前设备描述和端点通信都已做好 用的是微软的usbccid.sys驱动现在 插上去后硬件上收到
PC_to_RDR_IccPowerOff PC_to_RDR_IccPowerOn PC_to_RDR_IccPowerOff 三条命令 并回复了.
usbccid.sys已经不会报错.
但是在系统SCardSvr服务上出现
610 error :
智能卡阅读器 '? ? 0' 拒绝了 IOCTL EJECT: 不支持请求。
514 error :
智能卡资源管理器未能添加读取器 \\?\USB#Vid_03e6&Pid_0435#5&29333f81&0&1#{50dd5230-ba8a-11d1-bf5d-0000f805f530}: 一个或数个提供的参数值未能被正确解释。
然后用scard api 找不到读卡器.
现在ccid的参数很多但是具体是那个出错我就搞不明白了 可能是 智能卡的 ATR 可能是ccid的描述符
我不知道到哪里去找关于错在哪里的资料
下面是 描述
/* CCID descriptor */
0x36, // bLength: CCID Descriptor size 54Bytes
0x21, // bDescriptorType
0x10,0x01, // bcdCCID: CCID Class Spec release number (1.1)
0x00, // bMaxSlotIndex Sim_card,Contactless_Card ,Non-contact card
0x02, // bVoltageSupport: 5v,3v,1.8v only support Contactless_Card
0x01,0x00,0x00,0x00, // dwProtocols: supports T=0 //!!
0xFC,0x0D,0x00,0x00, // dwDefaultClock: 3.58Mhz
0xE0,0x2E,0x00,0x00, // dwMaximumClock: 12.00Mhz
0x00, // bNumClockSupported => no manual setting
0x80,0x25,0x00,0x00, // dwDataRate: 9600 bps (0x00002580)
0x29,0x40,0x29,0x00, // dwMaxDataRate: 344105 bps (0x00054029)
0x00, // bNumDataRatesSupported => no manual setting
0xFE,0x00,0x00,0x00, // dwMaxIFSD: 255 (T=1 ) Information Field Size For The Terminal
0x00,0x00,0x00,0x00, // dwSynchProtocols
0x00,0x00,0x00,0x00, // dwMechanical: no special characteristics
0x7E,0x00,0x02,0x00, // dwFeatures:TPDU Level BA
0x0F,0x01,0x00,0x00, // dwMaxCCIDMessageLength 10+261 : header+Maximun block size
0xFF, // bClassGetResponse
0xFF, // bClassEnvelope
0x00,0x00, // wLcdLayout
0x00, // bPINSupport : no PIN verify and modif
0x01, // bMaxCCIDBusySlots
下面是智能卡的ATR(写死的 现在还没有智能卡)
patr[0]=0x3B;//Direct convention(L)HHLHHHLL(H)
patr[1]=0xF0;//T0
patr[2]=0X18;//TA1
patr[3]=0x00;//TB1
patr[4]=0x02;//TC1
patr[5]=0x40;//TD1
patr[6]=0x05;//TC2
希望给个建议.关于这种错误该怎么去找源头
|
|