RFID- & NFC-Lesegeräte

ACR122U NFC-Lesegerät

Der ACR122U ist das Referenz-USB-NFC-Lesegerät der Branche — das PC/SC-Gerät, für das eine Generation von Zutrittskontroll- und NFC-Software entwickelt wurde — inzwischen von ACS abgekündigt, aber weiterhin für die Wartung bestehender Installationen lieferbar.

Der ACS ACR122U ist ein USB-PC/SC-Lesegerät/Schreibgerät für 13,56-MHz-Karten und -Tags, für Software, die bereits PC/SC oder libnfc spricht. Er verarbeitet ISO-14443-4-Karten, MIFARE Classic und Ultralight, NFC-Forum-Tags und FeliCa, aber keine 125-kHz-, ISO-15693- oder UHF-Tags. ACS listet das Modell als abgekündigt; Proud Tek liefert es weiterhin und für neue Designs die beiden aktuellen ACS-Modelle, den ACR1252U und den ACR1552U.

Kostenlose Standardmuster · Angebot innerhalb eines Werktags

Produktdetails

Lieferung: Proud Tek liefert den ACR122U; bestätigen Sie die Menge bei der Bestellung. ACS listet ihn als abgekündigt, sodass ein neues Design, das jahrelang in Produktion bleiben muss, stattdessen mit einem der aktuellen USB-NFC-Lesegeräte von ACS starten kann — dem ACR1252U (USB NFC Reader III) oder dem ACR1552U (USB NFC Reader IV), die wir ebenfalls liefern; der Vergleich weiter unten listet auf, was Sie in Ihrem PC/SC-Code vor dem Wechsel prüfen sollten. Wenn Ihre Software noch nicht geschrieben ist und Sie lieber Bibliotheksfunktionen aufrufen als APDUs senden, ist der µFR Classic CS mit seinem kostenlosen SDK die andere Route.

Was der ACR122U ist

Der ACR122U ist ein USB-Tisch-Lesegerät/Schreibgerät von Advanced Card Systems (ACS). ACS beschreibt ihn als PC/SC- und CCID-konform, für ISO-14443-4-Typ-A- und -B-Karten, MIFARE, ISO-18092-(NFC-)Tags und FeliCa bei 13,56 MHz. Im Inneren sitzt ein kontaktloser NXP-PN532-Controller hinter einem zweiten Controller, der die USB-CCID-Schnittstelle bereitstellt, sodass der Host einen Standard-Kontaktlos-Chipkartenleser namens „ACR122U PICC Interface“ sieht. Seine rot/grüne LED und der Buzzer lassen sich aus Ihrer Anwendung ansteuern.

Aus diesem Design folgen drei Dinge. Software, die für PC/SC geschrieben ist — etwa ein pyscard-Skript oder eine WinSCard-Anwendung — läuft ohne Hersteller-SDK. Karten, die keine ISO-7816-4-APDUs annehmen, wie MIFARE Classic, werden über Befehle mit Klassenbyte FF erreicht, die das Lesegerät in Kartenbefehle übersetzt (siehe Befehlstabelle unten). Und das Lesegerät arbeitet mit einer Karte nach der anderen: Seine Antikollision wählt eine einzelne Karte aus, also präsentieren Sie die Karten einzeln.

Host-Einrichtung unter Windows, macOS und Linux

HostTreiberFunktionsprüfungAchtung
WindowsMicrosofts eingebaute USB-CCID- und PC/SC-Treiber; ACS erklärt, dass kein ACS-Treiber erforderlich ist. Die Spezifikation von ACS listet Windows-Versionen bis Windows 10 aufDer Geräte-Manager listet „ACR122U PICC Interface“ aufLesegerätbefehle, die ohne anliegende Karte gesendet werden (Escape-Befehle, SCARD_CTL_CODE(3500)), benötigen ein DWORD EscapeCommandEnable = 1 unter dem Device-Parameters-Schlüssel des Lesegeräts (VID_072F&PID_2200)
macOSDer Open-Source-PC/SC-Treiber acsccid von ACS, der den ACR122U listet und OS X 10.7 oder neuer unterstütztIhr PC/SC-Tool listet das Lesegerät auf, zum Beispiel readers() in pyscardTesten Sie auf der macOS-Version, die Sie einsetzen werden
Linuxpcscd (pcsc-lite) mit dem CCID-Treiber libccid oder acsccid von ACSlsusb zeigt 072f:2200; pcsc_scan listet Lesegerät und Karte aufDer pn533-NFC-Treiber des Kernels belegt das Lesegerät zuerst (nächster Absatz); Escape-Befehle benötigen ifdDriverOptions 0x0001 in libccids Info.plist
AndroidACS listet Android 3.1 und neuer, über die eigene Android-Bibliothek von ACSTesten Sie mit Ihrer App auf dem ZielgerätDer Android-Weg nutzt die Bibliothek von ACS, nicht PC/SC

Der Linux-pn533-Konflikt. Der Linux-Kernel hat einen eigenen NFC-Treiber, pn533_usb, und seine Gerätetabelle enthält die USB-ID des ACR122U (072f:2200). Der Kernel bindet das Lesegerät, sobald es eingesteckt wird, bevor pcscd es kann: Der CCID-Treiber in pcsc-lite schlägt dann mit „Can't claim interface“ fehl, und libnfc kann das Gerät ebenfalls nicht öffnen. Entladen Sie die Module pn533_usb und pn533, setzen Sie nfc, pn533 und pn533_usb in /etc/modprobe.d auf die Blacklist (libnfc liefert genau diese Blacklist-Datei mit), stecken Sie dann das Lesegerät erneut ein und starten Sie pcscd neu. Das Blacklisten deaktiviert den Kernel-NFC-Stack, tun Sie es also nur auf Hosts, die ihn nicht für ein anderes Gerät nutzen.

PC/SC- und ACS-Befehle, die Ihre Software sendet

ISO-14443-4-Karten wie DESFire und Java Cards nehmen ihre eigenen ISO-7816-4-APDUs, die der ACR122U durchreicht. Andere Karten werden über Befehle mit Klassenbyte FF erreicht, und FeliCa- und Topaz-Tags akzeptieren auch ihre nativen Befehle. FF CA, FF 82, FF 86, FF B0 und FF D6 sind die Speicherkartenbefehle aus Teil 3 der PC/SC-Spezifikation, sodass darauf aufgebauter MIFARE-Classic-Code auf ein anderes Lesegerät umziehen kann, das sie implementiert — obwohl sich Schlüssel-Slots und unterstützte Karten je nach Lesegerät unterscheiden. Die Value-Block-Befehle FF D7 und FF B1 sind ACS-eigene, ebenso die FF-00-Lesegerätbefehle, die ACS Pseudo-APDUs nennt. Alle sind in ACSs ACR122U Application Programming Interface (V2.04) dokumentiert. Die, die die meisten Integrationen brauchen, in Hex:

AufgabeAPDUHinweise
UID lesenFF CA 00 00 00Gibt die UID und 90 00 zurück; 63 00 bedeutet, dass die Operation fehlgeschlagen ist. FF CA 01 00 00 gibt das ATS einer ISO-14443-4-Typ-A-Karte zurück.
MIFARE-Classic-Schlüssel ladenFF 82 00 [slot] 06 [6-byte key]Zwei Schlüssel-Slots, 00 und 01, im flüchtigen Speicher: Die Schlüssel gehen verloren, wenn das Lesegerät vom Computer getrennt wird.
AuthentifizierenFF 86 00 00 05 01 00 [block] [60 or 61] [slot]60 verwendet den Schlüssel als Schlüssel A, 61 als Schlüssel B. Eine Authentifizierung deckt die Blöcke dieses Sektors ab. Die ältere FF-88-Form ist als obsolet markiert.
LesenFF B0 00 [block] 10Bis zu 16 Bytes. Bei MIFARE Ultralight sind 16 Bytes vier Seiten ab der angegebenen Seite.
SchreibenFF D6 00 [block] 10 [16 bytes]16 Bytes für MIFARE Classic; Lc 04 und 4 Bytes für eine MIFARE-Ultralight-Seite.
Value-BlöckeFF D7 00 [block] 05 [00, 01 or 02] [4-byte value]; FF B1 00 [block] 04Einen vorzeichenbehafteten 4-Byte-Wert speichern, inkrementieren oder dekrementieren, dann zurücklesen. FF D7 00 [source] 02 03 [target] kopiert einen Value-Block innerhalb seines Sektors.
Controller-Befehl durchreichenFF 00 00 00 [length] [payload]Direct Transmit, bis zu 255 Bytes. ACS nutzt es für FeliCa- und Topaz-Befehle und zum Ausschalten (Payload D4 32 01 00) oder Einschalten (D4 32 01 01) der Antenne.
LED und BuzzerFF 00 40 [LED state] 04 [T1] [T2] [repeats] [buzzer]T1 und T2 in 100-ms-Einheiten; das letzte Byte verknüpft den Buzzer mit T1, T2 oder beiden. FF 00 40 50 04 05 05 03 01 lässt die rote LED dreimal mit 1 Hz blinken, mit Buzzer.
Firmware-VersionFF 00 48 00 00Gibt die Version als ASCII-Text zurück, etwa ACR122U201.
Kartenerkennungs-PieptonFF 00 52 00 00Schaltet den Piepton aus, der standardmäßig bei jeder Kartenerkennung ertönt; FF 00 52 FF 00 schaltet ihn wieder ein.
Polling-EinstellungenFF 00 50 00 00 zum Lesen; FF 00 51 [bits] 00 zum SetzenWählt die gepollten Kartentypen (ISO 14443 A und B, Topaz, FeliCa mit 212 und 424 kbit/s), das Polling-Intervall und das automatische ATS. Die Voreinstellung ist FF.

Senden Sie diese bei anliegender Karte als gewöhnliche Transmits (SCardTransmit) an das ACR122U PICC Interface. Lesegerätbefehle wie LED, Firmware-Version oder Polling-Einstellungen können auch vor dem Präsentieren einer Karte gesendet werden, aber nur über den PC/SC-Escape-Kanal (SCardControl mit SCARD_CTL_CODE(3500) unter Windows), der ausgeschaltet bleibt, bis Sie ihn wie in der Host-Einrichtungstabelle gezeigt aktivieren.

Unterstützte und nicht unterstützte Karten

Karte oder TagACR122UWie
ISO 14443-4 Typ A und B: MIFARE DESFire, JCOP Java CardsJaDie eigenen ISO-7816-4-APDUs Ihrer Anwendung, durchgereicht. DESFire nimmt native oder ISO-gewrapte Befehle; der erste Befehl nach der Aktivierung setzt das Format für den Rest der Sitzung.
MIFARE Classic 1K, 4K und MiniJaPC/SC-Speicherkartenbefehle (Schlüssel laden, authentifizieren, Blöcke lesen und schreiben) und die Value-Block-Befehle von ACS
MIFARE Ultralight und NFC-Forum-Typ-2-Tags wie der NTAG213 in unseren NFC-AufklebernJaACS listet alle vier NFC-Forum-Tag-Typen. Ultralight wird mit Read Binary gelesen und mit Update Binary geschrieben und braucht keine Authentifizierung; testen Sie NTAG-Funktionen wie den Passwortschutz an einem Muster
FeliCa (NFC-Forum-Typ 3), wie unsere FeliCa-KartenJaNative FeliCa-Befehle oder in Direct Transmit gewrapt
Topaz und Jewel (NFC-Forum-Typ 1)JaNative Befehle oder in Direct Transmit gewrapt
Dual-Interface-Karten: ein Chip mit Kontaktfeld und AntenneNur kontaktlose SeiteDer ACR122U hat keinen Kontakt-Steckplatz; die Kontaktschnittstelle braucht ein Kontakt-Lesegerät
Kombi-Karten: Multi-Chip-Karten, meist zwei oder mehr kontaktlose Chips in einem KartenkörperNur sein ISO-14443- oder FeliCa-ChipEin 125-kHz-, ISO-15693- oder UHF-Chip in derselben Karte braucht ein eigenes Lesegerät
ISO-15693-Vicinity-Tags, wie ICODE SLIXNeinWeder unter den von ACS gelisteten Kartentypen noch unter den Typen, nach denen das Lesegerät pollt
125 kHz und 134,2 kHz LF: EM4100, EM4305, T5577, HITAG 2, FDX-B-TiertagsNeinEin LF-Lesegerät, wie der R901 Bluetooth-Leser für FDX-B-Ohrmarken
UHF EPC Gen2, 860 bis 960 MHzNeinEin UHF-Lesegerät und eine Antenne

Bibliotheken und Tools, die damit arbeiten

  • pyscard (Python), die WinSCard-API (C, C++ und .NET unter Windows) und javax.smartcardio (Java) sind PC/SC-Schichten: Öffnen Sie das ACR122U PICC Interface, senden Sie die obigen APDUs als Transmits und senden Sie Lesegerätbefehle über den Control-Aufruf, sobald der Escape-Kanal aktiviert ist.
  • libnfc hat zwei Treiber für das Lesegerät: acr122_pcsc, der über pcsc-lite geht, und acr122_usb, der das USB-Gerät direkt öffnet. In beiden Fällen dürfen die pn533-Module des Kernels nicht geladen sein. Für NFCIP- oder Kartenemulationsmodi ohne Karte auf dem Lesegerät rät die README von libnfc, den CCID-Exchange-Befehl in libccid zu erlauben (ifdDriverOptions 0x0001). Der acr122_usb-Treiber belegt die USB-Schnittstelle des Lesegeräts selbst, wie es der CCID-Treiber in pcscd tut, sodass nur einer von beiden das Lesegerät halten kann: Stoppen Sie pcscd, während Sie acr122_usb verwenden, oder nutzen Sie acr122_pcsc.
  • nfcpy listet den ACR122U in seiner Hardwaretabelle, mit Lese- und Schreibunterstützung für NFC-Forum-Typ-2-, -3- und -4-Tags und als Peer-to-Peer-Initiator, aber ohne Tag-Emulation oder die Peer-to-Peer-Target-Rolle. Seine Dokumentation rät vom Kauf des ACR122U für nfcpy ab, weil der CCID-Controller vor dem PN532 die volle Nutzung des Chips verhindert; für nfcpy-Arbeiten wählen Sie ein Lesegerät, das nfcpy ohne diese Einschränkungen unterstützt.

Häufige Stolpersteine

  • Schlüssel verschwinden nach dem Ausstecken. Mit FF 82 geladene Schlüssel leben im flüchtigen Speicher, laden Sie sie also zu Beginn jeder Sitzung. Authentifizieren Sie sich erneut, sobald Sie zu einem Block in einem anderen Sektor wechseln.
  • Schreiben eines Sektor-Trailers. Der letzte Block jedes MIFARE-Classic-Sektors enthält Schlüssel A, die Zugriffsbits und Schlüssel B, sodass ein Schreibvorgang auf diesen Block die Schlüssel und Zugriffsbits ersetzt. Probieren Sie Trailer-Schreibvorgänge zuerst auf einer Ersatzkarte aus.
  • Ein Piepton bei jedem Tap. Der Buzzer ertönt standardmäßig bei jeder Kartenerkennung; FF 00 52 00 00 schaltet ihn aus.
  • Lange oder große Befehle. Die Lesegerätliste des CCID-Treibers vermerkt, dass der ACR122U keine erweiterten APDUs und keine Time-Extension-Requests unterstützt, und verzeichnet Fehler in einigen Firmware-Versionen. Testen Sie Ihren größten Befehl und Ihre langsamste Kartenoperation und notieren Sie die Firmware-Version zum Ergebnis.
  • MIFARE Classic 4K und NDEF. ACS empfiehlt eine Verzögerung von 2 Sekunden beim Lesen von NDEF-Nachrichten von MIFARE-Classic-4K-Karten.

So testen Sie ein Muster

  1. Schließen Sie das Lesegerät an den Computer und die Betriebssystemversion an, die Sie einsetzen werden, und prüfen Sie, ob der Host es sieht: Geräte-Manager unter Windows, lsusb und pcsc_scan unter Linux.
  2. Lesen Sie die Firmware-Version mit FF 00 48 00 00 aus und notieren Sie sie zusammen mit der Betriebssystem- und Treiberversion.
  3. Legen Sie eine Musterkarte auf das Lesegerät und lesen Sie die ATR. Bei Speicherkarten und Tags zeigen ihre Card-Name-Bytes den vom Lesegerät erkannten Typ: 00 01 MIFARE Classic 1K, 00 02 Classic 4K, 00 03 Ultralight, 00 26 Mini, F0 04 Topaz, F0 11 oder F0 12 FeliCa. ISO-14443-4-Karten tragen stattdessen Historical Bytes aus dem ATS (Typ A) oder ATQB (Typ B).
  4. Lesen Sie die UID mit FF CA 00 00 00 und vergleichen Sie sie mit der Byte-Reihenfolge und dem Zahlenformat, das Ihr System speichert — hex oder dezimal —, bevor Sie eine Charge erfassen.
  5. Führen Sie jede Operation, die Ihre Anwendung braucht, auf der echten Karte aus. Für MIFARE Classic: Schlüssel laden, authentifizieren, dann einen Testblock lesen und schreiben — keinen Sektor-Trailer. Für DESFire oder eine Java Card: die eigene Befehlssequenz Ihrer Anwendung, einschließlich ihres längsten Befehls und ihrer längsten Antwort.
  6. Stecken Sie das Lesegerät aus, schließen Sie es wieder an und wiederholen Sie den Vorgang, damit Sie wissen, dass Ihre Software Schlüssel und Einstellungen selbstständig neu lädt.

Fragen Sie nach Musterkarten des exakten Chips zusammen mit dem Lesegerät, damit der Test die Ware verwendet, die Sie bestellen werden; Standardmuster sind kostenlos.

Von ACS aufgeführte Spezifikationen

Abmessungen und Gewicht98,0 mm (L) x 65,0 mm (B) x 12,8 mm (H); 70 g
USBUSB CCID, Full Speed (12 Mbit/s); Standard-Typ-A-Stecker an einem festen 1,0-m-Kabel; Stromversorgung über den USB-Port, 5 V, max. 200 mA
Kontaktlose Schnittstelle13,56 MHz; ISO/IEC 18092 NFC, ISO 14443 Typ A und B, MIFARE, FeliCa; 106, 212 und 424 kbit/s; eine Karte nach der anderen
BetriebsabstandBis zu 50 mm, abhängig vom Tag-Typ; Antenne 50 mm x 40 mm
Eingebaute PeripherieEine zweifarbige rot/grüne LED; monotoner Buzzer
Betriebsbedingungen0 bis 60 °C; bis zu 90 % relative Luftfeuchtigkeit, nicht kondensierend
TreiberunterstützungWindows XP bis Windows 10 und Windows Server 2003 bis 2016; Windows CE und Embedded Compact; Linux; Mac OS; Solaris; Android 3.1 und neuer (mit der Android-Bibliothek von ACS)
KonformitätEN 60950/IEC 60950, ISO 14443, ISO 18092, PC/SC, CCID, CE, FCC, RoHS 2, REACH, VCCI, KC, Microsoft WHQL

ACR122U, ACR1252U oder ACR1552U

Alle drei sind ACS-USB-Lesegeräte, die PC/SC-Software als CCID-Chipkartenleser öffnet, und alle drei nehmen die Speicherkartenbefehle aus der obigen Befehlstabelle. Der ACR1552U listet mehr Kartentypen als die anderen beiden, und die drei unterscheiden sich in ihren Lesegerätbefehlen und in einigen Grenzwerten. Jede Zahl in dieser Tabelle stammt aus den eigenen Dokumenten von ACS für das jeweilige Modell, die darunter verlinkt sind.

MerkmalACR122UACR1252UACR1552U
USB-AnschlussCCID, Full Speed; Typ-A-Stecker an einem festen 1,0-m-KabelCCID, Full Speed; Typ-A- (ACR1252U-M1) oder Typ-C-Stecker (ACR1252U-MF) an einem festen 1-m-KabelCCID, Full Speed; Bauteilnummern ACR1552U-M1 (Typ-A) und ACR1552U-MF (Typ-C), festes 1-m-Kabel
Von ACS gelistete KartenISO 14443 A und B, MIFARE, FeliCa, alle vier NFC-Forum-Tag-Typen (ISO/IEC 18092)ISO 14443 A und B, MIFARE, FeliCa, alle vier NFC-Forum-Tag-Typen (ISO/IEC 18092)ISO 14443 A und B, MIFARE, FeliCa, ISO/IEC 18092 NFC und Topaz, plus ISO 15693, SRI/SRIX, Picopass, CTS und Innovatron
ISO-15693-Tags, wie ICODE SLIXNicht gelistetNicht gelistetJa
Erweiterte APDUsNicht gelistetBis zu 64 KBBis zu 64 KB
Geschwindigkeit; Betriebsabstand, abhängig vom TagBis zu 424 kbit/s; bis zu 50 mmBis zu 424 kbit/s; bis zu 50 mmBis zu 848 kbit/s für ISO 14443; bis zu 70 mm
SAM-SteckplatzNicht gelistetEin SIM-großer ISO-7816-Class-A-Steckplatz, für ein SAM, keine Karte in voller GrößeEin SIM-großer ISO-7816-Class-A-Steckplatz, für ein SAM, keine Karte in voller Größe
LED; BetriebstemperaturRot und grün; 0 bis 60 °CRot und grün; 0 bis 60 °CBlau und grün; −20 bis 70 °C

Quellen: Die technische Spezifikation des ACR1252U und das API-Handbuch von ACS, die technische Spezifikation des ACR1552U und das Referenzhandbuch sowie das ACR122U-API-Handbuch (PDF-Downloads).

Prüfungen beim Umstieg von ACR122U-PC/SC-Code auf ein anderes Lesegerät:

  • Der Lesegerätname. Software, die den ACR122U anhand seines Lesegerätnamens auswählt, muss geändert werden. Jedes neuere Lesegerät präsentiert ein kontaktloses (PICC-)Lesegerät und ein SAM-Lesegerät, und die Beispiele von ACS öffnen „ACS ACR1252 1S CL Reader PICC 0“ oder „ACS ACR1552 1S CL Reader PICC 0“. Wählen Sie das PICC-Lesegerät, nicht den SAM-Steckplatz.
  • Kartenbefehle werden übernommen. Get Data (FF CA), Load Keys (FF 82, zwei flüchtige Schlüssel-Slots), Authenticate (FF 86), Read und Update Binary (FF B0, FF D6), die Value-Block-Befehle von ACS (FF D7, FF B1) und die transparente Sitzung nach PC/SC 2.0 Teil 3 (FF C2) sind für beide neueren Lesegeräte dokumentiert.
  • Lesegerätbefehle ändern sich. Der ACR1252U behält vier der FF-00-Pseudo-APDUs des ACR122U als „ACR122U compatible commands“: FF 00 40 (LED und Buzzer), FF 00 48 (Firmware-Version), FF 00 50 und FF 00 51 (Polling-Einstellungen). Ansonsten nehmen beide neueren Lesegeräte Escape-Befehle, die mit E0 00 beginnen, gesendet mit SCardControl über den Escape-Kanal (nächster Punkt); E0 00 00 18 00 gibt zum Beispiel die Firmware-Version zurück. Der Piepton bei Kartenerkennung, den der ACR122U mit FF 00 52 steuert, ist bei beiden Bit 3 eines Verhaltensbytes, das auch die LEDs setzt: Lesen Sie das Byte mit E0 00 00 21 00 und schreiben Sie es mit E0 00 00 21 01 und gelöschtem Bit 3 zurück, damit die LED-Einstellungen bleiben, wie sie waren. Der ACR1252U behält die neue Einstellung nach dem Ausschalten.
  • Aktivieren Sie den Escape-Kanal für das neue Lesegerät. Beim ACR122U können Lesegerätbefehle als gewöhnliche Transmits gehen, während eine Karte auf dem Lesegerät liegt, sodass bestehende Software den Escape-Kanal möglicherweise nie genutzt hat. Bei den neueren Lesegeräten gehen die E0-00-Befehle nur darüber. Setzen Sie unter Windows mit Microsofts CCID-Treiber EscapeCommandEnable unter der eigenen USB-ID des neuen Lesegeräts, nicht unter der VID_072F&PID_2200 des ACR122U, oder installieren Sie den Treiber von ACS, dessen Installation das ACR1552U-Handbuch von ACS vorschreibt. Unter Linux akzeptiert der acsccid-Treiber von ACS SCARD_CTL_CODE(3500), und der CCID-Treiber von pcsc-lite (libccid) benötigt ifdDriverOptions 0x0001 und nimmt den Escape als SCARD_CTL_CODE(1); unter macOS installieren Sie den acsccid-Treiber von ACS.
  • Keine PN532-Befehle. Beim ACR122U reicht Direct Transmit (FF 00 00 00) Befehle an seinen PN532-Controller weiter, etwa den Antennenschalter. Keines der neueren Lesegeräte dokumentiert PN532-Befehle. Sie verwenden den FF-00-00-00-Header für FeliCa-Befehle, und der ACR1552U auch für ISO-14443-3-Befehle. Das HF-Feld wird innerhalb einer transparenten Sitzung nach PC/SC 2.0 Teil 3 umgeschaltet: FF C2 00 00 02 81 00 startet die Sitzung, FF C2 00 00 02 83 00 schaltet das Feld aus und FF C2 00 00 02 84 00 ein, und FF C2 00 00 02 82 00 beendet die Sitzung. Das automatische Polling bleibt aus, bis die Sitzung endet, und das ACR1552U-Handbuch von ACS warnt, dass eine falsch verwendete Sitzung das Lesegerät daran hindern kann, Karten zu erkennen. Um Strom zu sparen, nutzen Sie die automatische Polling-Einstellung des ACR1252U (E0 00 00 23), die die Antenne ausschalten kann, wenn keine Karte gefunden wird, oder den HF-Steuerbefehl des ACR1552U (E0 00 00 25).
  • Card-Namen in der ATR. MIFARE Classic 1K und 4K, Ultralight und Mini behalten ihre Card-Name-Bytes (00 01, 00 02, 00 03, 00 26). FeliCa und Topaz ändern sich: Die neueren Lesegeräte melden 00 3B und 00 30, wo der ACR122U F0 11 oder F0 12 und F0 04 meldet. Der ACR1552U pollt nach Topaz erst, nachdem es mit seinem Set-PICC-Polling-Type-Befehl aktiviert wurde.
  • Firmware. Notieren Sie die Firmware-Version Ihres Musters. ACS listet eine Mindest-Firmware-Version für einige ACR1552U-Befehle auf, darunter die ISO-14443-3- und ISO-15693-Pass-through-Befehle.

Was Proud Tek liefert

Wir liefern den ACR122U — die Menge wird pro Bestellung bestätigt —, die beiden oben verglichenen aktuellen ACS-Modelle sowie die Karten, Tags und Aufkleber, mit denen Sie sie testen; unsere Lesegeräte sind unter RFID-Lesegeräte aufgeführt. ACS stellt alle drei Lesegeräte her und ist die Quelle ihrer Treiber, Firmware und Handbücher; unser Part ist die Lieferung, und wir schreiben oder betreuen keine Anwendungssoftware. Nennen Sie uns den Kartenchip, das Host-Betriebssystem und die Befehle, die Ihre Software sendet. Chargen, die Sie lieber nicht selbst kodieren, können über unseren RFID-Kodierungsservice laufen: Wir lesen jede kodierte Karte vor dem Versand zurück, jede kodierte Bestellung kommt mit einem Datenbericht, und bei nummerierten Karten fügen wir die UID jeder Karte neben ihrer aufgedruckten Nummer in einer Excel-, CSV- oder XML-Datei hinzu — so bleibt das Lesegerät für Stichproben.

Häufig gestellte Fragen

Braucht der ACR122U einen Treiber?

Nicht unter Windows: ACS erklärt, dass Microsofts eingebaute USB-CCID- und PC/SC-Treiber verwendet werden, und das Lesegerät erscheint als ACR122U PICC Interface. Unter Linux nutzen Sie pcscd mit libccid oder den acsccid-Treiber von ACS; unter macOS unterstützt acsccid OS X 10.7 oder neuer. Um Lesegerätbefehle ohne anliegende Karte zu senden, aktivieren Sie zuerst den Escape-Kanal: ein Registry-Wert unter Windows, ifdDriverOptions 0x0001 für libccid.

Warum meldet Linux „Can't claim interface“ für den ACR122U?

Der NFC-Treiber des Kernels, pn533_usb, listet die USB-ID des ACR122U (072f:2200) und bindet das Lesegerät, bevor pcscd oder libnfc es können. Entladen Sie die Module pn533_usb und pn533, setzen Sie nfc, pn533 und pn533_usb in /etc/modprobe.d auf die Blacklist, stecken Sie dann das Lesegerät erneut ein und starten Sie pcscd neu.

Welche APDU liest die UID einer Karte auf dem ACR122U?

FF CA 00 00 00. Das Lesegerät gibt die UID gefolgt von 90 00 zurück, oder 63 00, wenn die Operation fehlgeschlagen ist. FF CA 01 00 00 gibt das ATS einer ISO-14443-4-Typ-A-Karte zurück. Beide Befehle sind in ACSs ACR122U Application Programming Interface definiert.

Wie lese und schreibe ich MIFARE Classic mit dem ACR122U?

Laden Sie den Schlüssel mit FF 82 00 00 06 und dem 6-Byte-Schlüssel, authentifizieren Sie den Block mit FF 86 00 00 05 01 00, der Blocknummer, 60 für Schlüssel A oder 61 für Schlüssel B und dem Schlüssel-Slot. Lesen Sie dann mit FF B0 00, dem Block und 10, oder schreiben Sie 16 Bytes mit FF D6 00, dem Block, 10 und den Daten. Die beiden Schlüssel-Slots sind flüchtig, laden Sie also die Schlüssel neu, nachdem das Lesegerät wieder angeschlossen wurde. Das Lesen einer UID bedeutet niemals Zugriff auf geschützte Sektoren.

Welche Karten kann der ACR122U nicht lesen?

Alles außerhalb von 13,56 MHz ISO 14443, ISO 18092 und FeliCa: 125-kHz- und 134,2-kHz-LF-Tags, UHF-EPC-Gen2-Etiketten und ISO-15693-Vicinity-Tags wie ICODE SLIX. Es hat auch keinen Kontakt-Steckplatz, sodass es eine Dual-Interface-Karte nur über ihre kontaktlose Seite erreicht, und nur den ISO-14443- oder FeliCa-Chip einer Multi-Chip-Kombi-Karte.

Wie prüfe ich, ob der ACR122U meine bestehenden Karten liest?

Legen Sie eine Karte auf das Lesegerät und lesen Sie die ATR. Ihre Card-Name-Bytes zeigen, was das Lesegerät erkannt hat: 00 01 MIFARE Classic 1K, 00 02 Classic 4K, 00 03 Ultralight, 00 26 Mini, F0 04 Topaz, F0 11 oder F0 12 FeliCa; eine ISO-14443-4-Karte gibt stattdessen Historical Bytes zurück. Wenn nichts erkannt wird, prüfen Sie, ob die Karte 125 kHz, ISO 15693 oder UHF ist, was der ACR122U nicht lesen kann. FF CA 00 00 00 liest dann die UID ohne Schlüssel, aber die UID ist nicht mit den geschützten Daten gleichzusetzen: Sektoren und Anwendungen brauchen die Schlüssel des Systems. Fragen Sie bei einer Karte aus einem bestehenden Zutritts- oder Mitgliedersystem den Anbieter des Systems nach dem Kartenformat und den Schlüsseln und testen Sie ein autorisiertes Muster.

Funktioniert der ACR122U mit pyscard, libnfc und nfcpy?

pyscard und andere PC/SC-Bindings arbeiten über die Standard-Lesegerätschnittstelle. libnfc unterstützt ihn über pcsc-lite oder direkt über USB, sobald die pn533-Module des Kernels entladen sind. nfcpy listet Lese- und Schreibunterstützung für NFC-Forum-Typ-2-, -3- und -4-Tags, aber seine Dokumentation rät vom Kauf des ACR122U für nfcpy ab.

Ist der ACR122U noch erhältlich?

Ja. Proud Tek liefert ihn; bestätigen Sie die Menge bei der Bestellung. ACS listet das Modell als abgekündigt, sodass wir für ein neues Design, das jahrelang in Produktion bleiben muss, auch die aktuellen Modelle ACR1252U (USB NFC Reader III) und ACR1552U (USB NFC Reader IV) von ACS liefern. Beide nehmen dieselben PC/SC-Speicherkartenbefehle, aber ihre Lesegerätbefehle und die ATR-Card-Namen für FeliCa und Topaz unterscheiden sich, und von den dreien listet nur der ACR1552U ISO-15693-Tags. Wenn Sie lieber auf einem Hersteller-SDK aufbauen, fragen Sie, welches aktuelle µFR-Modell wir liefern können. Testen Sie jedes Lesegerät mit Ihren eigenen Karten und Ihrer Software.

Bereit, Ihre Bestellung zu spezifizieren?

Senden Sie uns Produkt, Menge und Anwendung, damit wir die Optionen und Preise für Ihr Projekt bestätigen können.

Lieber schreiben? WhatsApp oder E-Mail zu diesem Produkt.

Angebot anfordern WhatsApp
WhatsApp