Lettori RFID e NFC
Lettore NFC ACR122U
L'ACR122U è il lettore NFC USB di riferimento del settore — il dispositivo PC/SC su cui è stata scritta una generazione di software per il controllo accessi e NFC — ora fuori produzione presso ACS ma ancora fornito per la manutenzione delle installazioni esistenti.
L'ACS ACR122U è un lettore/scrittore USB PC/SC per carte e tag a 13,56 MHz, per software che già dialogano con PC/SC o libnfc. Gestisce carte ISO 14443-4, MIFARE Classic e Ultralight, tag NFC Forum e FeliCa, ma non tag a 125 kHz, ISO 15693 o UHF. ACS indica il modello come fuori produzione; Proud Tek lo fornisce ancora e, per i nuovi progetti, i due modelli ACS attuali, l'ACR1252U e l'ACR1552U.
Campioni standard gratuiti · Preventivo entro un giorno lavorativo
Dettagli del prodotto
Fornitura: Proud Tek fornisce l'ACR122U; confermi la quantità al momento dell'ordine. ACS lo indica come fuori produzione, quindi un nuovo progetto che deve restare in produzione per anni può partire invece da uno degli attuali lettori NFC USB di ACS, l'ACR1252U (USB NFC Reader III) o l'ACR1552U (USB NFC Reader IV), che forniamo anche noi; il confronto più avanti elenca cosa verificare nel codice PC/SC prima del passaggio. Se il software non è ancora stato scritto e preferisce chiamare funzioni di libreria anziché inviare APDU, l'µFR Classic CS con il suo SDK gratuito è l'altra strada.
Che cos'è l'ACR122U
L'ACR122U è un lettore/scrittore USB da tavolo prodotto da Advanced Card Systems (ACS). ACS lo descrive come conforme a PC/SC e CCID, per carte ISO 14443-4 di tipo A e B, MIFARE, tag ISO 18092 (NFC) e FeliCa a 13,56 MHz. Al suo interno, un controller contactless NXP PN532 si trova dietro un secondo controller che presenta l'interfaccia USB CCID, così l'host vede un lettore di smart card contactless standard denominato "ACR122U PICC Interface". Il LED rosso/verde e il buzzer possono essere pilotati dall'applicazione.
Da questo progetto derivano tre conseguenze. Il software scritto per PC/SC, come uno script pyscard o un'applicazione WinSCard, funziona senza un SDK del fornitore. Le carte che non accettano APDU ISO 7816-4, come MIFARE Classic, si raggiungono tramite comandi con byte di classe FF, che il lettore traduce in comandi per la carta (si veda la tabella dei comandi più avanti). E il lettore lavora con una carta alla volta: l'anticollisione seleziona una singola carta, quindi presenti le carte una alla volta.
Configurazione dell'host su Windows, macOS e Linux
| Host | Driver | Verifica del funzionamento | Attenzione a |
| Windows | I driver USB CCID e PC/SC integrati di Microsoft; ACS dichiara che non è richiesto alcun driver ACS. Le specifiche di ACS elencano versioni di Windows fino a Windows 10 | Gestione dispositivi elenca "ACR122U PICC Interface" | I comandi del lettore inviati senza carta presente (comandi escape, SCARD_CTL_CODE(3500)) richiedono un valore DWORD EscapeCommandEnable = 1 nella chiave Device Parameters del lettore (VID_072F&PID_2200) |
| macOS | Il driver PC/SC open source acsccid di ACS, che elenca l'ACR122U e supporta OS X 10.7 o versioni successive | Lo strumento PC/SC elenca il lettore, ad esempio readers() in pyscard | Provi sulla versione di macOS che verrà distribuita |
| Linux | pcscd (pcsc-lite) con il driver CCID libccid, oppure acsccid di ACS | lsusb mostra 072f:2200; pcsc_scan elenca il lettore e la carta | Il driver NFC pn533 del kernel rivendica per primo il lettore (paragrafo successivo); i comandi escape richiedono ifdDriverOptions 0x0001 nell'Info.plist di libccid |
| Android | ACS elenca Android 3.1 e versioni successive, tramite la libreria Android di ACS | Provi con l'app sul dispositivo di destinazione | La strada Android utilizza la libreria di ACS, non PC/SC |
Il conflitto pn533 su Linux. Il kernel Linux dispone di un proprio driver NFC, pn533_usb, e la sua tabella dei dispositivi include l'ID USB dell'ACR122U (072f:2200). Il kernel associa il lettore non appena viene collegato, prima che pcscd possa farlo: il driver CCID di pcsc-lite fallisce quindi con "Can't claim interface" e nemmeno libnfc riesce ad aprire il dispositivo. Scarichi i moduli pn533_usb e pn533, inserisca nfc, pn533 e pn533_usb nella blacklist in /etc/modprobe.d (libnfc fornisce esattamente quel file di blacklist), quindi ricolleghi il lettore e riavvii pcscd. La blacklist disattiva lo stack NFC del kernel, quindi la applichi solo su host che non lo utilizzano per un altro dispositivo.
Comandi PC/SC e ACS inviati dal software
Le carte ISO 14443-4 come DESFire e Java Card accettano le proprie APDU ISO 7816-4, che l'ACR122U lascia passare. Le altre carte si raggiungono tramite comandi con byte di classe FF, e anche i tag FeliCa e Topaz accettano i loro comandi nativi. FF CA, FF 82, FF 86, FF B0 e FF D6 sono i comandi per carte di memoria definiti nella Parte 3 delle specifiche PC/SC, quindi il codice MIFARE Classic basato su di essi può essere spostato su un altro lettore che li implementa, sebbene gli slot per le chiavi e le carte supportate varino da lettore a lettore. I comandi per blocchi di valore FF D7 e FF B1 sono propri di ACS, così come i comandi lettore FF 00, che ACS chiama pseudo-APDU. Tutti sono documentati nell'Application Programming Interface (V2.04) dell'ACR122U di ACS. Quelli di cui la maggior parte delle integrazioni ha bisogno, in esadecimale:
| Attività | APDU | Note |
| Leggere l'UID | FF CA 00 00 00 | Restituisce l'UID e 90 00; 63 00 significa che l'operazione non è riuscita. FF CA 01 00 00 restituisce l'ATS di una carta ISO 14443-4 di tipo A. |
| Caricare una chiave MIFARE Classic | FF 82 00 [slot] 06 [chiave di 6 byte] | Due slot per chiavi, 00 e 01, in memoria volatile: le chiavi si perdono quando il lettore viene scollegato dal computer. |
| Autenticazione | FF 86 00 00 05 01 00 [blocco] [60 o 61] [slot] | 60 usa la chiave come chiave A, 61 come chiave B. Un'autenticazione copre i blocchi di quel settore. La forma precedente FF 88 è contrassegnata come obsoleta. |
| Lettura | FF B0 00 [blocco] 10 | Fino a 16 byte. Su MIFARE Ultralight, 16 byte corrispondono a quattro pagine a partire dalla pagina indicata. |
| Scrittura | FF D6 00 [blocco] 10 [16 byte] | 16 byte per MIFARE Classic; Lc 04 e 4 byte per una pagina MIFARE Ultralight. |
| Blocchi di valore | FF D7 00 [blocco] 05 [00, 01 o 02] [valore di 4 byte]; FF B1 00 [blocco] 04 | Memorizza, incrementa o decrementa un valore con segno di 4 byte, quindi lo rilegge. FF D7 00 [origine] 02 03 [destinazione] copia un blocco di valore all'interno del suo settore. |
| Passare un comando al controller | FF 00 00 00 [lunghezza] [payload] | Direct Transmit, fino a 255 byte. ACS lo usa per i comandi FeliCa e Topaz e per spegnere l'antenna (payload D4 32 01 00) o accenderla (D4 32 01 01). |
| LED e buzzer | FF 00 40 [stato LED] 04 [T1] [T2] [ripetizioni] [buzzer] | T1 e T2 in unità di 100 ms; l'ultimo byte collega il buzzer a T1, T2 o a entrambi. FF 00 40 50 04 05 05 03 01 fa lampeggiare il LED rosso tre volte a 1 Hz con il buzzer. |
| Versione del firmware | FF 00 48 00 00 | Restituisce la versione come testo ASCII, ad esempio ACR122U201. |
| Beep di rilevamento carta | FF 00 52 00 00 | Disattiva il beep che suona per impostazione predefinita a ogni rilevamento di carta; FF 00 52 FF 00 lo riattiva. |
| Impostazioni di polling | FF 00 50 00 00 per leggere; FF 00 51 [bit] 00 per impostare | Seleziona i tipi di carta sottoposti a polling (ISO 14443 A e B, Topaz, FeliCa a 212 e 424 kbit/s), l'intervallo di polling e l'ATS automatico. Il valore predefinito è FF. |
Con una carta sul lettore, invii questi comandi come normali trasmissioni (SCardTransmit) all'ACR122U PICC Interface. I comandi del lettore come LED, versione del firmware o impostazioni di polling possono essere inviati anche prima che venga presentata una carta, ma solo tramite il canale escape di PC/SC (SCardControl con SCARD_CTL_CODE(3500) su Windows), che resta disattivato finché non lo abilita come mostrato nella tabella di configurazione dell'host.
Carte che gestisce e carte che non può gestire
| Carta o tag | ACR122U | Come |
| ISO 14443-4 di tipo A e B: carte MIFARE DESFire, Java Card JCOP | Sì | Le APDU ISO 7816-4 proprie dell'applicazione, lasciate passare. DESFire accetta comandi nativi o avvolti in ISO; il primo comando dopo l'attivazione imposta il formato per il resto della sessione. |
| MIFARE Classic 1K, 4K e Mini | Sì | Comandi PC/SC per carte di memoria (caricamento chiave, autenticazione, lettura e scrittura di blocchi) e comandi ACS per blocchi di valore |
| MIFARE Ultralight e tag NFC Forum di tipo 2 come l'NTAG213 dei nostri adesivi NFC | Sì | ACS elenca tutti e quattro i tipi di tag NFC Forum. Ultralight si legge con Read Binary e si scrive con Update Binary e non richiede autenticazione; provi le funzioni NTAG come la protezione con password su un campione |
| FeliCa (NFC Forum di tipo 3), come le nostre carte FeliCa | Sì | Comandi FeliCa nativi, oppure avvolti in Direct Transmit |
| Topaz e Jewel (NFC Forum di tipo 1) | Sì | Comandi nativi, oppure avvolti in Direct Transmit |
| Carte dual interface: un chip con pad di contatto e antenna | Solo il lato contactless | L'ACR122U non ha uno slot per contatti; l'interfaccia a contatto richiede un lettore a contatto |
| Carte combi: carte multi-chip, di solito due o più chip contactless in un unico corpo carta | Solo il chip ISO 14443 o FeliCa | Un chip a 125 kHz, ISO 15693 o UHF nella stessa carta richiede un proprio lettore |
| Tag di prossimità ISO 15693, come ICODE SLIX | No | Non rientra tra i tipi di carta elencati da ACS, né tra i tipi ricercati dal lettore in polling |
| LF a 125 kHz e 134,2 kHz: EM4100, EM4305, T5577, HITAG 2, tag animali FDX-B | No | Un lettore LF, come il lettore Bluetooth R901 per i tag auricolari FDX-B |
| UHF EPC Gen2, da 860 a 960 MHz | No | Un lettore e un'antenna UHF |
Librerie e strumenti che funzionano con esso
- pyscard (Python), l'API WinSCard (C, C++ e .NET su Windows) e javax.smartcardio (Java) sono livelli PC/SC: aprono l'ACR122U PICC Interface, inviano le APDU sopra indicate come trasmissioni e inviano i comandi del lettore tramite la chiamata di controllo una volta abilitato il canale escape.
- libnfc dispone di due driver per il lettore: acr122_pcsc, che passa attraverso pcsc-lite, e acr122_usb, che apre direttamente il dispositivo USB. In entrambi i casi i moduli pn533 del kernel non devono essere caricati. Per le modalità NFCIP o di emulazione carta senza carta sul lettore, il README di libnfc indica di consentire il comando CCID Exchange in libccid (ifdDriverOptions 0x0001). Il driver acr122_usb rivendica l'interfaccia USB del lettore stesso, come fa il driver CCID di pcscd, quindi solo uno dei due può tenere il lettore: fermi pcscd mentre usa acr122_usb, oppure usi acr122_pcsc.
- nfcpy elenca l'ACR122U nella sua tabella hardware, con supporto in lettura e scrittura per i tag NFC Forum di tipo 2, 3 e 4 e come iniziatore peer-to-peer, ma senza emulazione di tag né il ruolo di target peer-to-peer. La sua documentazione sconsiglia l'acquisto dell'ACR122U per nfcpy, perché il controller CCID davanti al PN532 impedisce l'uso completo del chip; per lavori con nfcpy, scelga un lettore supportato da nfcpy senza questi limiti.
Errori comuni
- Le chiavi scompaiono dopo lo scollegamento. Le chiavi caricate con FF 82 risiedono in memoria volatile, quindi le carichi all'inizio di ogni sessione. Si autentichi di nuovo ogni volta che passa a un blocco di un altro settore.
- Scrivere un trailer di settore. L'ultimo blocco di ogni settore MIFARE Classic contiene la chiave A, i bit di accesso e la chiave B, quindi una scrittura su quel blocco sostituisce chiavi e bit di accesso. Provi prima le scritture di trailer su una carta di scorta.
- Un beep a ogni passaggio. Il buzzer suona a ogni rilevamento di carta per impostazione predefinita; FF 00 52 00 00 lo disattiva.
- Comandi lunghi o di grandi dimensioni. Le note dell'elenco dei lettori del driver CCID indicano che l'ACR122U non supporta APDU estese né richieste di estensione del tempo e registrano guasti in alcune versioni del firmware. Provi il comando più grande e l'operazione sulla carta più lenta e annoti la versione del firmware insieme al risultato.
- MIFARE Classic 4K e NDEF. ACS consiglia un ritardo di 2 secondi nella lettura dei messaggi NDEF da carte MIFARE Classic 4K.
Come testare un campione
- Colleghi il lettore al computer e alla build del sistema operativo che verrà distribuita e verifichi che l'host lo veda: Gestione dispositivi su Windows, lsusb e pcsc_scan su Linux.
- Legga la versione del firmware con FF 00 48 00 00 e la annoti insieme al sistema operativo e alla versione del driver.
- Ponga una carta campione sul lettore e legga l'ATR. Per le carte di memoria e i tag, i byte del nome carta mostrano il tipo rilevato dal lettore: 00 01 MIFARE Classic 1K, 00 02 Classic 4K, 00 03 Ultralight, 00 26 Mini, F0 04 Topaz, F0 11 o F0 12 FeliCa. Le carte ISO 14443-4 portano invece byte storici dall'ATS (tipo A) o dall'ATQB (tipo B).
- Legga l'UID con FF CA 00 00 00 e lo confronti con l'ordine dei byte e il formato numerico memorizzati dal sistema, esadecimale o decimale, prima di registrare un lotto.
- Esegua ogni operazione richiesta dall'applicazione sulla carta reale. Per MIFARE Classic: carichi la chiave, si autentichi, quindi legga e scriva un blocco di prova, non un trailer di settore. Per DESFire o una Java Card: la sequenza di comandi propria dell'applicazione, inclusi il comando più lungo e la risposta.
- Scolleghi il lettore, lo ricolleghi e ripeta, così da sapere che il software ricarica chiavi e impostazioni da solo.
Chieda carte campione dello stesso chip insieme al lettore, così il test utilizza lo stock che ordinerà; i campioni standard sono gratuiti.
Specifiche indicate da ACS
| Dimensioni e peso | 98,0 mm (L) x 65,0 mm (W) x 12,8 mm (H); 70 g |
| USB | USB CCID, Full Speed (12 Mbps); connettore standard di tipo A su cavo fisso da 1,0 m; alimentato dalla porta USB, 5 V, 200 mA massimo |
| Interfaccia contactless | 13,56 MHz; ISO/IEC 18092 NFC, ISO 14443 di tipo A e B, MIFARE, FeliCa; 106, 212 e 424 kbit/s; una carta alla volta |
| Distanza operativa | Fino a 50 mm, a seconda del tipo di tag; antenna 50 mm x 40 mm |
| Periferiche integrate | Un LED bicolore rosso/verde; buzzer monotono |
| Condizioni operative | Da 0 a 60 °C; fino al 90% di umidità relativa, senza condensa |
| Supporto driver | Da Windows XP a Windows 10 e da Windows Server 2003 a 2016; Windows CE e Embedded Compact; Linux; Mac OS; Solaris; Android 3.1 e versioni successive (con la libreria Android di ACS) |
| Conformità | EN 60950/IEC 60950, ISO 14443, ISO 18092, PC/SC, CCID, CE, FCC, RoHS 2, REACH, VCCI, KC, Microsoft WHQL |
ACR122U, ACR1252U o ACR1552U
Tutti e tre sono lettori USB di ACS che il software PC/SC apre come lettori di smart card CCID e tutti e tre accettano i comandi per carte di memoria della tabella dei comandi sopra. L'ACR1552U elenca più tipi di carta rispetto agli altri due e i tre differiscono nei comandi del lettore e in alcuni limiti. Ogni dato di questa tabella proviene dai documenti di ACS per quel modello, collegati sotto di essa.
| Funzione | ACR122U | ACR1252U | ACR1552U |
| Connessione USB | CCID, Full Speed; spina di tipo A su cavo fisso da 1,0 m | CCID, Full Speed; spina di tipo A (ACR1252U-M1) o di tipo C (ACR1252U-MF) su cavo fisso da 1 m | CCID, Full Speed; codici articolo ACR1552U-M1 (tipo A) e ACR1552U-MF (tipo C), cavo fisso da 1 m |
| Carte elencate da ACS | ISO 14443 A e B, MIFARE, FeliCa, tutti e quattro i tipi di tag NFC Forum (ISO/IEC 18092) | ISO 14443 A e B, MIFARE, FeliCa, tutti e quattro i tipi di tag NFC Forum (ISO/IEC 18092) | ISO 14443 A e B, MIFARE, FeliCa, ISO/IEC 18092 NFC e Topaz, più ISO 15693, SRI/SRIX, Picopass, CTS e Innovatron |
| Tag ISO 15693, come ICODE SLIX | Non elencato | Non elencato | Sì |
| APDU estese | Non elencato | Fino a 64 KB | Fino a 64 KB |
| Velocità; distanza operativa, a seconda del tag | Fino a 424 kbit/s; fino a 50 mm | Fino a 424 kbit/s; fino a 50 mm | Fino a 848 kbit/s per ISO 14443; fino a 70 mm |
| Slot SAM | Non elencato | Uno slot ISO 7816 di classe A formato SIM, per una SAM, non per una carta formato intero | Uno slot ISO 7816 di classe A formato SIM, per una SAM, non per una carta formato intero |
| LED; temperatura operativa | Rosso e verde; da 0 a 60 °C | Rosso e verde; da 0 a 60 °C | Blu e verde; da −20 a 70 °C |
Fonti: la specifica tecnica ACR1252U e il manuale API di ACS, la specifica tecnica ACR1552U e il manuale di riferimento, e il manuale API ACR122U (download in PDF).
Verifiche per il codice PC/SC che abbandona l'ACR122U:
- Il nome del lettore. Il software che seleziona l'ACR122U in base al nome del lettore deve cambiare. Ogni lettore più recente presenta un lettore contactless (PICC) e un lettore SAM e gli esempi di ACS aprono "ACS ACR1252 1S CL Reader PICC 0" o "ACS ACR1552 1S CL Reader PICC 0". Selezioni il lettore PICC, non lo slot SAM.
- I comandi per carte restano validi. Get Data (FF CA), Load Keys (FF 82, due slot volatili per chiavi), Authenticate (FF 86), Read e Update Binary (FF B0, FF D6), i comandi ACS per blocchi di valore (FF D7, FF B1) e la sessione trasparente PC/SC 2.0 Parte 3 (FF C2) sono documentati per entrambi i lettori più recenti.
- I comandi del lettore cambiano. L'ACR1252U mantiene quattro delle pseudo-APDU FF 00 dell'ACR122U come "comandi compatibili con ACR122U": FF 00 40 (LED e buzzer), FF 00 48 (versione del firmware), FF 00 50 e FF 00 51 (impostazioni di polling). Altrimenti entrambi i lettori più recenti accettano comandi escape che iniziano con E0 00, inviati con SCardControl tramite il canale escape (punto successivo); E0 00 00 18 00, ad esempio, restituisce la versione del firmware. Il beep al rilevamento di carta, che l'ACR122U controlla con FF 00 52, è il bit 3 di un byte di comportamento che imposta anche i LED, su entrambi: legga il byte con E0 00 00 21 00 e lo riscriva con E0 00 00 21 01 e il bit 3 azzerato, così le impostazioni LED restano come erano. L'ACR1252U mantiene la nuova impostazione dopo lo spegnimento.
- Abiliti il canale escape per il nuovo lettore. Sull'ACR122U, i comandi del lettore possono essere inviati come normali trasmissioni mentre una carta è sul lettore, quindi il software esistente potrebbe non aver mai usato il canale escape. Sui lettori più recenti i comandi E0 00 passano solo attraverso di esso. Con il driver CCID di Microsoft su Windows, imposti EscapeCommandEnable con l'ID USB proprio del nuovo lettore, non con il VID_072F&PID_2200 dell'ACR122U, oppure installi il driver di ACS, che il manuale ACR1552U di ACS indica di installare. Su Linux, il driver acsccid di ACS accetta SCARD_CTL_CODE(3500) e il driver CCID di pcsc-lite (libccid) richiede ifdDriverOptions 0x0001 e accetta l'escape come SCARD_CTL_CODE(1); su macOS, installi il driver acsccid di ACS.
- Nessun comando PN532. Sull'ACR122U, Direct Transmit (FF 00 00 00) passa comandi al suo controller PN532, come l'interruttore dell'antenna. Nessun lettore più recente documenta comandi PN532. Essi usano l'intestazione FF 00 00 00 per i comandi FeliCa e l'ACR1552U anche per i comandi ISO 14443-3. Il campo RF viene commutato all'interno di una sessione trasparente PC/SC 2.0 Parte 3: FF C2 00 00 02 81 00 avvia la sessione, FF C2 00 00 02 83 00 spegne il campo e FF C2 00 00 02 84 00 lo accende, e FF C2 00 00 02 82 00 chiude la sessione. Il polling automatico resta disattivato fino alla fine della sessione e il manuale ACR1552U di ACS avverte che una sessione usata in modo errato può impedire al lettore di rilevare le carte. Per risparmiare energia, usi l'impostazione di polling automatico dell'ACR1252U (E0 00 00 23), che può spegnere l'antenna quando non viene trovata alcuna carta, oppure il comando di controllo RF dell'ACR1552U (E0 00 00 25).
- Nomi carta nell'ATR. MIFARE Classic 1K e 4K, Ultralight e Mini mantengono i byte del nome carta (00 01, 00 02, 00 03, 00 26). FeliCa e Topaz cambiano: i lettori più recenti riportano 00 3B e 00 30, dove l'ACR122U riporta F0 11 o F0 12 e F0 04. L'ACR1552U sottopone Topaz a polling solo dopo che è stato abilitato con il suo comando Set PICC Polling Type.
- Firmware. Annoti la versione del firmware del campione. ACS elenca una versione minima del firmware per alcuni comandi ACR1552U, inclusi i comandi pass-through ISO 14443-3 e ISO 15693.
Cosa fornisce Proud Tek
Forniamo l'ACR122U, con la quantità confermata per ordine, i due modelli ACS attuali confrontati sopra e le carte, i tag e gli adesivi con cui li testa; i nostri lettori sono elencati in Lettori RFID. ACS produce tutti e tre i lettori ed è la fonte dei loro driver, firmware e manuali; la nostra parte è la fornitura e non scriviamo né supportiamo software applicativo. Ci comunichi il chip della carta, il sistema operativo host e i comandi inviati dal software. I lotti che preferisce non codificare da sé possono passare dal nostro servizio di codifica RFID: rileggiamo ogni carta codificata prima della spedizione, ogni ordine codificato è accompagnato da un report dati e, per le carte numerate, aggiungiamo l'UID di ogni carta accanto al suo numero stampato in un file Excel, CSV o XML, il che lascia il lettore libero per controlli a campione.
Domande frequenti
L'ACR122U richiede un driver?
Non su Windows: ACS dichiara che vengono utilizzati i driver USB CCID e PC/SC integrati di Microsoft e il lettore appare come ACR122U PICC Interface. Su Linux, usi pcscd con libccid o il driver acsccid di ACS; su macOS, acsccid supporta OS X 10.7 o versioni successive. Per inviare comandi del lettore senza carta presente, abiliti prima il canale escape: un valore di registro su Windows, ifdDriverOptions 0x0001 per libccid.
Perché Linux segnala "Can't claim interface" per l'ACR122U?
Il driver NFC del kernel, pn533_usb, elenca l'ID USB dell'ACR122U (072f:2200) e associa il lettore prima che pcscd o libnfc possano farlo. Scarichi i moduli pn533_usb e pn533, inserisca nfc, pn533 e pn533_usb nella blacklist in /etc/modprobe.d, quindi ricolleghi il lettore e riavvii pcscd.
Quale APDU legge l'UID di una carta sull'ACR122U?
FF CA 00 00 00. Il lettore restituisce l'UID seguito da 90 00, oppure 63 00 se l'operazione non è riuscita. FF CA 01 00 00 restituisce l'ATS di una carta ISO 14443-4 di tipo A. Entrambi i comandi sono definiti nell'Application Programming Interface dell'ACR122U di ACS.
Come leggo e scrivo MIFARE Classic con l'ACR122U?
Carichi la chiave con FF 82 00 00 06 e la chiave di 6 byte, autentichi il blocco con FF 86 00 00 05 01 00, il numero di blocco, 60 per la chiave A o 61 per la chiave B e lo slot della chiave. Quindi legga con FF B0 00, il blocco e 10, oppure scriva 16 byte con FF D6 00, il blocco, 10 e i dati. I due slot per chiavi sono volatili, quindi ricarichi le chiavi dopo che il lettore è stato ricollegato. Leggere un UID non implica mai l'accesso ai settori protetti.
Quali carte non può leggere l'ACR122U?
Tutto ciò che è al di fuori di ISO 14443, ISO 18092 e FeliCa a 13,56 MHz: tag LF a 125 kHz e 134,2 kHz, etichette UHF EPC Gen2 e tag di prossimità ISO 15693 come ICODE SLIX. Non ha nemmeno uno slot per contatti, quindi raggiunge una carta dual interface solo attraverso il suo lato contactless e solo il chip ISO 14443 o FeliCa di una carta combi multi-chip.
Come verifico se l'ACR122U legge le mie carte esistenti?
Ponga una carta sul lettore e legga l'ATR. I byte del nome carta mostrano ciò che il lettore ha rilevato: 00 01 MIFARE Classic 1K, 00 02 Classic 4K, 00 03 Ultralight, 00 26 Mini, F0 04 Topaz, F0 11 o F0 12 FeliCa; una carta ISO 14443-4 restituisce invece byte storici. Se non viene rilevato nulla, verifichi se la carta è a 125 kHz, ISO 15693 o UHF, che l'ACR122U non può leggere. FF CA 00 00 00 legge quindi l'UID senza chiavi, ma l'UID non è il dato protetto: settori e applicazioni richiedono le chiavi del sistema. Per una carta di un sistema di accesso o di membership esistente, chieda al fornitore del sistema il formato della carta e le chiavi e provi un campione autorizzato.
L'ACR122U funziona con pyscard, libnfc e nfcpy?
pyscard e gli altri binding PC/SC funzionano tramite l'interfaccia standard del lettore. libnfc lo supporta tramite pcsc-lite o direttamente via USB, una volta scaricati i moduli pn533 del kernel. nfcpy elenca il supporto in lettura e scrittura per i tag NFC Forum di tipo 2, 3 e 4, ma la sua documentazione sconsiglia l'acquisto dell'ACR122U per nfcpy.
L'ACR122U è ancora disponibile?
Sì. Proud Tek lo fornisce; confermi la quantità al momento dell'ordine. ACS elenca il modello come fuori produzione, quindi per un nuovo progetto che deve restare in produzione per anni forniamo anche gli attuali ACR1252U (USB NFC Reader III) e ACR1552U (USB NFC Reader IV) di ACS. Entrambi accettano gli stessi comandi PC/SC per carte di memoria, ma i loro comandi del lettore e i nomi carta nell'ATR per FeliCa e Topaz differiscono e, dei tre, solo l'ACR1552U elenca tag ISO 15693. Se preferisce basarsi su un SDK del produttore, chieda quale modello µFR attuale possiamo fornire. Provi qualsiasi lettore con le proprie carte e il proprio software.