sw 0x6cxx works
This commit is contained in:
@@ -488,13 +488,10 @@ int ExchangeAPDUSC(uint8_t *datain, int datainlen, bool activateCard, bool leave
|
|||||||
// retry
|
// retry
|
||||||
if (len > 1 && dataout[len - 2] == 0x6c && datainlen > 4) {
|
if (len > 1 && dataout[len - 2] == 0x6c && datainlen > 4) {
|
||||||
UsbCommand c2 = {CMD_SMART_RAW, {SC_RAW_T0, datainlen, 0}};
|
UsbCommand c2 = {CMD_SMART_RAW, {SC_RAW_T0, datainlen, 0}};
|
||||||
memcpy(c2.d.asBytes, datain, datainlen);
|
memcpy(c2.d.asBytes, datain, 5);
|
||||||
|
|
||||||
int vlen = 5 + datain[4];
|
// transfer length via T=0
|
||||||
if (datainlen == vlen)
|
c2.d.asBytes[4] = dataout[len - 1];
|
||||||
datainlen++;
|
|
||||||
|
|
||||||
c2.d.asBytes[vlen] = dataout[len - 1];
|
|
||||||
|
|
||||||
clearCommandBuffer();
|
clearCommandBuffer();
|
||||||
SendCommand(&c2);
|
SendCommand(&c2);
|
||||||
|
|||||||
Reference in New Issue
Block a user