ib technology
Note that Mifare Ultralight cards DO NOT USE Security Keys or CRYPTO Authentication
and the memory is organised differently as groups of 4 bytes (Pages). Only one Page of 4
bytes can be written at a time so to maintain compatibility and a simple RWD host command
set, the same command as above is used to write data to Ultralight cards. The command and
arguments have the same structure but different meanings. The “Block” address is treated as a
“Page Address” and the KeyType/Key number parameter is a dummy 0x00 byte. In addition
the 4 bytes of data are padded out to 16 bytes with dummy 0x00 bytes.
B7
B0
Command:
Argument1:
Argument2:
0 1 0 1 0 1 1 1
x x x x N N N N
0 0 0 0 0 0 0 0
(Ascii “W”, 0x57)
(N = UL Card Page Address 0 – 15)
(Dummy byte, 0x00)
Argument3:
Argument4:
Argument5:
Argument6:
D D D D D D D D
D D D D D D D D
D D D D D D D D
D D D D D D D D
(D = LS Byte of data to write to UL card)
(D = MS Byte of data to write to UL card)
Argument7 – Argument18
0 0 0 0 0 0 0 0
12 Dummy padding bytes, 0x00
(F = Status flags)
Acknowledge: 1 F F F F F F X
Read Card Block
Command to read 16 bytes of data from specified Mifare block. The first argument is the
block number to read data from, the second argument specifies which key code (0 - 31 from
the internal storage area) to use for sector authentication/unlocking and if the Security Key is
to be used as a KeyA or KeyB type code. If the read was successful, indicated by
acknowledge status flags then sixteen bytes of block data follow.
B7
B0
Command:
Argument1:
Argument2:
0 1 0 1 0 0 1 0
N N N N N N N N
T x x K K K K K
(Ascii “R”, 0x52)
(N = MF Card Block Address 0 – 255)
(T = Key Type, 0 = KeyA, 1= KeyB)
(K = Key code number, 0 – 31)
(F = Status flags)
Acknowledge: 1 F F F F F F X
Data only follows if Read was successful
Reply1:
Reply2:
Reply3:
Reply4:
D D D D D D D D
D D D D D D D D
D D D D D D D D
D D D D D D D D
(D = LS Byte of data Read from card)
16 Bytes of data
Reply13:
Reply14:
Reply15:
Reply16:
D D D D D D D D
D D D D D D D D
D D D D D D D D
D D D D D D D D
(D = MS Byte of data Read from card)
14