Запись RFID меток. Модуль RC522

arduinoandatmega8
Offline
Зарегистрирован: 25.07.2017

Приветствую!

Пытаюсь научится записывать метки на ключ. Нашёл единственный рабочий пример тут (https://arthurphdent.livejournal.com/1759.html)

вот когд:


#include <SPI.h>//include the SPI bus library
#include <MFRC522.h>//include the RFID reader library

#define RST_PIN         9           
#define SS_PIN          10          

MFRC522 mfrc522(SS_PIN, RST_PIN);   
MFRC522::MIFARE_Key key;

void setup() {
    Serial.begin(9600); 
    while (!Serial);    
    SPI.begin();        
    mfrc522.PCD_Init(); 

    // Подготовим ключ
    // используем ключ FFFFFFFFFFFFh который является стандартом для пустых карт
    for (byte i = 0; i < 6; i++) {
        key.keyByte[i] = 0xFF;
    }

    Serial.println(F("Scan a MIFARE Classic PICC to demonstrate read and write."));
    Serial.print(F("Using key (for A and B):"));
    dump_byte_array(key.keyByte, MFRC522::MF_KEY_SIZE);
    Serial.println();
    
    Serial.println(F("BEWARE: Data will be written to the PICC, in sector #1"));
}

void loop() {
    // Ждем новую карту
    if ( ! mfrc522.PICC_IsNewCardPresent())
        return;

    // Выбираем одну из карт
    if ( ! mfrc522.PICC_ReadCardSerial())
        return;

    // Показываем подробности карты
    Serial.print(F("Card UID:"));
    dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
    Serial.println();
    Serial.print(F("PICC type: "));
    byte piccType = mfrc522.PICC_GetType(mfrc522.uid.sak);
    Serial.println(mfrc522.PICC_GetTypeName(piccType));

    // Проверяем совместимость
    if (    piccType != MFRC522::PICC_TYPE_MIFARE_MINI
        &&  piccType != MFRC522::PICC_TYPE_MIFARE_1K
        &&  piccType != MFRC522::PICC_TYPE_MIFARE_4K) {
        Serial.println(F("This sample only works with MIFARE Classic cards."));
        return;
    }

    // В этом примере мы используем первый сектор данных карты, блок 4
    byte sector         = 1;
    byte blockAddr      = 4;
    byte dataBlock[]    = { // Данные, которые мы запишем на карту
        0x01, 0x02, 0x03, 0x04, //  1,  2,   3,  4,
        0x05, 0x06, 0x07, 0x08, //  5,  6,   7,  8,
        0x08, 0x09, 0xff, 0x0b, //  9, 10, 255, 12,
        0x0c, 0x0d, 0x0e, 0x0f  // 13, 14,  15, 16
    };
    byte trailerBlock   = 7;
    byte status;
    byte buffer[18];
    byte size = sizeof(buffer);

    // Аутентификация
    Serial.println(F("Authenticating using key A..."));
    status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, trailerBlock, &key, &(mfrc522.uid));
    if (status != MFRC522::STATUS_OK) {
        Serial.print(F("PCD_Authenticate() failed: "));
        Serial.println(mfrc522.GetStatusCodeName(status));
        return;
    }

    // Показываем текущие данные сектора
    Serial.println(F("Current data in sector:"));
    mfrc522.PICC_DumpMifareClassicSectorToSerial(&(mfrc522.uid), &key, sector);
    Serial.println();

    // Читаем данные из блока
    Serial.print(F("Reading data from block ")); Serial.print(blockAddr);
    Serial.println(F(" ..."));
    status = mfrc522.MIFARE_Read(blockAddr, buffer, &size);
    if (status != MFRC522::STATUS_OK) {
        Serial.print(F("MIFARE_Read() failed: "));
        Serial.println(mfrc522.GetStatusCodeName(status));
    }
    Serial.print(F("Data in block ")); Serial.print(blockAddr); Serial.println(F(":"));
    dump_byte_array(buffer, 16); Serial.println();
    Serial.println();

    // Аутентификация
    Serial.println(F("Authenticating again using key B..."));
    status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_B, trailerBlock, &key, &(mfrc522.uid));
    if (status != MFRC522::STATUS_OK) {
        Serial.print(F("PCD_Authenticate() failed: "));
        Serial.println(mfrc522.GetStatusCodeName(status));
        return;
    }

    // Записываем данные в блок
    Serial.print(F("Writing data into block ")); Serial.print(blockAddr);
    Serial.println(F(" ..."));
    dump_byte_array(dataBlock, 16); Serial.println();
    status = mfrc522.MIFARE_Write(blockAddr, dataBlock, 16);
    if (status != MFRC522::STATUS_OK) {
        Serial.print(F("MIFARE_Write() failed: "));
        Serial.println(mfrc522.GetStatusCodeName(status));
    }
    Serial.println();

    // Читаем данные снова, чтобы проверить, что запись прошла успешно
    Serial.print(F("Reading data from block ")); Serial.print(blockAddr);
    Serial.println(F(" ..."));
    status = mfrc522.MIFARE_Read(blockAddr, buffer, &size);
    if (status != MFRC522::STATUS_OK) {
        Serial.print(F("MIFARE_Read() failed: "));
        Serial.println(mfrc522.GetStatusCodeName(status));
    }
    Serial.print(F("Data in block ")); Serial.print(blockAddr); Serial.println(F(":"));
    dump_byte_array(buffer, 16); Serial.println();
       
    Serial.println(F("Checking result..."));
    byte count = 0;
    for (byte i = 0; i < 16; i++) {
        if (buffer[i] == dataBlock[i])
            count++;
    }
    Serial.print(F("Number of bytes that match = ")); Serial.println(count);
    if (count == 16) {
        Serial.println(F("Success :-)"));
    } else {
        Serial.println(F("Failure, no match :-("));
        Serial.println(F("  perhaps the write didn't work properly..."));
    }
    Serial.println();
        
    // Выводим данные
    Serial.println(F("Current data in sector:"));
    mfrc522.PICC_DumpMifareClassicSectorToSerial(&(mfrc522.uid), &key, sector);
    Serial.println();

    mfrc522.PICC_HaltA();
    mfrc522.PCD_StopCrypto1();
}

void dump_byte_array(byte *buffer, byte bufferSize) {
    for (byte i = 0; i < bufferSize; i++) {
        Serial.print(buffer[i] < 0x10 ? " 0" : " ");
        Serial.print(buffer[i], HEX);
    }
}

 

arduinoandatmega8
Offline
Зарегистрирован: 25.07.2017

Блин, не успел дописать в вопрос в посте, он уже опубликовался и не изменяется... ну ок продолжим.

Дак вот, этот код работает с указаным блоком

 // В этом примере мы используем первый сектор данных карты, блок 4
    byte sector         = 1;
    byte blockAddr      = 4;
    byte dataBlock[]    = { // Данные, которые мы запишем на карту
        0x01, 0x02, 0x03, 0x04, //  1,  2,   3,  4,
        0x05, 0x06, 0x07, 0x08, //  5,  6,   7,  8,
        0x08, 0x09, 0xff, 0x0b, //  9, 10, 255, 12,
        0x0c, 0x0d, 0x0e, 0x0f  // 13, 14,  15, 16

и отлично перезаписывает. Но если изменить

 byte sector         = 0;

байт сектор на 0, или любой другой, ничего не работает. происходит бесперрывный отбмен с сериалом по кругу и ничего не перезаписывается...

как перезаписать другие блоки и сектора???

Спасибо!


b707
Offline
Зарегистрирован: 26.05.2017

Блок 0 - специальный блок, хранящий системные данные карточки. Пытаться его перезаписать без должного понимания - верный путь заблочить всю карту. Похоже именно это у вас и произошло, если так - эту конкретную карту теперь можно выкинуть.

Для проверки возьмите новую карточку и попробуйте свой код на ней. записывая. к примеру, вместо блока 4 - блок 11 или 16... но только не 0.

Насчет "единственный рабочий пример" - это чистое вранье, примеров записи блоков в инете десятки, и в первую очередь в примерах к самой библиотеке.

arduinoandatmega8
Offline
Зарегистрирован: 25.07.2017

b707 пишет:

Блок 0 - специальный блок, хранящий системные данные карточки. Пытаться его перезаписать без должного понимания - верный путь заблочить всю карту. Похоже именно это у вас и произошло, если так - эту конкретную карту теперь можно выкинуть.

Для проверки возьмите новую карточку и попробуйте свой код на ней. записывая. к примеру, вместо блока 4 - блок 11 или 16... но только не 0.

Насчет "единственный рабочий пример" - это чистое вранье, примеров записи блоков в инете десятки, и в первую очередь в примерах к самой библиотеке.

нет, запись любых блоков кроме первоначально установленого, вообще не происходит. не с 0, не с 11 не с 16.

данные не пишутся. с 0 тоже ничего вообще не перезаписалось, карта рабочая по прежнему.

По поводу примеров запеси, простите я не нашёл. в примерах к бибилотеке,с запесью тоже непонятно что за скетчи и как они работают. у меня не получилось

и на ютубе примеров запеси рабочих нет, которые можно повторить

arduinoandatmega8
Offline
Зарегистрирован: 25.07.2017

вот, при любой конфигурации (в данном случаии 11,47),

  byte sector         = 11;
    byte blockAddr      = 47;

в порт шлётся бесконенчо (пока не уберешь ключь от ридера) вот это

Scan a MIFARE Classic PICC to demonstrate read and write.
Using key (for A and B): FF FF FF FF FF FF
BEWARE: Data will be written to the PICC, in sector #1
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 47 ...
Data in block 47:
 00 00 00 00 00 00 FF 07 80 69 FF FF FF FF FF FF
 
Authenticating again using key B...
Writing data into block 47 ...
 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF
MIFARE_Write() failed: A MIFARE PICC responded with NAK.
 
Reading data from block 47 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 47:
 30 2F F7 71 00 00 FF 07 80 69 FF FF FF FF FF FF
Checking result...
Number of bytes that match = 7
Failure, no match :-(
  perhaps the write didn't work properly...
 
Current data in sector:
  11     47  PCD_Authenticate() failed: Timeout in communication.
 
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 47 ...
Data in block 47:
 00 00 00 00 00 00 FF 07 80 69 FF FF FF FF FF FF
 
Authenticating again using key B...
Writing data into block 47 ...
 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF
MIFARE_Write() failed: A MIFARE PICC responded with NAK.
 
Reading data from block 47 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 47:
 30 2F F7 71 00 00 FF 07 80 69 FF FF FF FF FF FF
Checking result...
Number of bytes that match = 7
Failure, no match :-(
  perhaps the write didn't work properly...
 
Current data in sector:
  11     47  PCD_Authenticate() failed: Timeout in communication.
 
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 47 ...
Data in block 47:
 00 00 00 00 00 00 FF 07 80 69 FF FF FF FF FF FF
 
Authenticating again using key B...
Writing data into block 47 ...
 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF
MIFARE_Write() failed: A MIFARE PICC responded with NAK.
 
Reading data from block 47 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 47:
 30 2F F7 71 00 00 FF 07 80 69 FF FF FF FF FF FF
Checking result...
Number of bytes that match = 7
Failure, no match :-(
  perhaps the write didn't work properly...
 
Current data in sector:
  11     47  PCD_Authenticate() failed: Timeout in communication.
 
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 47 ...
Data in block 47:
 00 00 00 00 00 00 FF 07 80 69 FF FF FF FF FF FF
 
Authenticating again using key B...
Writing data into block 47 ...
 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF
MIFARE_Write() failed: A MIFARE PICC responded with NAK.
 
Reading data from block 47 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 47:
 30 2F F7 71 00 00 FF 07 80 69 FF FF FF FF FF FF
Checking result...
Number of bytes that match = 7
Failure, no match :-(
  perhaps the write didn't work properly...
 
Current data in sector:
  11     47  PCD_Authenticate() failed: Timeout in communication.
 
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 47 ...
Data in block 47:
 00 00 00 00 00 00 FF 07 80 69 FF FF FF FF FF FF
 
Authenticating again using key B...
Writing data into block 47 ...
 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF
MIFARE_Write() failed: A MIFARE PICC responded with NAK.
 
Reading data from block 47 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 47:
 30 2F F7 71 00 00 FF 07 80 69 FF FF FF FF FF FF
Checking result...
Number of bytes that match = 7
Failure, no match :-(
  perhaps the write didn't work properly...
 
Current data in sector:
  11     47  PCD_Authenticate() failed: Timeout in communication.
 
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 47 ...
Data in block 47:
 00 00 00 00 00 00 FF 07 80 69 FF FF FF FF FF FF
 
Authenticating again using key B...
Writing data into block 47 ...
 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF
MIFARE_Write() failed: A MIFARE PICC responded with NAK.
 
Reading data from block 47 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 47:
 30 2F F7 71 00 00 FF 07 80 69 FF FF FF FF FF FF
Checking result...
Number of bytes that match = 7
Failure, no match :-(
  perhaps the write didn't work properly...
 
Current data in sector:
  11     47  PCD_Authenticate() failed: Timeout in communication.
 
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 47 ...
Data in block 47:
 00 00 00 00 00 00 FF 07 80 69 FF FF FF FF FF FF
 
Authenticating again using key B...
Writing data into block 47 ...
 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF
MIFARE_Write() failed: A MIFARE PICC responded with NAK.
 
Reading data from block 47 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 47:
 30 2F F7 71 00 00 FF 07 80 69 FF FF FF FF FF FF
Checking result...
Number of bytes that match = 7
Failure, no match :-(
  perhaps the write didn't work properly...
 
Current data in sector:
  11     47  PCD_Authenticate() failed: Timeout in communication.
 
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 47 ...
Data in block 47:
 00 00 00 00 00 00 FF 07 80 69 FF FF FF FF FF FF
 
Authenticating again using key B...
Writing data into block 47 ...
 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF
MIFARE_Write() failed: A MIFARE PICC responded with NAK.
 
Reading data from block 47 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 47:
 30 2F F7 71 00 00 FF 07 80 69 FF FF FF FF FF FF
Checking result...
Number of bytes that match = 7
Failure, no match :-(
  perhaps the write didn't work properly...
 
Current data in sector:
  11     47  PCD_Authenticate() failed: Timeout in communication.
 
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 47 ...
Data in block 47:
 00 00 00 00 00 00 FF 07 80 69 FF FF FF FF FF FF
 
Authenticating again using key B...
Writing data into block 47 ...
 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF
MIFARE_Write() failed: A MIFARE PICC responded with NAK.
 
Reading data from block 47 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 47:
 30 2F F7 71 00 00 FF 07 80 69 FF FF FF FF FF FF
Checking result...
Number of bytes that match = 7
Failure, no match :-(
  perhaps the write didn't work properly...
 
Current data in sector:
  11     47  PCD_Authenticate() failed: Timeout in communication.
 
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 47 ...
Data in block 47:
 00 00 00 00 00 00 FF 07 80 69 FF FF FF FF FF FF
 
Authenticating again using key B...
Writing data into block 47 ...
 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF
MIFARE_Write() failed: A MIFARE PICC responded with NAK.
 
Reading data from block 47 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 47:
 30 2F F7 71 00 00 FF 07 80 69 FF FF FF FF FF FF
Checking result...
Number of bytes that match = 7
Failure, no match :-(
  perhaps the write didn't work properly...
 
Current data in sector:
  11     47  PCD_Authenticate() failed: Timeout in communication.
 
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 47 ...
Data in block 47:
 00 00 00 00 00 00 FF 07 80 69 FF FF FF FF FF FF
 
Authenticating again using key B...
Writing data into block 47 ...
 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF
MIFARE_Write() failed: A MIFARE PICC responded with NAK.
 
Reading data from block 47 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 47:
 30 2F F7 71 00 00 FF 07 80 69 FF FF FF FF FF FF
Checking result...
Number of bytes that match = 7
Failure, no match :-(
  perhaps the write didn't work properly...
 
Current data in sector:
  11     47  PCD_Authenticate() failed: Timeout in communication.
 
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46  MIFARE_Read() failed: The CRC_A does not match.
         45  MIFARE_Read() failed: The CRC_A does not match.
         44  MIFARE_Read() failed: Timeout in communication.
 
Reading data from block 47 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 47:
 30 2F F7 71 00 00 FF 07 80 69 FF FF FF FF FF FF
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
 

 

arduinoandatmega8
Offline
Зарегистрирован: 25.07.2017
byte sector         = 11;
    byte blockAddr      = 4;
    byte dataBlock[]    = { // NEW DATA to Write
        0x00, 0x00, 0x00, 0x00, //  1,  2,   3,  4,
        0xFF, 0xFF, 0xFF, 0xFF, //  5,  6,   7,  8,
        0xFF, 0xFF, 0xFF, 0xFF, //  9, 10, 255, 12,
        0xFF, 0xFF, 0xFF, 0xFF  // 13, 14,  15, 16

получаем это

Scan a MIFARE Classic PICC to demonstrate read and write.
Using key (for A and B): FF FF FF FF FF FF
BEWARE: Data will be written to the PICC, in sector #1
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 4 ...
MIFARE_Read() failed: A MIFARE PICC responded with NAK.
Data in block 4:
 04 04 26 EE 00 3D 52 00 D8 3D 3D 24 91 01 BE 40
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 4 ...
MIFARE_Read() failed: A MIFARE PICC responded with NAK.
Data in block 4:
 04 04 26 EE 00 3D 52 00 D8 3D 3D 24 91 01 BE 40
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 4 ...
MIFARE_Read() failed: A MIFARE PICC responded with NAK.
Data in block 4:
 04 04 26 EE 00 3D 52 00 D8 3D 3D 24 91 01 BE 40
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 4 ...
MIFARE_Read() failed: A MIFARE PICC responded with NAK.
Data in block 4:
 04 04 26 EE 00 3D 52 00 D8 3D 3D 24 91 01 BE 40
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 4 ...
MIFARE_Read() failed: A MIFARE PICC responded with NAK.
Data in block 4:
 04 04 26 EE 00 3D 52 00 D8 3D 3D 24 91 01 BE 40
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 4 ...
MIFARE_Read() failed: A MIFARE PICC responded with NAK.
Data in block 4:
 04 04 26 EE 00 3D 52 00 D8 3D 3D 24 91 01 BE 40
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 4 ...
MIFARE_Read() failed: A MIFARE PICC responded with NAK.
Data in block 4:
 04 04 26 EE 00 3D 52 00 D8 3D 3D 24 91 01 BE 40
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 4 ...
MIFARE_Read() failed: A MIFARE PICC responded with NAK.
Data in block 4:
 04 04 26 EE 00 3D 52 00 D8 3D 3D 24 91 01 BE 40
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 4 ...
MIFARE_Read() failed: A MIFARE PICC responded with NAK.
Data in block 4:
 04 04 26 EE 00 3D 52 00 D8 3D 3D 24 91 01 BE 40
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 4 ...
MIFARE_Read() failed: A MIFARE PICC responded with NAK.
Data in block 4:
 04 04 26 EE 00 3D 52 00 D8 3D 3D 24 91 01 BE 40
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 4 ...
MIFARE_Read() failed: A MIFARE PICC responded with NAK.
Data in block 4:
 04 04 26 EE 00 3D 52 00 D8 3D 3D 24 91 01 BE 40
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
 
arduinoandatmega8
Offline
Зарегистрирован: 25.07.2017
 byte sector         = 16;
    byte blockAddr      = 4;

вот это:

Scan a MIFARE Classic PICC to demonstrate read and write.
Using key (for A and B): FF FF FF FF FF FF
BEWARE: Data will be written to the PICC, in sector #1
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  16     67  PCD_Authenticate() failed: Error in communication.
 
Reading data from block 4 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 4:
 30 04 26 EE 00 3D 52 00 D8 01 BE 1F 70 01 BE 1A
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  16     67  PCD_Authenticate() failed: Error in communication.
 
Reading data from block 4 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 4:
 30 04 26 EE 00 3D 52 00 D8 01 BE 1F 70 01 BE 1A
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  16     67  PCD_Authenticate() failed: Error in communication.
 
Reading data from block 4 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 4:
 30 04 26 EE 00 3D 52 00 D8 01 BE 1F 70 01 BE 1A
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  16     67  PCD_Authenticate() failed: Error in communication.
 
Reading data from block 4 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 4:
 30 04 26 EE 00 3D 52 00 D8 01 BE 1F 70 01 BE 1A
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  16     67  PCD_Authenticate() failed: Error in communication.
 
Reading data from block 4 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 4:
 30 04 26 EE 00 3D 52 00 D8 01 BE 1F 70 01 BE 1A
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  16     67  PCD_Authenticate() failed: Error in communication.
 
Reading data from block 4 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 4:
 30 04 26 EE 00 3D 52 00 D8 01 BE 1F 70 01 BE 1A
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  16     67  PCD_Authenticate() failed: Error in communication.
 
Reading data from block 4 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 4:
 30 04 26 EE 00 3D 52 00 D8 01 BE 1F 70 01 BE 1A
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  16     67  PCD_Authenticate() failed: Error in communication.
 
Reading data from block 4 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 4:
 30 04 26 EE 00 3D 52 00 D8 01 BE 1F 70 01 BE 1A
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  16     67  PCD_Authenticate() failed: Error in communication.
 
Reading data from block 4 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 4:
 30 04 26 EE 00 3D 52 00 D8 01 BE 1F 70 01 BE 1A
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  16     67  PCD_Authenticate() failed: Error in communication.
 
Reading data from block 4 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 4:
 30 04 26 EE 00 3D 52 00 D8 01 BE 1F 70 01 BE 1A
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  16     67  PCD_Authenticate() failed: Error in communication.
 
Reading data from block 4 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 4:
 30 04 26 EE 00 3D 52 00 D8 01 BE 1F 70 01 BE 1A
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  16     67  PCD_Authenticate() failed: Error in communication.
 
Reading data from block 4 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 4:
 30 04 26 EE 00 3D 52 00 D8 01 BE 1F 70 01 BE 1A
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  16     67  PCD_Authenticate() failed: Error in communication.
 
Reading data from block 4 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 4:
 30 04 26 EE 00 3D 52 00 D8 01 BE 1F 70 01 BE 1A
 
Authenticating again using key B...
PCD_Authenticate() failed: Timeout in communication.
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
PCD_Authenticate() failed: Error in communication.
 
 
b707
Offline
Зарегистрирован: 26.05.2017

ну вы сами-то не видите, что делаете ерунду? - вы же говорите, что хотите писать в другой блок - а сами все время пишете в один и тот же - в блок номер 4.

 

У вас не работает, потому что вы авторизуетесь в один сектор, а писать пытаетесь в другой. Номер сектора и номер блока должны соответвовать друг другу. Сектор 0 содержит блоки с 0 до 3, сектор 1 - с 4 до 7 и так далее Таким образом, когда вы указываете сектор 1 и блок 4 - все пишется. Если же вы хотите писать в сектор 11, то в нем нет блока номер 4 - номера блоков в секторе 11 - от 44 до 47.

Укажите в строчках 56 и 57

byte sector         = 11;
byte blockAddr      = 46;

и проверьте - все должно заработать

arduinoandatmega8
Offline
Зарегистрирован: 25.07.2017

b707 пишет:

ну вы сами-то не видите, что делаете ерунду? - вы же говорите, что хотите писать в другой блок - а сами все время пишете в один и тот же - в блок номер 4.

 

У вас не работает, потому что вы авторизуетесь в один сектор, а писать пытаетесь в другой. Номер сектора и номер блока должны соответвовать друг другу. Сектор 0 содержит блоки с 0 до 3, сектор 1 - с 4 до 7 и так далее Таким образом, когда вы указываете сектор 1 и блок 4 - все пишется. Если же вы хотите писать в сектор 11, то в нем нет блока номер 4 - номера блоков в секторе 11 - от 44 до 47.

Укажите в строчках 56 и 57

byte sector         = 11;
byte blockAddr      = 46;

и проверьте - все должно заработать

 

всё тоже самое

(это оказывается и есть код из примеров библиотеке ReadandWrite). но работает она только с одними дефолтными настройками 1.4)

Scan a MIFARE Classic PICC to demonstrate read and write.

Using key (for A and B): FF FF FF FF FF FF
BEWARE: Data will be written to the PICC, in sector #1
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 46 ...
Data in block 46:
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 
Authenticating again using key B...
Writing data into block 46 ...
 01 02 03 04 05 06 07 08 09 0A FF 0B 0C 0D 0E 0F
MIFARE_Write() failed: A MIFARE PICC responded with NAK.
 
Reading data from block 46 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 46:
 30 2E 7E 60 00 00 00 00 00 00 00 00 00 00 00 00
Checking result...
Number of bytes that match = 0
Failure, no match :-(
  perhaps the write didn't work properly...
 
Current data in sector:
  11     47  PCD_Authenticate() failed: Timeout in communication.
 
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 46 ...
Data in block 46:
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 
Authenticating again using key B...
Writing data into block 46 ...
 01 02 03 04 05 06 07 08 09 0A FF 0B 0C 0D 0E 0F
MIFARE_Write() failed: A MIFARE PICC responded with NAK.
 
Reading data from block 46 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 46:
 30 2E 7E 60 00 00 00 00 00 00 00 00 00 00 00 00
Checking result...
Number of bytes that match = 0
Failure, no match :-(
  perhaps the write didn't work properly...
 
Current data in sector:
  11     47  PCD_Authenticate() failed: Timeout in communication.
 
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 46 ...
Data in block 46:
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 
Authenticating again using key B...
Writing data into block 46 ...
 01 02 03 04 05 06 07 08 09 0A FF 0B 0C 0D 0E 0F
MIFARE_Write() failed: A MIFARE PICC responded with NAK.
 
Reading data from block 46 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 46:
 30 2E 7E 60 00 00 00 00 00 00 00 00 00 00 00 00
Checking result...
Number of bytes that match = 0
Failure, no match :-(
  perhaps the write didn't work properly...
 
Current data in sector:
  11     47  PCD_Authenticate() failed: Timeout in communication.
 
Card UID: 6B 15 B3 0D
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
  11     47   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
         46   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         45   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
         44   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
 
Reading data from block 46 ...
Data in block 46:
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 
Authenticating again using key B...
Writing data into block 46 ...
 01 02 03 04 05 06 07 08 09 0A FF 0B 0C 0D 0E 0F
MIFARE_Write() failed: A MIFARE PICC responded with NAK.
 
Reading data from block 46 ...
MIFARE_Read() failed: Timeout in communication.
Data in block 46:
 30 2E 7E 60 00 00 00 00 00 00 00 00 00 00 00 00
Checking result...
Number of bytes that match = 0
Failure, no match :-(
  perhaps the write didn't work properly...
 
Current data in sector:
  11     47  PCD_Authenticate() failed: Timeout in communication.
 

 

arduinoandatmega8
Offline
Зарегистрирован: 25.07.2017

причем я же делал сектор как по таблице (комментарий #4)

(

вот, при любой конфигурации (в данном случаии 11,47),

1 byte sector         = 11;
2   byte blockAddr      = 47;

в порт шлётся бесконенчо (пока не уберешь ключь от ридера) вот это

)

 

b707
Offline
Зарегистрирован: 26.05.2017

поменяйте строчку 97 на

status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, trailerBlock, &key, &(mfrc522.uid));

 

arduinoandatmega8
Offline
Зарегистрирован: 25.07.2017

b707 пишет:

поменяйте строчку 97 на

status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, trailerBlock, &key, &(mfrc522.uid));

 

 

Огромное Вам спасибо!!! Всё заработало с любыми параметрами!!!

А вы немоглибы помочь мне понять, почему изначально там была дапущена эта ошибка и ничего не работало в иной онфигурации блоков? А так же что эта строчка конкретно делает? Ещё раз спасибо!

 

arduinoandatmega8
Offline
Зарегистрирован: 25.07.2017

опять всё сломалось. причем  с дургим ключом работает. Интересно, сколько раз можно перезаписать этот ключ (синий брелок с китая), я всего раз 7 записал по вашему способо и писатся перестало, причем и читатся первые 4 блока перестали...

b707
Offline
Зарегистрирован: 26.05.2017

arduinoandatmega8 пишет:

А вы немоглибы помочь мне понять, почему изначально там была дапущена эта ошибка и ничего не работало в иной онфигурации блоков? А так же что эта строчка конкретно делает? Ещё раз спасибо!

Этой строчкой мы меняем ключ, используемый для записи блоков, с key_B на key_А. Никакой ошибки в библиотеке и в примере нет, какой ключ подойдет - зависит только от того, как запрограммировали карту при продаже. Так что на одних карточках для записи используется ключА, а на других Б. В дальнейшем вы можете поменять эти настройки сами путем перезаписи битов доступа.

arduinoandatmega8
Offline
Зарегистрирован: 25.07.2017

Ещё раз огромное спасибо!

b707
Offline
Зарегистрирован: 26.05.2017

arduinoandatmega8 пишет:

опять всё сломалось. причем  с дургим ключом работает. Интересно, сколько раз можно перезаписать этот ключ (синий брелок с китая), я всего раз 7 записал по вашему способо и писатся перестало, причем и читатся первые 4 блока перестали...

я вам писал, что далеко не все данные на карте можно переписывать. Совет - прежде чем что-то писать на карту. тщательно изучите описание формата. В последнем блоке каждого сектора хранятся биты доступа и ключи. Пока не разберетесь с ними - старайтесь не писать ничего в эти блоки. Я ж не зря вам указал для примера блок 46 а не 47, а вы зачем-то изменили

arduinoandatmega8
Offline
Зарегистрирован: 25.07.2017

b707 пишет:

arduinoandatmega8 пишет:

опять всё сломалось. причем  с дургим ключом работает. Интересно, сколько раз можно перезаписать этот ключ (синий брелок с китая), я всего раз 7 записал по вашему способо и писатся перестало, причем и читатся первые 4 блока перестали...

я вам писал, что далеко не все данные на карте можно переписывать. Совет - прежде чем что-то писать на карту. тщательно изучите описание формата. В последнем блоке каждого сектора хранятся биты доступа и ключи. Пока не разберетесь с ними - старайтесь не писать ничего в эти блоки. Я ж не зря вам указал для примера блок 46 а не 47, а вы зачем-то изменили

Безпредельно Вам благодарен за помощь!!! всё понял. дальше буду разбиратся с блоками.

п.с. Вторую карту перезаписал более 10 раз в "правельные блоки (в средние), всё работает. (прочитал что можно до 1000 раз презаписывать, очевидно там обычнаяя eeprom) Жаль что залочил единстенный синий ключ...