03 November 2011

ACR122U as Card Emulator

Emulator

Card Emulator project using ACR122 reader
documents used so far:
..................................................
Paper:
ISO/IEC fcd 14443-3 ISO/IEC JTC1/sc17 N 1531
ISO/IEC JTC 17N 1689 part 4 [1998-01-12] 2000-03-10
ID cicc Proximity Cards

Part 3 Initialization and Anti Collision
Part 4 Transmission protocol

and Inet:
waazaa
ISO/IEC JTC1/SC17 N 1531
waazaa ISO/IEC JTC 1/SC 17 N 1689Date: 2000-03-10Draft ISO/IEC FCD 14443-4 ISO/IEC JTC 1/SC 17/WG 8

..................................................
Inet:
nxp
UM0701-2 pn532 User Manual rev 02
And Paper from NXP
..................................................
Paper:
AN<10449_1> PN532 application note Rev <01.00) 07Dec 2006
 Not available on Inet? Password required Confidetnial Document: nxp
..................................................
Paper:
ACS Advanced CArd Systems Ltd
ACR122 NFC Contactless Smart Card Reader
and Inet:
ACR122


________________________________________________________________________
__________________________________________________________________________



aaa
________________________________________________________________________
__________________________________________________________________________

NAD Present
The apdu got by the emulator must have some bytes stripped off the front
In Python this looks like:

errorcode= int(emulator.data[4:6],16)
# "Error" 0x80 high bit means NAD present ie not an error see page 67
NADpresent = (errorcode & 0x80) != 0
errorcode = errorcode & 0x7F;
if NADpresent:
    apdu_in = emulator.data[8:]
else:
    apdu_in = emulator.data[6:]