PCSC Operation APDU Interpreter Vendor instructions SLOT CONTROL SLOT CONTROL CL
September 8, 2025 at 7:43 AMSLOT 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” functions11: Always select Extended functions10: 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 guess01: UPDATE BINARY maps to WriteSingleBlock or ExtendedWriteSingleBlock10: UPDATE BINARY maps to WriteMultipleBlocks or ExtendedWriteMultipleBlocks11: RFU |
| 0-1 | Map READ BINARY function | 00: Let the device guess01: READ BINARY maps to ReadSingleBlock or ExtendedReadSingleBlock10: READ BINARY maps to ReadMultipleBlocks or ExtendedReadMultipleBlocks11: 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 guess01: Do not set the Option flag on Lock commands11: Set the Option flag on all Lock commands10: Is RFU and shall not be used |
| 3-2 | Write Option flag | 00: Let the device guess01: Do not set the Option flag on Write commands11: Set the Option flag on all Write commands10: Is RFU and shall not be used |
| 1-0 | Read Option flag | 00: Let the device guess01: Do not set the Option flag on Read commands11: Set the Option flag on all Read commands10: Is RFU and shall not be used |
Response
| Field | Value | Remark |
|---|---|---|
| SW | 9000 on success |
Other values are documented in Status Words |