ADD: T55XX_WRITE_TIMEOUT to make sure all WaitForResponseTimeout for t55xx behaves the same.
CHG: removed some "DONE!" device prints.. CHG: unified some "clone" commands output.
This commit is contained in:
@@ -15,8 +15,7 @@
|
||||
#include <string.h>
|
||||
#include <limits.h>
|
||||
#include "proxmark3.h"
|
||||
#include "lfdemod.h"
|
||||
|
||||
#include "lfdemod.h" // device/client demods of LF signals
|
||||
#include "util.h" // for parsing cli command utils
|
||||
#include "ui.h" // for show graph controls
|
||||
#include "graph.h" // for graph data
|
||||
@@ -41,6 +40,9 @@
|
||||
#include "cmdlfvisa2000.h" // for VISA2000 menu
|
||||
#include "cmdlfnoralsy.h" // for NORALSY meny
|
||||
#include "cmdlffdx.h" // for FDX-B meny
|
||||
|
||||
#define T55XX_WRITE_TIMEOUT 1500
|
||||
|
||||
int CmdLF(const char *Cmd);
|
||||
|
||||
int CmdLFCommandRead(const char *Cmd);
|
||||
|
||||
@@ -313,7 +313,7 @@ int CmdAWIDClone(const char *Cmd) {
|
||||
c.arg[1] = i;
|
||||
clearCommandBuffer();
|
||||
SendCommand(&c);
|
||||
if (!WaitForResponseTimeout(CMD_ACK, &resp, 1500)){
|
||||
if (!WaitForResponseTimeout(CMD_ACK, &resp, T55XX_WRITE_TIMEOUT)){
|
||||
PrintAndLog("Error occurred, device did not respond during write operation.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -250,7 +250,7 @@ int CmdFdxClone(const char *Cmd) {
|
||||
c.arg[1] = i;
|
||||
clearCommandBuffer();
|
||||
SendCommand(&c);
|
||||
if (!WaitForResponseTimeout(CMD_ACK, &resp, 1000)){
|
||||
if (!WaitForResponseTimeout(CMD_ACK, &resp, T55XX_WRITE_TIMEOUT)){
|
||||
PrintAndLog("Error occurred, device did not respond during write operation.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// Low frequency Farpoint / Pyramid tag commands
|
||||
//-----------------------------------------------------------------------------
|
||||
#include <string.h>
|
||||
#include <inttypes.h>
|
||||
|
||||
#include "cmdlfguard.h"
|
||||
static int CmdHelp(const char *Cmd);
|
||||
|
||||
@@ -40,7 +39,6 @@ int usage_lf_guard_sim(void) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
// Works for 26bits.
|
||||
int GetGuardBits(uint32_t fc, uint32_t cn, uint8_t *guardBits) {
|
||||
|
||||
@@ -50,8 +48,6 @@ int GetGuardBits(uint32_t fc, uint32_t cn, uint8_t *guardBits) {
|
||||
//uint8_t xorKey = rand() % 0xFF;
|
||||
uint8_t xorKey = 0x66;
|
||||
uint8_t i;
|
||||
|
||||
|
||||
uint8_t pre[96];
|
||||
memset(pre, 0x00, sizeof(pre));
|
||||
|
||||
@@ -122,7 +118,7 @@ int GetGuardBits(uint32_t fc, uint32_t cn, uint8_t *guardBits) {
|
||||
|
||||
int CmdGuardRead(const char *Cmd) {
|
||||
CmdLFRead("s");
|
||||
getSamples("20000", TRUE);
|
||||
getSamples("12000", TRUE);
|
||||
return CmdG_Prox_II_Demod("");
|
||||
}
|
||||
|
||||
@@ -161,7 +157,7 @@ int CmdGuardClone(const char *Cmd) {
|
||||
PrintAndLog("Blk | Data ");
|
||||
PrintAndLog("----+------------");
|
||||
for ( i = 0; i<4; ++i )
|
||||
PrintAndLog(" %02d | %08x", i, blocks[i]);
|
||||
PrintAndLog(" %02d | 0x%08x", i, blocks[i]);
|
||||
|
||||
UsbCommand resp;
|
||||
UsbCommand c = {CMD_T55XX_WRITE_BLOCK, {0,0,0}};
|
||||
@@ -171,7 +167,7 @@ int CmdGuardClone(const char *Cmd) {
|
||||
c.arg[1] = i;
|
||||
clearCommandBuffer();
|
||||
SendCommand(&c);
|
||||
if (!WaitForResponseTimeout(CMD_ACK, &resp, 1000)){
|
||||
if (!WaitForResponseTimeout(CMD_ACK, &resp, T55XX_WRITE_TIMEOUT)){
|
||||
PrintAndLog("Error occurred, device did not respond during write operation.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifndef CMDLFGUARD_H__
|
||||
#define CMDLFGUARD_H__
|
||||
#include <string.h>
|
||||
#include <inttypes.h>
|
||||
#include "proxmark3.h"
|
||||
#include "ui.h"
|
||||
#include "util.h"
|
||||
|
||||
@@ -180,7 +180,7 @@ int CmdJablotronClone(const char *Cmd) {
|
||||
c.arg[1] = i;
|
||||
clearCommandBuffer();
|
||||
SendCommand(&c);
|
||||
if (!WaitForResponseTimeout(CMD_ACK, &resp, 1000)){
|
||||
if (!WaitForResponseTimeout(CMD_ACK, &resp, T55XX_WRITE_TIMEOUT)){
|
||||
PrintAndLog("Error occurred, device did not respond during write operation.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -254,7 +254,7 @@ int CmdLFNedapClone(const char *Cmd) {
|
||||
c.arg[1] = i;
|
||||
clearCommandBuffer();
|
||||
SendCommand(&c);
|
||||
if (!WaitForResponseTimeout(CMD_ACK, &resp, 1000)){
|
||||
if (!WaitForResponseTimeout(CMD_ACK, &resp, T55XX_WRITE_TIMEOUT)){
|
||||
PrintAndLog("Error occurred, device did not respond during write operation.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -184,7 +184,7 @@ int CmdNoralsyClone(const char *Cmd) {
|
||||
c.arg[1] = i;
|
||||
clearCommandBuffer();
|
||||
SendCommand(&c);
|
||||
if (!WaitForResponseTimeout(CMD_ACK, &resp, 1000)){
|
||||
if (!WaitForResponseTimeout(CMD_ACK, &resp, T55XX_WRITE_TIMEOUT)){
|
||||
PrintAndLog("Error occurred, device did not respond during write operation.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -116,13 +116,12 @@ int GetPrescoBits(uint32_t fullcode, uint8_t *prescoBits) {
|
||||
//see ASKDemod for what args are accepted
|
||||
int CmdPrescoDemod(const char *Cmd) {
|
||||
bool st = true;
|
||||
|
||||
if (!ASKDemod_ext("32 0 0", FALSE, FALSE, 1, &st)) {
|
||||
if (g_debugMode) PrintAndLog("DEBUG: Error Presco ASKDemod failed");
|
||||
return 0;
|
||||
}
|
||||
size_t size = DemodBufferLen;
|
||||
//call lfdemod.c demod for Viking
|
||||
//call lfdemod.c demod for Presco
|
||||
int ans = PrescoDemod(DemodBuffer, &size);
|
||||
if (ans < 0) {
|
||||
if (g_debugMode){
|
||||
@@ -163,7 +162,7 @@ int CmdPrescoRead(const char *Cmd) {
|
||||
// read lf silently
|
||||
CmdLFRead("s");
|
||||
// get samples silently
|
||||
getSamples("20000", TRUE);
|
||||
getSamples("12000", TRUE);
|
||||
// demod and output Presco ID
|
||||
return CmdPrescoDemod(Cmd);
|
||||
}
|
||||
@@ -174,7 +173,7 @@ int CmdPrescoClone(const char *Cmd) {
|
||||
|
||||
bool Q5 = false;
|
||||
uint32_t sitecode=0, usercode=0, fullcode=0;
|
||||
uint32_t blocks[5] = {T55x7_MODULATION_MANCHESTER | T55x7_BITRATE_RF_32 | 4<<T55x7_MAXBLOCK_SHIFT | T55x7_ST_TERMINATOR, 0, 0, 0, 5};
|
||||
uint32_t blocks[5] = {T55x7_MODULATION_MANCHESTER | T55x7_BITRATE_RF_32 | 4<<T55x7_MAXBLOCK_SHIFT | T55x7_ST_TERMINATOR, 0, 0, 0, 0};
|
||||
|
||||
// get wiegand from printed number.
|
||||
if (GetWiegandFromPresco(Cmd, &sitecode, &usercode, &fullcode, &Q5) == -1) return usage_lf_presco_clone();
|
||||
@@ -215,7 +214,7 @@ int CmdPrescoClone(const char *Cmd) {
|
||||
c.arg[1] = i;
|
||||
clearCommandBuffer();
|
||||
SendCommand(&c);
|
||||
if (!WaitForResponseTimeout(CMD_ACK, &resp, 1000)){
|
||||
if (!WaitForResponseTimeout(CMD_ACK, &resp, T55XX_WRITE_TIMEOUT)){
|
||||
PrintAndLog("Error occurred, device did not respond during write operation.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -115,7 +115,7 @@ int CmdPyramidClone(const char *Cmd) {
|
||||
PrintAndLog("Blk | Data ");
|
||||
PrintAndLog("----+------------");
|
||||
for ( i = 0; i<5; ++i )
|
||||
PrintAndLog(" %02d | %08" PRIx32, i, blocks[i]);
|
||||
PrintAndLog(" %02d | 0x%08" PRIx32, i, blocks[i]);
|
||||
|
||||
UsbCommand resp;
|
||||
UsbCommand c = {CMD_T55XX_WRITE_BLOCK, {0,0,0}};
|
||||
@@ -125,7 +125,7 @@ int CmdPyramidClone(const char *Cmd) {
|
||||
c.arg[1] = i;
|
||||
clearCommandBuffer();
|
||||
SendCommand(&c);
|
||||
if (!WaitForResponseTimeout(CMD_ACK, &resp, 1000)){
|
||||
if (!WaitForResponseTimeout(CMD_ACK, &resp, T55XX_WRITE_TIMEOUT)){
|
||||
PrintAndLog("Error occurred, device did not respond during write operation.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -1410,10 +1410,9 @@ void t55x7_create_config_block( int tagtype ){
|
||||
|
||||
int CmdResetRead(const char *Cmd) {
|
||||
UsbCommand c = {CMD_T55XX_RESET_READ, {0,0,0}};
|
||||
|
||||
clearCommandBuffer();
|
||||
SendCommand(&c);
|
||||
if ( !WaitForResponseTimeout(CMD_ACK,NULL,2500) ) {
|
||||
if ( !WaitForResponseTimeout(CMD_ACK, NULL, 2500) ) {
|
||||
PrintAndLog("command execution time out");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -137,7 +137,7 @@ int CmdVisa2kClone(const char *Cmd) {
|
||||
c.arg[1] = i;
|
||||
clearCommandBuffer();
|
||||
SendCommand(&c);
|
||||
if (!WaitForResponseTimeout(CMD_ACK, &resp, 1000)){
|
||||
if (!WaitForResponseTimeout(CMD_ACK, &resp, T55XX_WRITE_TIMEOUT)){
|
||||
PrintAndLog("Error occurred, device did not respond during write operation.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user