से Mifare अल्ट्रालाइट भेद वहाँ पता लगाने के लिए अगर एक RFID कार्ड या तो एक Mifare अल्ट्रालाइट या Mifare अल्ट्रालाइट सी है एक विश्वसनीय तरीका है?Mifare अल्ट्रालाइट सी
एक ही रास्ता मैंने पाया अब तक उन दो कार्ड छोटे एक की सीमाओं से परे एक पढ़ें आदेश जारी करने के आकार में अंतर का उपयोग कर रहा है। लेकिन यह एक हैक जैसा दिखता है और मुझे लगता है कि कार्ड अल्ट्रालाइट सी प्रमाणीकरण तंत्र का उपयोग करता है तो पढ़ा गया आदेश विफल हो सकता है।
const char* mifare_ultralight_identification(const nfc_target_info_t nti)
{
byte_t abtCmd[2];
byte_t abtRx[265];
size_t szRxLen;
abtCmd[0] = 0x30; // MIFARE Ultralight READ command
abtCmd[1] = 0x10; // block address (1K=0x00..0x39, 4K=0x00..0xff)
if (!nfc_initiator_transceive_dep_bytes(pnd,abtCmd,2,abtRx,&szRxLen)) {
// READ command of 0x10 failed, we consider that Ultralight does have 0x10 address, so it's a "simple" Ultralight (i.e. not a Ultralight C)
// When a READ failed, the tag returns in HALT state, so we need to reselect tag
nfc_initiator_select_passive_target(pnd, NM_ISO14443A_106, nti.nai.abtUid, nti.nai.szUidLen, NULL);
return "";
}
return " C";
}
मेरी दूसरी सोचा भी था। हालांकि एक कमांड का उपयोग करना जो उनमें से एक पर मौजूद नहीं है, अभी भी एक कामकाज है। लेकिन ऐसा लगता है कि ऐसा करने का कोई साफ तरीका नहीं है। – mibollma
हां, यह सबसे आसान विश्वसनीय तरीका है। –