mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2024-12-28 19:31:19 +08:00
fix: hf 14a raw was broken
(see http://www.proxmark.org/forum/viewtopic.php?id=2351)
This commit is contained in:
parent
58e93ff593
commit
04bc1c660b
2 changed files with 7 additions and 5 deletions
|
@ -1890,8 +1890,9 @@ void ReaderIso14443a(UsbCommand *c)
|
|||
{
|
||||
iso14a_command_t param = c->arg[0];
|
||||
uint8_t *cmd = c->d.asBytes;
|
||||
size_t len = c->arg[1];
|
||||
size_t lenbits = c->arg[2];
|
||||
size_t len = c->arg[1] & 0xffff;
|
||||
size_t lenbits = c->arg[1] >> 16;
|
||||
uint32_t timeout = c->arg[2];
|
||||
uint32_t arg0 = 0;
|
||||
byte_t buf[USB_CMD_DATA_SIZE];
|
||||
uint8_t par[MAX_PARITY_SIZE];
|
||||
|
@ -1916,7 +1917,7 @@ void ReaderIso14443a(UsbCommand *c)
|
|||
}
|
||||
|
||||
if(param & ISO14A_SET_TIMEOUT) {
|
||||
iso14a_set_timeout(c->arg[2]);
|
||||
iso14a_set_timeout(timeout);
|
||||
}
|
||||
|
||||
if(param & ISO14A_APDU) {
|
||||
|
|
|
@ -560,7 +560,7 @@ int CmdHF14ACmdRaw(const char *cmd) {
|
|||
timeout = temp;
|
||||
i+=3;
|
||||
while(cmd[i]!=' ' && cmd[i]!='\0') { i++; }
|
||||
i+=2;
|
||||
i-=2;
|
||||
break;
|
||||
default:
|
||||
PrintAndLog("Invalid option");
|
||||
|
@ -605,6 +605,7 @@ int CmdHF14ACmdRaw(const char *cmd) {
|
|||
if(active)
|
||||
c.arg[0] |= ISO14A_NO_SELECT;
|
||||
}
|
||||
|
||||
if(bTimeout){
|
||||
#define MAX_TIMEOUT 40542464 // (2^32-1) * (8*16) / 13560000Hz * 1000ms/s =
|
||||
c.arg[0] |= ISO14A_SET_TIMEOUT;
|
||||
|
@ -612,7 +613,7 @@ int CmdHF14ACmdRaw(const char *cmd) {
|
|||
timeout = MAX_TIMEOUT;
|
||||
PrintAndLog("Set timeout to 40542 seconds (11.26 hours). The max we can wait for response");
|
||||
}
|
||||
c.arg[2] = 13560000 / 1000 / (8*16) * timeout; // timeout in ETUs (time to transfer 1 bit, approx. 9.4 us)
|
||||
c.arg[2] = 13560000 / 1000 / (8*16) * timeout; // timeout in ETUs (time to transfer 1 bit, approx. 9.4 us)
|
||||
}
|
||||
if(power)
|
||||
c.arg[0] |= ISO14A_NO_DISCONNECT;
|
||||
|
|
Loading…
Reference in a new issue