From 838db98400ac67c02ed63c2c17300220f50399ef Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Tue, 19 Oct 2010 13:08:56 +0000 Subject: [PATCH] Examples: more ISO14443A ATQA+SAK possible matches --- examples/nfc-utils.c | 39 +++++++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/examples/nfc-utils.c b/examples/nfc-utils.c index 968d786..20ef3a6 100644 --- a/examples/nfc-utils.c +++ b/examples/nfc-utils.c @@ -399,10 +399,6 @@ print_nfc_iso14443a_info (const nfc_iso14443a_info_t nai, bool verbose) printf("* Mifare Plus (4-byte UID) 2K/4K SL3\n"); found_possible_match = true; break; - case 0x000488: - printf("* Mifare Classic 1K Infineon\n"); - found_possible_match = true; - break; case 0x004400: printf("* Mifare Ultralight\n"); printf("* Mifare UltralightC\n"); @@ -438,6 +434,41 @@ print_nfc_iso14443a_info (const nfc_iso14443a_info_t nai, bool verbose) found_possible_match = true; break; } + + // Other matches not described in + // AN MIFARE Type Identification Procedure + // but seen in the field: + switch (atqasak) { + case 0x000488: + printf("* Mifare Classic 1K Infineon\n"); + found_possible_match = true; + break; + case 0x000298: + printf("* Gemplus MPCOS\n"); + found_possible_match = true; + break; + case 0x030428: + printf("* JCOP31\n"); + found_possible_match = true; + break; + case 0x004820: + printf("* JCOP31 v2.4.1\n"); + printf("* JCOP31 v2.2\n"); + found_possible_match = true; + break; + case 0x000428: + printf("* JCOP31 v2.3.1\n"); + found_possible_match = true; + break; + case 0x000238: + printf("* MFC 4K emulated by Nokia 6212 Classic\n"); + found_possible_match = true; + break; + case 0x000838: + printf("* MFC 4K emulated by Nokia 6131 NFC\n"); + found_possible_match = true; + break; + } if ((nai.abtAtqa[0] & 0xf0) == 0) { switch (nai.abtAtqa[1]) { case 0x02: