idVendor 0x0A5C idProduct 0x5843 Interface 4 - Application-Specific EP 1 IN EP 1 OUT EP 5 IN Interface 5 - Smart Card EP 2 IN EP 2 OUT EP 6 IN Interface 6 - Smart Card EP 3 IN EP 3 OUT EP 7 IN Interface 7 - Vendor Specific EP 4 IN EP 4 OUT EP 8 IN Legend: > - New outgoing message (beginning) >> - Message continuation (division for readability) < - New incoming message (beginning) << - Message continuation (division for readability) # CTRL - Control endpoint communication (bmRequestType, bRequest, wValue, wIndex) Communication via Endpoint 4 ########## TURNING ON ########## # CTRL 0x41 0x01 0x0000 0x0003 > 01 00 00 04 01 = SPI_MASTER 00 = NO_CRC 00 04 = size >> 20 00 01 00 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE 00 = NCI_MSG_CORE_RESET 01 = NCI_CORE_PARAM_SIZE_RESET 00 = NCI_RESET_TYPE_KEEP_CFG < 00 00 00 06 00 = SPI_SLAVE 00 = NO_CRC 00 06 = size << 40 00 03 00 10 00 40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE 00 = NCI_MSG_CORE_RESET 03 = NCI_CORE_PARAM_SIZE_RESET_RSP 00 = NCI_STATUS_OK 10 = NCI_VERSION (1.0) 00 = NCI_RESET_STATUS_KEPT_CFG # CTRL 0x41 0x01 0x0001 0x0003 # CTRL 0x41 0x00 0x0000 0x0003 # CTRL 0x41 0x00 0x0001 0x0003 # CTRL 0x41 0x01 0x0000 0x0003 > 01 00 00 04 01 = SPI_MASTER 00 = NO_CRC 00 04 = size >> 20 00 01 00 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE 00 = NCI_MSG_CORE_RESET 01 = NCI_CORE_PARAM_SIZE_RESET 00 = NCI_RESET_TYPE_KEEP_CFG < 00 00 00 06 00 = SPI_SLAVE 00 = NO_CRC 00 06 = size << 40 00 03 00 11 00 40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE 00 = NCI_MSG_CORE_RESET 03 = NCI_CORE_PARAM_SIZE_RESET_RSP 00 = NCI_STATUS_OK 11 = NCI_VERSION (1.1) 00 = NCI_RESET_STATUS_KEPT_CFG > 01 00 00 03 01 = SPI_MASTER 00 = NO_CRC 00 03 = size >> 20 01 00 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE 01 = NCI_MSG_CORE_INIT 00 = size < 00 00 00 1a 00 = SPI_SLAVE 00 = NO_CRC 00 1a = size << 40 01 17 00 40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE 01 = NCI_MSG_CORE_INIT 17 = size 00 = NCI_STATUS_OK << 03 0e 02 01 03 0e 02 01 NFCC_FEATURES 02 = multiple NFCEEs 01 = RF_DISCOVER_CMD supported 08 = AID-based routing supported 04 = Protocol-based routing supported 02 = Technology-based routing supported 02 = Switched-off state supported 01 = Proprietary parameters << 06 00 01 02 03 81 83 06 = num_of_ifaces (6) 00 = NCI_INTERFACE_EE_DIRECT_RF 01 = NCI_INTERFACE_FRAME 02 = NCI_INTERFACE_ISO_DEP 03 = NCI_INTERFACE_NFC_DEP 81 = Proprietary Interface (81) 83 = Proprietary Interface (83) << 08 00 04 ff 0f 00 2e 04 10 2b 41 08 = num_of_conns_max (8) 00 04 = num_of_routes_max ff = size_control_payload_max 0f 00 = size_large_params_max 2e = manufacturer_id 04 10 2b 41 = manufacturer_specific > 01 00 00 05 01 = SPI_MASTER 00 = NO_CRC 00 05 = size >> 20 03 02 01 52 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE 03 = NCI_MSG_CORE_GET_CONFIG 02 = num_of_params (2) 01 = CON_DEVICES_LIMIT 52 = LF_T3T_MAX < 00 00 00 08 00 = SPI_SLAVE 00 = NO_CRC 00 08 = size << 40 03 05 00 01 52 01 10 40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE 03 = NCI_MSG_CORE_GET_CONFIG ??? > 01 00 00 22 01 = SPI_MASTER 00 = NO_CRC 00 22 = size >> 20 02 1f 0a 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE 02 = NCI_MSG_CORE_SET_CONFIG 1f = size 0a = num_of_params (10) >> 21 01 00 21 = PI_BIT_RATE 01 = size_of_param 00 = 106 Kbit/s >> 28 01 00 28 = PN_NFC_DEP_SPEED 01 = size_of_param 00 = Highest Available Bitrate >> 30 01 04 30 = LA_BIT_FRAME_SDD 01 = size_of_param 04 = Bit Frame SDD value to be sent in Byte 1 of SENS_RES >> 31 01 03 31 = LA_PLATFORM_CONFIG 01 = size_of_param 03 = Platform Configuration value to be sent in Byte 2 of SENS_RES >> 54 01 06 54 = LF_CON_BITR_F 01 = size_of_param 02 = listen for 212 kbps 04 = listen for 424 kbps >> 5b 01 00 5b = LI_BIT_RATE 01 = size_of_param 00 = 106 Kbit/s >> 60 01 07 60 = LN_WT 01 = size_of_param 07 = waiting time (7) >> 80 01 01 80 = RF_FIELD_INFO 01 = size_of_param 01 = RF_FIELD_INFO_NTF allowed >> 81 01 01 81 = RF_NFCEE_ACTION 01 = size_of_param 01 = send RF NFCEE Actions >> 82 01 0e 82 = NFCDEP_OP 01 = size_of_param 02 = ATTENTION only for error recovery 04 = don't send msgs without Transport Data Bytes 08 = chaining uses max number of Transport Data Bytes < 00 00 00 05 00 = SPI_SLAVE 00 = NO_CRC 00 05 = size << 40 02 02 00 00 40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE 02 = NCI_MSG_CORE_SET_CONFIG 02 = size 00 = NCI_STATUS_OK 00 = num_of_invalid_params (0) > 01 00 00 13 01 = SPI_MASTER 00 = NO_CRC 00 13 = size >> 21 00 10 05 21 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE 00 = NCI_MSG_RF_DISCOVER_MAP 10 = size (16) 05 = num_mapping_configs >> 04 03 02 04 = NCI_PROTOCOL_ISO_DEP 03 = NCI_INTERFACE_MODE_POLL_N_LISTEN 02 = NCI_INTERFACE_ISO_DEP >> 05 03 03 05 = NCI_PROTOCOL_NFC_DEP 03 = NCI_INTERFACE_MODE_POLL_N_LISTEN 03 = NCI_INTERFACE_NFC_DEP >> 01 01 01 01 = PROTOCOL_T1T 01 = NCI_INTERFACE_MODE_POLL 01 = NCI_INTERFACE_FRAME >> 02 01 01 02 = PROTOCOL_T2T 01 = NCI_INTERFACE_MODE_POLL 01 = NCI_INTERFACE_FRAME >> 03 01 01 03 = PROTOCOL_T3T 01 = NCI_INTERFACE_MODE_POLL 01 = NCI_INTERFACE_FRAME < 00 00 00 04 00 = SPI_SLAVE 00 = NO_CRC 00 04 = size << 61 07 01 00 61 = NCI_MTS_NTF | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE 07 = NCI_MSG_RF_FIELD 01 = size 00 = No RF field < 00 00 00 04 00 = SPI_SLAVE 00 = NO_CRC 00 04 = size << 41 00 01 00 41 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE 00 = NCI_MSG_RF_DISCOVER_MAP 01 = NCI_DISCOVER_PARAM_SIZE_RSP 00 = NCI_STATUS_OK > 01 00 00 0a 01 = SPI_MASTER 00 = NO_CRC 00 0a = size >> 21 01 07 00 01 01 03 00 01 05 21 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE 01 = NCI_MSG_RF_SET_ROUTING 07 = size 00 = last message 01 = routing_entries (1) 01 = protocol-based routing 03 = length (3) 00 = DH NFCEE ID 01 = power state (1 - switched on) 05 = PROTOCOL_NFC_DEP < 00 00 00 04 00 = SPI_SLAVE 00 = NO_CRC 00 04 = size << 41 01 01 00 41 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE 01 = NCI_MSG_RF_SET_ROUTING 01 = size 00 = NCI_STATUS_OK > 01 00 00 0c 01 = SPI_MASTER 00 = NO_CRC 00 0c = size >> 20 02 09 01 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE 02 = NCI_MSG_CORE_SET_CONFIG 09 = size 01 = num_of_params >> b9 06 01 00 00 0b 00 00 b9 = Proprietary parameter (b9) 06 = size_of_param < 00 00 00 05 00 = SPI_SLAVE 00 = NO_CRC 00 05 = size << 40 02 02 00 00 40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE 02 = NCI_MSG_CORE_SET_CONFIG 02 = size 00 = NCI_STATUS_OK 00 = num_of_invalid_params (0) > 01 00 00 ca 01 = SPI_MASTER 00 = NO_CRC 00 ca = size >> 20 02 c7 11 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE 02 = NCI_MSG_CORE_SET_CONFIG c7 = size 11 = num_of_params (17) >> 18 01 02 18 = PF_BIT_RATE 01 = size_of_param 02 = 424 Kbit/s >> 2a 01 32 2a = PN_ATR_REQ_CONFIG 01 = size_of_param 30 = 0011b for LLCP 02 = ? >> 80 01 00 80 = RF_FIELD_INFO 01 = size_of_param 00 = RF_FIELD_INFO_NTF not allowed >> c2 02 03 02 c2 = Proprietary parameter (c2) 02 = size_of_param >> c4 02 00 13 c4 = Proprietary parameter (c4) 02 = size_of_param >> ca 05 00 0f 0d 03 08 ca = Proprietary parameter (ca) 05 = size_of_param >> cb 01 00 cb = Proprietary parameter (cb) 01 = size_of_param >> d6 0b 01 01 00 01 12 00 01 00 01 00 01 d6 = Proprietary parameter (d6) 0b = size_of_param >> d8 01 01 d8 = Proprietary parameter (d8) 01 = size_of_param >> de 04 01 00 00 00 de = Proprietary parameter (de) 04 = size_of_param >> e0 07 00 60 93 1c 63 3e 0a e0 = Proprietary parameter (e0) 07 = size_of_param >> e1 02 79 07 e1 = Proprietary parameter (e1) 02 = size_of_param >> e2 2a 48 07 0c 10 00 31 39 39 39 39 39 39 39 39 39 39 41 39 90 90 90 90 3f 90 90 90 88 8a 8c 94 94 28 04 07 00 00 00 00 00 00 00 00 e2 = Proprietary parameter (e2) 2a = size_of_param >> e3 08 17 04 16 0d 10 0c 2b 0b e3 = Proprietary parameter (e3) 08 = size_of_param >> e4 01 37 e4 = Proprietary parameter (e4) 01 = size_of_param >> e5 1e e0 1e 02 12 00 0a 00 10 04 54 54 54 54 2b 52 50 53 4e 20 2d 18 0c 02 07 00 94 70 94 70 20 e5 = Proprietary parameter (e5) 1e = size_of_param >> e6 2d 01 68 00 77 00 8b 00 a7 00 d6 00 22 01 c0 01 9e 58 4c 40 33 26 20 1e 68 00 77 00 8b 00 a7 00 d6 00 22 01 c0 01 5e 58 4c 40 33 2b 26 1e e6 = Proprietary parameter (e6) 2d = size_of_param < 00 00 00 05 00 = SPI_SLAVE 00 = NO_CRC 00 05 = size << 40 02 02 00 00 40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE 02 = NCI_MSG_CORE_SET_CONFIG 02 = size 00 = NCI_STATUS_OK 00 = num_of_invalid_params (0) > 01 00 00 09 01 = SPI_MASTER 00 = NO_CRC 00 09 = size >> 2f 1b 06 08 00 00 01 00 00 2f = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_PROP 1b = Proprietary message (1b) 06 = size < 00 00 00 04 00 = SPI_SLAVE 00 = NO_CRC 00 04 = size << 4f 1b 01 00 4f = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_PROP 1b = Proprietary message (1b) 01 = size > 01 00 00 30 01 = SPI_MASTER 00 = NO_CRC 00 30 = size >> 20 02 2d 04 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE 02 = NCI_MSG_CORE_SET_CONFIG 2d = size 04 = num_of_params (4) >> 29 11 46 66 6d 01 01 11 02 02 03 80 03 02 00 01 04 01 64 29 = PN_ATR_REQ_GEN_BYTES 11 = size_of_param General Bytes for ATR_REQ >> 2a 01 30 2a = PN_ATR_REQ_CONFIG 01 = size_of_param 30 = 0011b for LLCP >> 61 11 46 66 6d 01 01 11 02 02 03 80 03 02 00 01 04 01 64 61 = LN_ATR_RES_GEN_BYTES 11 = size_of_param General Bytes in ATR_RES >> 62 01 30 62 = LN_ATR_RES_CONFIG 01 = size_of_param 30 = 0011b for LLCP < 00 00 00 05 00 = SPI_SLAVE 00 = NO_CRC 00 05 = size << 40 02 02 00 00 40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE 02 = NCI_MSG_CORE_SET_CONFIG 02 = size 00 = NCI_STATUS_OK 00 = num_of_invalid_params (0) > 01 00 00 11 01 = SPI_MASTER 00 = NO_CRC 00 11 = size >> 20 02 0e 04 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE 02 = NCI_MSG_CORE_SET_CONFIG 0e = size 04 = num_of_params (4) >> 18 01 01 18 = PF_BIT_RATE 01 = size_of_param 01 = 212 Kbit/s >> 32 01 40 32 = LA_SEL_INFO 01 = size_of_param 40 = NFC-DEP >> 50 01 02 50 = LF_PROTOCOL_TYPE 01 = size_of_param 02 = NFC-DEP >> 00 02 2c 01 00 = TOTAL_DURATION 02 = size_of_param 2c 01 = 11 256 ms < 00 00 00 05 00 = SPI_SLAVE 00 = NO_CRC 00 05 = size << 40 02 02 00 00 40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE 02 = NCI_MSG_CORE_SET_CONFIG 02 = size 00 = NCI_STATUS_OK 00 = num_of_invalid_params (0) > 01 00 00 10 01 = SPI_MASTER 00 = NO_CRC 00 10 = size >> 21 03 0d 06 21 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE 03 = NCI_MSG_RF_DISCOVER 0d = size 06 = num_of_configs (6) >> 00 01 00 = NFC_A_PASSIVE_POLL_MODE 01 = every discovery period >> 01 01 01 = NFC_B_PASSIVE_POLL_MODE 01 = every discovery period >> 02 01 02 = NFC_F_PASSIVE_POLL_MODE 01 = every discovery period >> 06 01 06 = NFC_15693_PASSIVE_POLL_MODE 01 = every discovery period >> 80 01 80 = NFC_A_PASSIVE_LISTEN_MODE 01 = every discovery period >> 82 01 82 = NFC_F_PASSIVE_LISTEN_MODE 01 = every discovery period < 00 00 00 04 00 = SPI_SLAVE 00 = NO_CRC 00 04 = size << 41 03 01 00 41 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE 03 = NCI_MSG_RF_DISCOVER 01 = size 00 = STATUS_OK # CTRL 0x41 0x01 0x0001 0x0003