From 17944f7d0a05ee6554e308c614f2a442575964d5 Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Wed, 28 Jul 2021 00:07:18 +0300 Subject: [PATCH] auto read file improvement --- client/src/cmdhfmfdes.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/client/src/cmdhfmfdes.c b/client/src/cmdhfmfdes.c index 9ceb02310..89591f4c3 100644 --- a/client/src/cmdhfmfdes.c +++ b/client/src/cmdhfmfdes.c @@ -6331,7 +6331,12 @@ static int CmdHF14ADesReadData(const char *Cmd) { // get file settings if (op == RFTAuto) { FileSettingsS fsettings; + + DesfireCommunicationMode commMode = dctx.commMode; + DesfireSetCommMode(&dctx, DCMMACed); res = DesfireGetFileSettingsStruct(&dctx, fnum, &fsettings); + DesfireSetCommMode(&dctx, commMode); + if (res == PM3_SUCCESS) { switch(fsettings.fileType) { case 0x00: @@ -6358,8 +6363,12 @@ static int CmdHF14ADesReadData(const char *Cmd) { } } if (verbose) - PrintAndLogEx(INFO, "Got file type: %s. Option: %s", GetDesfireFileType(fsettings.fileType), CLIGetOptionListStr(DesfireReadFileTypeOpts, op)); + PrintAndLogEx(INFO, "Got file type: %s. Option: %s. comm mode: %s", + GetDesfireFileType(fsettings.fileType), + CLIGetOptionListStr(DesfireReadFileTypeOpts, op), + CLIGetOptionListStr(DesfireCommunicationModeOpts, fsettings.commMode)); + DesfireSetCommMode(&dctx, fsettings.commMode); } else { PrintAndLogEx(WARNING, "GetFileSettings error. Can't get file type."); }