Fehler beim beschreiben von NFC Stickern

Ich hab leider das Problem, dass ich ein paar NFC Aufkleber habe die sich nicht beschreiben lassen. Die Konsole quittiert das folgendermaßen:

00:04:28.648 → Card UID: 61 79 B3 C7
00:04:28.648 → PICC type: MIFARE 1KB
00:04:28.648 → Authenticating Classic using key A…
00:04:28.648 → Reading data from block 4 …
00:04:28.648 → Data on Card :
00:04:28.648 → 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00:04:28.687 →
00:04:28.687 → === setupCard()
00:04:28.722 → === voiceMenu() (99 Options)
00:04:33.764 → === voiceMenu() (9 Options)
00:04:36.285 → Authenticating again using key B…
00:04:36.285 → Writing data into block 4 …
00:04:36.285 → 13 37 B3 47 02 0D 05 00 00 00 00 00 00 00 00 00
00:04:36.319 → MIFARE_Write() failed: A MIFARE PICC responded with NAK.
00:04:36.357 →
00:04:36.498 → Card UID: 61 79 B3 C7
00:04:36.498 → PICC type: MIFARE 1KB
00:04:36.498 → Authenticating Classic using key A…
00:04:36.498 → Reading data from block 4 …
00:04:36.532 → Data on Card :
00:04:36.532 → 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00:04:36.532 →
00:04:36.532 → === setupCard()
00:04:36.604 → === voiceMenu() (99 Options)

Kann man da was machen?

Hast du die Teile mal versucht mit dem Handy auszulesen? Eventuell ist aus irgendeinem grund ein key anweichend vom standard gesetzt worden. Der Factory default is FF FF FF…

Änder mal in dieser Zeile das PICC_CMD_MF_AUTH_KEY_B in PICC_CMD_MF_AUTH_KEY_A.

Das hat geholfen, Danke!

@Thorsten Der Fehler kam schon mehrfach vor hier im Forum. Es wird meiner Meinung nach Zeit, per Default immer KEY_A zu verwenden. Ich habe daher einen Pull Request erstellt.

1 „Gefällt mir“

Hallo,

ich habe heute den ersten Tonuino gebaut, dabei nutze ich die DEV-Version mit 5 Buttons.
Nach Ewigkeiten habe ich das hier gefunden und KEY_A zu KEY_B geändert und ab dann konnte ich die NFC-Karte nutzen. Bisher hab ich nur eine, die beim Leser dabei war (Mifare Classic 1k S50). Der auch beiliegende Schlüsselanhänger lässt sich nicht beschreiben, obwohl es der gleiche Typ sein sollte.

Was bewirkt das KEY_A bzw. KEY_B? Ist das ein Parameter für die Karte oder den Kartenleser?

Das wählt quasi aus mit welchem Key auf dem PICC (Tag, Karte…) der gewählte Vorgang (lesen oder schreiben) authentifiziert werden soll. Im Auslieferungszustand sollten diese Keys eigentlich gleich sein und wir ändern diese auch nicht. Demnach sollte es egal sein welchen man verwendet.

Es hat sich allerdings gezeigt, dass es PICCs gibt die nur mit KEY_A wollen (vermutlich sind das auch „nachgemachte“, keine originalen von NXP). Daher haben wir das in der aktuellen DEV geändert. Wenn du die hast solltest du nichts ändern müssen.

Hast Du mal den Abstand variiert, also zB. eine Streichholzschachtel zwischen Reader und Schlüsselanhänger gelegt?
Bei uns schreibt er auch nicht wenn man ihn direkt drauflegt.

Auch mit Abstand hat das Beschreiben das Anhänger-Tag nicht geklappt.
RFID-Karten sind jetzt bestellt, also ich hoffe das Problem ist dann gelöst. Vielleicht kann ich auch die KEY-Änderung wieder rückgängig machen.

Das kannst du natürlich machen. Aber die größte Kompatibilität hast du mit KEY_A.