Fixed (?) issues from PR #129

This commit is contained in:
Martin Holst Swende 2015-07-16 23:50:41 +02:00
commit 976627d5ba
3 changed files with 13 additions and 3 deletions

View file

@ -667,6 +667,7 @@ void UsbPacketReceived(uint8_t *packet, int len)
break;
case CMD_T55XX_WRITE_BLOCK:
T55xxWriteBlock(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes[0]);
cmd_send(CMD_ACK,0,0,0,0,0);
break;
case CMD_T55XX_READ_TRACE:
T55xxReadTrace();

View file

@ -16,7 +16,7 @@
#include "cmdparser.h" // CmdsParse, CmdsHelp
#include "cmdlfawid.h" // AWID function declarations
#include "lfdemod.h" // parityTest
#include "cmdmain.h"
static int CmdHelp(const char *Cmd);
@ -176,8 +176,7 @@ int CmdAWIDClone(const char *Cmd)
uint32_t fc=0,cn=0,blocks[4] = {0x00107060, 0, 0, 0x11111111}, i=0;
uint8_t BitStream[12];
uint8_t *BS=BitStream;
UsbCommand c;
UsbCommand c, resp;
if (sscanf(Cmd, "%u %u", &fc, &cn ) != 2) {
return usage_lf_awid_clone();
@ -206,6 +205,11 @@ int CmdAWIDClone(const char *Cmd)
c.arg[1] = i;
c.arg[2] = 0;
SendCommand(&c);
if (!WaitForResponseTimeout(CMD_ACK, &resp, 1000)){
PrintAndLog("Error occurred, device did not respond during write operation.");
return -1;
}
}
}
return 0;

View file

@ -670,6 +670,7 @@ int CmdT55xxWriteBlock(const char *Cmd)
}
UsbCommand c = {CMD_T55XX_WRITE_BLOCK, {data, block, 0}};
UsbCommand resp;
c.d.asBytes[0] = 0x0;
PrintAndLog("Writing to block: %d data : 0x%08X", block, data);
@ -681,6 +682,10 @@ int CmdT55xxWriteBlock(const char *Cmd)
PrintAndLog("pwd : 0x%08X", password);
}
SendCommand(&c);
if (!WaitForResponseTimeout(CMD_ACK, &resp, 1000)){
PrintAndLog("Error occurred, device did not ACK write operation. (May be due to old firmware)");
return -1;
}
return 0;
}