From 040db45ae4aeb7790aa1a3667fbbce3f6a31c41c Mon Sep 17 00:00:00 2001 From: Romuald Conty Date: Thu, 19 Aug 2010 10:59:45 +0000 Subject: [PATCH] nfc-mfclassic: disable ISO14443-4 auto-switching in order to read devices that emulate Mifare Classic with ISO14443-4 compliance.(e.g. Nokia 6212 Classic) --- examples/nfc-mfclassic.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/examples/nfc-mfclassic.c b/examples/nfc-mfclassic.c index 7b1e628..d6ae8b2 100644 --- a/examples/nfc-mfclassic.c +++ b/examples/nfc-mfclassic.c @@ -424,6 +424,9 @@ main (int argc, const char *argv[]) // Enable field so more power consuming cards can power themselves up nfc_configure (pnd, NDO_ACTIVATE_FIELD, true); + // Disable ISO14443-4 switching in order to read devices that emulate Mifare Classic with ISO14443-4 compliance. + nfc_configure(pnd, NDO_AUTO_ISO14443_4, false); + printf ("Connected to NFC reader: %s\n", pnd->acName); // Try to find a MIFARE Classic tag @@ -446,21 +449,21 @@ main (int argc, const char *argv[]) // Compare if key dump UID is the same as the current tag UID if (memcmp (nti.nai.abtUid, pbtUID, 4) != 0) { - printf ("Expected MIFARE Classic %cK card with UID: %02x%02x%02x%02x\n", b4K ? '4' : '1', pbtUID[3], pbtUID[2], + printf ("Expected MIFARE Classic %ck card with UID: %02x%02x%02x%02x\n", b4K ? '4' : '1', pbtUID[3], pbtUID[2], pbtUID[1], pbtUID[0]); } } // Get the info from the current tag pbtUID = nti.nai.abtUid; b4K = (nti.nai.abtAtqa[1] == 0x02); - printf ("Found MIFARE Classic %cK card with UID: %02x%02x%02x%02x\n", b4K ? '4' : '1', pbtUID[3], pbtUID[2], + printf ("Found MIFARE Classic %ck card with UID: %02x%02x%02x%02x\n", b4K ? '4' : '1', pbtUID[3], pbtUID[2], pbtUID[1], pbtUID[0]); uiBlocks = (b4K) ? 0xff : 0x3f; if (atAction == ACTION_READ) { if (read_card ()) { - printf ("Writing data to file: %s ... ", argv[3]); + printf ("Writing data to file: %s ...", argv[3]); fflush (stdout); pfDump = fopen (argv[3], "wb"); if (fwrite (&mtDump, 1, sizeof (mtDump), pfDump) != sizeof (mtDump)) {