Windows10下ACR38U-I1操作SLE4428卡部分APDU报T0协议错误求助
Windows 10下ACS ACR38U-I1读卡器访问SLE4428卡故障排查求助
基础环境
- 硬件:ACS ACR38U-I1读卡器、SLE4428接触式存储卡
- 系统:Windows 10
- 开发依赖:Python 3.7、pyscard库
- 驱动状态:已安装厂商官方最新版Windows驱动
故障表现
同款读卡器、完全相同的代码在无专用驱动的树莓派上运行完全正常,仅Windows环境存在如下问题:
- 执行部分APDU指令时返回错误
Failed to transmit with protocol T0. Falscher Parameter(含义为参数错误,对应错误码87) - 读内存指令
[0xff, 0xb0, 0x00, 0x00, 0xff]在双平台均可正常执行,仅运行认证指令[0xff, 0x20, 0x00, 0x01, 0x03, 0xff, 0xff]时触发Windows端报错 - Windows端独有的异常:插入卡片后读卡器LED快速闪烁,需等待约9秒才可正常访问卡片
测试代码
from smartcard.CardType import AnyCardType from smartcard.CardConnection import CardConnection from smartcard.CardRequest import CardRequest cardtype = AnyCardType() cardrequest = CardRequest(timeout=1, cardType=cardtype) cardservice = cardrequest.waitforcard() cardservice.connection.connect(CardConnection.T0_protocol) apdu = [0xff, 0xb0, 0x00, 0x00, 0xff] #READ_MEMORY_CARD response, sw1, sw2 = cardservice.connection.transmit(apdu, CardConnection.T0_protocol) print('response: ', response, ' status words: ', "%x %x" % (sw1, sw2))
已尝试的排查方案
- 替换使用Windows系统自带的读卡器通用驱动
- 切换卡片连接使用的协议,均未解决问题
求助内容
- 可行的问题排查思路及解决方向
- 适配该SLE4428卡访问场景、目前仍在售的读卡器型号推荐
内容的提问来源于stack exchange,提问作者lrv89
相关产品推荐
相关产品推荐

