SLOT CONTROL instruction, Contactless slot (CL)

Use this command to finely control the behaviour of the contactless (NFC/RFID HF) slot.

Command format

Field Value Remark
CLA FF
INS FB
P1 Sub command selection See table below
P2 Sub command selection See table below
Lc Depend on the sub command
DataIn Depend on the sub command
Le 00

Sub command selection

NFC/RFID HF field and low-level card control

P1 P2 Function Description
00 00 Resume card tracking
01 00 Suspend card tracking Use this feature if the card’s authentication state is cleared by the tracking frames sent by the coupler
02 00 Get status/Select card See the multi-activation application note (to be written)
02 01 Track all See the multi-activation application note (to be written)
02 03 Track all and poll See the multi-activation application note (to be written)
10 00 RF field OFF The RF field is switched OFF; card tracking is suspended
10 01 RF field ON The RF field is switched ON; card tracking is (or remains) suspended
10 02 RF reset (sync) The RF field is switched OFF for about 10ms, then ON again
It is possible to specify a 2-B Data field to specify an explicit timing, from 0 to 65535ms
The commands returns when the field has been switched ON again
10 03 RF field reset upon removal RF field will reset as soon as the card currently present is removed
10 04 EMV removal Enter the EMV CL removal procedure (RF field reset + low level card tracking until the card has gone)
10 06 RF reset + track (sync) The RF field is switched OFF for about 10ms, then ON again
It is possible to specify a 2-B Data field to specify an explicit timing, from 0 to 65535ms
Once the RF field is ON, the device immediately tries to reactivate the card
The commands returns when the card has been reactivated, or a removal event has fired
10 07 RF field ON + track (async) The RF field is switched ON, card tracking is resumed
This command is asynchronous: the device schedules the tracking but does not immediately try to reactivate the card
10 08 RF field OFF + track (async) The RF field is switched ON, card tracking is resumed
This command is asynchronous: the device schedules the tracking but does not immediately try to reactivate the card. Of course the next tracking will switch the RF field ON again.

Advanced ISO/IEC 14443-3 and ISO/IEC 15693 operation

P1 P2 Function Description
11 00 Deselect or Halt Send the appropriate Deselect or Halt command to the current card, use Request (REQA/REQB) to retrieve the card afterwards
11 01 Deselect or Halt Send the appropriate Deselect or Halt command to the current card, use WakeUp (WUPA/WUPB) to retrieve the card afterwards
12 01 HLTA ISO/IEC 14443 type A: send the HALT command
12 02 HLTB ISO/IEC 14443 type B: send the HALT command
12 04 QUIET ISO/IEC 15693: send QUIET
13 01 Select again A ISO/IEC 14443 type A: send WUPA and try to select the same card again
13 02 Select again B ISO/IEC 14443 type B: send WUPB and try to select the same card again
13 04 Select again V ISO/IEC 15393: send RESET TO READ and run ANTICOLL again
14 04 SELECT ISO/IEC 15693: send the SELECT command to the card

Advanced ISO/IEC 14443-4 (T=CL / NFC-DEP) operation

P1 P2 Function Description
20 00 DESELECT ISO/IEC 14443-4: send the DESELECT command to the card
20 01 RATS ISO/IEC 14443 type A: send the RATS command to the card
20 02 ATTRIB ISO/IEC 14443 type B: send the ATTRIB command to the card
20 03 Reset T=CL ISO/IEC 14443-4: DESELECT+RATS or DESELECT+ATTRIB sequence
20 04 Disable T=CL (once) After the next SCardDisconnect, the card resets in ISO/IEC 14443-3 (not -4)
20 05 Disable T=CL (all) Same as above, but persistent until the coupler is reseted
20 06 Enable T=CL Restore the default behaviour (cards are operated at ISO/IEC 14443-4)
20 07 Leave T=CL now Do a RF reset and keep the card in ISO/IEC 14443-3 (not -4)

ISO/IEC 14443-4 statistics

P1 P2 Function Description
21 00 T=CL short stats ISO/IEC 14443-4: get the count of blocks exchanged during the last exhange (2 bytes) and its duration in ms (4 bytes)
21 01 Last FDT ISO/IEC 14443-4: get the last response time of the card in ms (4 bytes)

Set CL runtime parameters

P1 P2 Function Description
F0 30 Set polling and tracking strategy Temporary overrides register 0230
F0 31 Set protocols Temporary overrides register 0231
F0 32 Set bitrates Temporary overrides register 0232
F0 33 Set protocol level Temporary overrides register 0233
F0 37 Set compliance Temporary overrides register 0237
F0 39 Set VASUP frame Temporary overrides register 0239
F0 B2 Set PC/SC CL options Temporary overrides register 02B2
F0 BF Set CLA for embedded interpreter Temporary overrides register 02BF

Set ISO/IEC 14443 type A runtime parameters

P1 P2 Function Description
FA 01 Force Mifare Classic Assume the card is a Mifare Classic (and supports CRYPTO1)
FA 02 Cancel Mifare Classic Assume the card is not a Mifare Classic

The values that are set using these instructions are persistent until the coupler is reseted. Startup values are read from the non-volatile memory’s NFC-A specific options register.

Set ISO/IEC 14443 type B runtime parameters

P1 P2 Function Description
FB 10 Set AFI ISO/IEC 14443-2 type B AFI (1 byte)

The values that are set using these instructions are persistent until the coupler is reseted. Startup values are read from the non-volatile memory’s NFC-B specific options register.

Set FeliCa runtime parameters

P1 P2 Function Remark
FC 01 Set READ Service Code Service Code (2 bytes) to be used by the READ BINARY instruction with FeliCa cards
FC 02 Set WRITE Service Code Service Code (2 bytes) to be used by the UPDATE BINARY instruction with FeliCa cards
FC 10 Set System Code System Code or SENS_RES (2 bytes) to be used for FeliCa polling
FC 11 Set Request Code Request Code or SENS_REQ (1 byte) to be used for FeliCa polling

The values that are set using these instructions are persistent until the coupler is reseted. Startup values are read from the non-volatile memory’s NFC-F specific options register.

Set ISO/IEC 15693 runtime parameters

The values that are set using these instructions are persistent until the coupler is reseted. Startup values are read from the non-volatile memory’s NFC-F specific options register.

P1 P2 Function DataIn
FD 00 Set Read/Write Options ISO/IEC 15693-3 Read/Write Options (2 bytes, see below)
FD 10 Broadcast mode ISO/IEC 15693: use non-addressed, non-selected mode
FD 11 Addressed mode ISO/IEC 15693: revert to addressed mode (default)
FD 12 Selected mode ISO/IEC 15693: use selected mode

When P1,P2=FD,00, DataIn is a two byte bit-field, defined as follow:

ISO/IEC 15693-3 Read/Write Options, Byte 0

Bit Role Values
7-6 Select extended functions 00: Let the device guess (Extended functions for Block Address above 255, “normal” function otherwise)
01: Always select “normal” functions
11: Always select Extended functions

10: Is RFU and shall not be used
5 RFU Shall be 0
4 RFU Shall be 0
3-2 Map UPDATE BINARY function 00: Let the device guess
01: UPDATE BINARY maps to WriteSingleBlock or ExtendedWriteSingleBlock
10: UPDATE BINARY maps to WriteMultipleBlocks or ExtendedWriteMultipleBlocks
11: RFU
0-1 Map READ BINARY function 00: Let the device guess
01: READ BINARY maps to ReadSingleBlock or ExtendedReadSingleBlock
10: READ BINARY maps to ReadMultipleBlocks or ExtendedReadMultipleBlocks
11: RFU

ISO/IEC 15693-3 Read/Write Options, Byte 1

Bit Role Values
7 RFU Shall be 0
6 RFU Shall be 0
5-4 Lock Option flag 00: Let the device guess
01: Do not set the Option flag on Lock commands
11: Set the Option flag on all Lock commands

10: Is RFU and shall not be used
3-2 Write Option flag 00: Let the device guess
01: Do not set the Option flag on Write commands
11: Set the Option flag on all Write commands

10: Is RFU and shall not be used
1-0 Read Option flag 00: Let the device guess
01: Do not set the Option flag on Read commands
11: Set the Option flag on all Read commands

10: Is RFU and shall not be used

Response

Field Value Remark
SW 9000 on success Other values are documented in Status Words