X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/a2101157f7f6ffda8274d907bc103b63f87aebb6..f121b478a11894a42f0fdab127974e1e7d521cc3:/client/cmdlfawid.c diff --git a/client/cmdlfawid.c b/client/cmdlfawid.c index 2334e3e3..bddd94af 100644 --- a/client/cmdlfawid.c +++ b/client/cmdlfawid.c @@ -84,6 +84,20 @@ int usage_lf_awid_brute(void){ return 0; } +static int sendPing(void){ + UsbCommand ping = {CMD_PING, {1, 2, 3}}; + SendCommand(&ping); + SendCommand(&ping); + SendCommand(&ping); + + clearCommandBuffer(); + UsbCommand resp; + if (WaitForResponseTimeout(CMD_ACK, &resp, 1000)) { + return 0; + } + return 1; +} + static bool sendTry(uint8_t fmtlen, uint32_t fc, uint32_t cn, uint32_t delay, uint8_t *bs, size_t bs_len){ PrintAndLog("Trying FC: %u; CN: %u", fc, cn); @@ -98,22 +112,12 @@ static bool sendTry(uint8_t fmtlen, uint32_t fc, uint32_t cn, uint32_t delay, ui memcpy(c.d.asBytes, bs, bs_len); clearCommandBuffer(); SendCommand(&c); + msleep(delay); + sendPing(); return TRUE; } -static int sendPing(){ - UsbCommand resp; - UsbCommand ping = {CMD_PING}; - clearCommandBuffer(); SendCommand(&ping); - clearCommandBuffer(); SendCommand(&ping); - clearCommandBuffer(); SendCommand(&ping); - if (WaitForResponseTimeout(CMD_ACK, &resp, 1000)) { - PrintAndLog("aborted via keyboard!"); - return 0; - } - PrintAndLog("Device didnt respond to ABORT"); - return 1; -} + int CmdAWIDDemodFSK(const char *Cmd) { int findone = 0; @@ -367,6 +371,11 @@ int CmdAWIDBrute(const char *Cmd){ for (;;){ + if ( offline ) { + printf("Device offline\n"); + return 2; + } + if (ukbhit()) return sendPing(); // Do one up