diff --git a/client/cmdhw.c b/client/cmdhw.c index 1c2c77a55..72f0b4b2f 100644 --- a/client/cmdhw.c +++ b/client/cmdhw.c @@ -309,15 +309,22 @@ static void lookupChipID(uint32_t iChipID, uint32_t mem_used) { static int CmdDetectReader(const char *Cmd) { uint16_t arg = 0; - // 'l' means LF - 125/134 kHz - if (*Cmd == 'l') { + char c = tolower(Cmd[0]); + switch ( c ) { + case 'l': arg = 1; - } else if (*Cmd == 'h') { + break; + case 'h': arg = 2; - } else if (*Cmd != '\0') { - PrintAndLogEx(NORMAL, "use 'detectreader' or 'detectreader l' or 'detectreader h'"); + break; + default: { + PrintAndLogEx(NORMAL, "use 'detectreader'"); + PrintAndLogEx(NORMAL, " 'detectreader l' -- 125/134 kHz"); + PrintAndLogEx(NORMAL, " 'detectreader h' -- 13.56 mHz"); return PM3_EINVARG; } + } + clearCommandBuffer(); SendCommandOLD(CMD_LISTEN_READER_FIELD, arg, 0, 0, NULL, 0); return PM3_SUCCESS;