From d78c9dece5020d0f7e9558074c45417e9c09f840 Mon Sep 17 00:00:00 2001 From: Jacek Kowalski <Jacek@jacekk.info> Date: Tue, 26 Mar 2019 00:40:52 +0000 Subject: [PATCH] Decode standard NCI messages --- traffic.txt | 675 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 552 insertions(+), 123 deletions(-) diff --git a/traffic.txt b/traffic.txt index 9a75dc1..8d4f6c4 100644 --- a/traffic.txt +++ b/traffic.txt @@ -1,5 +1,13 @@ -Sniffed communication between Windows 10 driver and Dell ControlVault2 USB device (vendor-specific interface): +Sniffed communication between Windows 10 driver and Dell ControlVault2 USB device (vendor-specific interface). + +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) ########## TURNING ON @@ -12,148 +20,569 @@ ADDR 10 NCI_COMMAND -> 01 00 00 04 10 2f 04 00 - 2f = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_PROP -< 00 00 00 28 10 4f 04 24 00 44 65 63 20 31 33 20 32 30 31 33 32 32 3a 30 35 3a 30 36 00 01 0c 22 a1 95 07 02 07 32 30 37 39 35 41 31 - 4f = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_PROP -> 01 00 00 07 10 2f 1d 03 05 90 65 - 2f = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_PROP -< 00 00 00 05 10 4f 1d 01 01 07 32 30 37 39 35 41 31 - 4f = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_PROP +> 01 00 00 04 10 + 01 = SPI_MASTER + 00 = NO_CRC + 00 04 = size + 10 = NCI? +>> 2f 04 00 + 2f = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_PROP + 04 = Proprietary message (04) + 00 = size +< 00 00 00 28 10 + 00 = SPI_SLAVE + 00 = NO_CRC + 00 28 = size + 10 = NCI? +<< 4f 04 24 00 44 65 63 20 31 33 20 32 30 31 33 32 32 3a 30 35 3a 30 36 00 01 0c 22 a1 95 07 02 07 32 30 37 39 35 41 31 + 4f = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_PROP + 04 = Proprietary message (04) + 24 = size -> 01 00 00 04 10 2f 2d 00 - 2f = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_PROP -< 00 00 00 27 10 4f 2d 23 00 00 00 07 32 30 37 39 35 41 31 00 00 00 00 00 00 00 00 00 71 06 05 00 00 00 e4 47 0f 02 db 40 00 00 00 - 4f = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_PROP -> 01 00 00 05 10 2f 11 01 f7 - 2f = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_PROP -< 00 00 00 05 10 4f 11 01 00 - 4f = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_PROP +> 01 00 00 07 10 + 01 = SPI_MASTER + 00 = NO_CRC + 00 07 = size + 10 = NCI? +>> 2f 1d 03 05 90 65 + 2f = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_PROP + 1d = Proprietary message (1d) + 03 = size +< 00 00 00 05 10 + 00 = SPI_SLAVE + 00 = NO_CRC + 00 05 = size + 10 = NCI? +<< 4f 1d 01 01 + 4f = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_PROP + 1d = Proprietary message (1d) + 01 = size -> 01 00 00 10 01 27 fc 0c 08 00 01 00 01 00 00 00 00 00 00 00 -< 00 00 00 07 04 0e 04 01 27 fc 00 + +> 01 00 00 04 10 + 01 = SPI_MASTER + 00 = NO_CRC + 00 04 = size + 10 = NCI? +>> 2f 2d 00 + 2f = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_PROP + 2d = Proprietary message (2d) + 00 = size +< 00 00 00 27 10 + 00 = SPI_SLAVE + 00 = NO_CRC + 00 27 = size + 10 = NCI? +<< 4f 2d 23 00 00 00 07 32 30 37 39 35 41 31 00 00 00 00 00 00 00 00 00 71 06 05 00 00 00 e4 47 0f 02 db 40 00 00 00 + 4f = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_PROP + 2d = Proprietary message (2d) + 23 = size + + +> 01 00 00 05 10 + 01 = SPI_MASTER + 00 = NO_CRC + 00 05 = size + 10 = NCI? +>> 2f 11 01 f7 + 2f = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_PROP + 11 = Proprietary message (11) + 01 = size +< 00 00 00 05 10 + 00 = SPI_SLAVE + 00 = NO_CRC + 00 05 = size + 10 = NCI? +<< 4f 11 01 00 + 4f = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_PROP + 11 = Proprietary message (11) + 01 = size + + +> 01 00 00 10 01 27 fc 0c 08 00 01 00 01 00 00 00 00 00 00 00 +< 00 00 00 07 04 0e 04 01 27 fc 00 + # CTRL 0x41 0x01 0x0000 0x0003 -> 01 00 00 05 10 20 00 01 01 - 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE - 00 = NCI_MSG_CORE_RESET - 01 = NCI_CORE_PARAM_SIZE_RESET - 01 = NCI_RESET_TYPE_RESET_CFG -< 00 00 00 07 10 40 00 03 00 11 01 - 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) - 01 = NCI_RESET_STATUS_RESET_CFG -> 01 00 00 06 10 20 01 02 01 00 - 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE - 01 = NCI_MSG_CORE_INIT - 02 = size -< 00 00 00 1f 10 40 01 1b 00 03 1e 03 01 0a 00 01 02 03 81 84 83 04 82 05 0a 00 02 f7 3d 00 2e 02 01 0c 22 - 40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE - 01 = NCI_MSG_CORE_INIT - 1b = size - 00 = NCI_STATUS_OK +> 01 00 00 05 10 + 01 = SPI_MASTER + 00 = NO_CRC + 00 05 = size + 10 = NCI? +>> 20 00 01 01 + 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE + 00 = NCI_MSG_CORE_RESET + 01 = NCI_CORE_PARAM_SIZE_RESET + 01 = NCI_RESET_TYPE_RESET_CFG +< 00 00 00 07 10 + 00 = SPI_SLAVE + 00 = NO_CRC + 00 07 = size + 10 = NCI? +<< 40 00 03 00 11 01 + 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) + 01 = NCI_RESET_STATUS_RESET_CFG -> 01 00 00 6b 10 20 02 67 01 b9 64 01 00 ff ff 50 00 8b 13 00 10 00 06 00 00 00 00 00 ff 00 00 00 ff 00 00 04 00 00 00 00 03 00 00 00 03 00 0c 00 00 0d 00 00 00 00 00 00 00 00 00 00 33 23 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 02 53 3b 0f 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 - 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE - 02 = NCI_MSG_CORE_SET_CONFIG -< 00 00 00 06 10 40 02 02 00 00 - 40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE - 02 = NCI_MSG_CORE_SET_CONFIG -> 01 00 00 94 10 20 02 90 0a ca 05 00 00 00 00 2c 80 01 01 b0 05 01 03 03 03 08 b5 03 01 03 ff c9 0d 24 00 00 00 01 00 bb 00 e4 00 0a 01 02 d6 0d 01 02 00 00 00 00 00 01 00 01 5a 00 8a b2 02 e8 03 c8 1e 06 1f 00 0a 00 30 00 04 24 00 1c 00 75 00 77 00 76 00 1c 00 03 00 0a 00 56 01 00 00 40 04 d7 01 07 dd 32 00 00 00 29 16 08 08 06 04 00 00 00 1f 27 0a 6d 20 00 52 20 00 00 00 01 85 00 00 32 1f 00 00 02 0a 16 00 02 55 55 55 55 55 55 55 55 55 55 55 55 55 1e - 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE - 02 = NCI_MSG_CORE_SET_CONFIG -< 00 00 00 06 10 40 02 02 00 00 - 40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE - 02 = NCI_MSG_CORE_SET_CONFIG +> 01 00 00 06 10 + 01 = SPI_MASTER + 00 = NO_CRC + 00 06 = size + 10 = NCI? +>> 20 01 02 01 00 + 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE + 01 = NCI_MSG_CORE_INIT + 02 = size (should be 0) + 01 00 = vendor-specific (should be empty) +< 00 00 00 1f 10 + 00 = SPI_SLAVE + 00 = NO_CRC + 00 1f = size + 10 = NCI? +<< 40 01 1b 00 + 40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE + 01 = NCI_MSG_CORE_INIT + 1b = size + 00 = NCI_STATUS_OK +<< 03 1e 03 01 + 03 1e 03 01 NFCC_FEATURES + 02 = multiple NFCEEs + 01 = RF_DISCOVER_CMD supported + 10 = RFU + 08 = AID-based routing supported + 04 = Protocol-based routing supported + 02 = Technology-based routing supported + 02 = Switched-off state supported + 01 = Battery-off state supported + 01 = Proprietary parameters +<< 0a 00 01 02 03 81 84 83 04 82 05 + 0a = num_of_ifaces (10) + 00 = NCI_INTERFACE_EE_DIRECT_RF + 01 = NCI_INTERFACE_FRAME + 02 = NCI_INTERFACE_ISO_DEP + 03 = NCI_INTERFACE_NFC_DEP + 81 = Proprietary Interface (81) + 84 = Proprietary Interface (84) + 83 = Proprietary Interface (83) + 04 = Unknown interface (04) + 82 = Proprietary Interface (82) + 05 = Unknown interface (05) +<< 0a 00 02 f7 3d 00 2e 02 01 0c 22 + 0a = num_of_conns_max (10) + 00 02 = num_of_routes_max + f7 = size_control_payload_max + 3d 00 = size_large_params_max + 2e = manufacturer_id + 02 01 0c 22 = manufacturer_specific -> 01 00 00 0a 10 20 02 06 01 b7 03 02 00 01 - 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE - 02 = NCI_MSG_CORE_SET_CONFIG -< 00 00 00 05 10 61 07 01 00 - 61 = NCI_MTS_NTF | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE - 07 = NCI_MSG_RF_FIELD -< 00 00 00 06 10 40 02 02 00 00 - 40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE - 02 = NCI_MSG_CORE_SET_CONFIG -> 01 00 00 05 10 2f 06 01 01 - 2f = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_PROP -< 00 00 00 05 10 4f 06 01 00 - 4f = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_PROP +> 01 00 00 6b 10 + 01 = SPI_MASTER + 00 = NO_CRC + 00 6b = size + 10 = NCI? +>> 20 02 67 01 + 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE + 02 = NCI_MSG_CORE_SET_CONFIG + 67 = size + 01 = num_of_params +>> b9 64 01 00 ff ff 50 00 8b 13 00 10 00 06 00 00 00 00 00 ff 00 00 00 ff 00 00 04 00 00 00 00 03 00 00 00 03 00 0c 00 00 0d 00 00 00 00 00 00 00 00 00 00 33 23 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 02 53 3b 0f 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 + b9 = Proprietary parameter (b9) + 64 = size_of_param +< 00 00 00 06 10 + 00 = SPI_SLAVE + 00 = NO_CRC + 00 06 = size + 10 = NCI? +<< 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 12 10 20 02 0e 02 51 08 20 79 ff ff ff ff ff ff 58 01 07 - 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE - 02 = NCI_MSG_CORE_SET_CONFIG -< 00 00 00 06 10 40 02 02 00 00 - 40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE - 02 = NCI_MSG_CORE_SET_CONFIG -> 01 00 00 0b 10 21 00 07 02 04 03 02 05 03 03 - 21 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE - 00 = NCI_MSG_RF_DISCOVER_MAP - 07 = size - 02 = num_mapping_configs - 04 = NCI_PROTOCOL_ISO_DEP - 03 = NCI_INTERFACE_MODE_POLL_N_LISTEN - 02 = NCI_INTERFACE_ISO_DEP - 05 = NCI_PROTOCOL_NFC_DEP - 03 = NCI_INTERFACE_MODE_POLL_N_LISTEN - 03 = NCI_INTERFACE_NFC_DEP -< 00 00 00 05 10 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 +> 01 00 00 94 10 + 01 = SPI_MASTER + 00 = NO_CRC + 00 94 = size + 10 = NCI? +>> 20 02 90 0a + 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE + 02 = NCI_MSG_CORE_SET_CONFIG + 90 = size + 0a = num_of_params (10) +>> ca 05 00 00 00 00 2c + ca = Proprietary parameter (ca) + 05 = size_of_param +>> 80 01 01 + 80 = RF_FIELD_INFO + 01 = size_of_param + 01 = RF_FIELD_INFO_NTF allowed +>> b0 05 01 03 03 03 08 + b0 = Proprietary parameter (b0) + 05 = size_of_param +>> b5 03 01 03 ff + b5 = Proprietary parameter (b5) + 03 = size_of_param +>> c9 0d 24 00 00 00 01 00 bb 00 e4 00 0a 01 02 + c9 = Proprietary parameter (c9) + 0d = size_of_param +>> d6 0d 01 02 00 00 00 00 00 01 00 01 5a 00 8a + d6 = Proprietary parameter (d6) + 0d = size_of_param +>> b2 02 e8 03 + b2 = Proprietary parameter (b2) + 02 = size_of_param +>> c8 1e 06 1f 00 0a 00 30 00 04 24 00 1c 00 75 00 77 00 76 00 1c 00 03 00 0a 00 56 01 00 00 40 04 + c8 = Proprietary parameter (c8) + 1e = size_of_param +>> d7 01 07 + d7 = Proprietary parameter (d7) + 01 = size_of_param +>> dd 32 00 00 00 29 16 08 08 06 04 00 00 00 1f 27 0a 6d 20 00 52 20 00 00 00 01 85 00 00 32 1f 00 00 02 0a 16 00 02 55 55 55 55 55 55 55 55 55 55 55 55 55 1e + dd = Proprietary parameter (d7) + 32 = size_of_param +< 00 00 00 06 10 + 00 = SPI_SLAVE + 00 = NO_CRC + 00 06 = size + 10 = NCI? +<< 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 1b 10 20 02 17 01 29 14 46 66 6d 01 01 11 02 02 07 ff 03 02 00 13 04 01 64 07 01 03 - 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE - 02 = NCI_MSG_CORE_SET_CONFIG -< 00 00 00 06 10 40 02 02 00 00 - 40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE - 02 = NCI_MSG_CORE_SET_CONFIG -> 01 00 00 1e 10 20 02 1a 02 61 14 46 66 6d 01 01 11 02 02 07 ff 03 02 00 13 04 01 64 07 01 03 60 01 07 - 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE - 02 = NCI_MSG_CORE_SET_CONFIG -< 00 00 00 06 10 40 02 02 00 00 - 40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE - 02 = NCI_MSG_CORE_SET_CONFIG +> 01 00 00 0a 10 + 01 = SPI_MASTER + 00 = NO_CRC + 00 0a = size + 10 = NCI? +>> 20 02 06 01 + 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE + 02 = NCI_MSG_CORE_SET_CONFIG + 06 = size + 01 = num_of_params (1) +>> b7 03 02 00 01 + b7 = Proprietary parameter (b7) + 03 = size_of_param +< 00 00 00 05 10 + 00 = SPI_SLAVE + 00 = NO_CRC + 00 05 = size + 10 = NCI? +<< 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 06 10 + 00 = SPI_SLAVE + 00 = NO_CRC + 00 06 = size + 10 = NCI? +<< 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 14 10 20 02 10 05 30 01 04 31 01 00 32 01 40 38 01 00 50 01 02 - 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE - 02 = NCI_MSG_CORE_SET_CONFIG -< 00 00 00 06 10 40 02 02 00 00 - 40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE - 02 = NCI_MSG_CORE_SET_CONFIG -> 01 00 00 09 10 20 02 05 01 00 02 fa 00 - 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE - 02 = NCI_MSG_CORE_SET_CONFIG -< 00 00 00 06 10 40 02 02 00 00 - 40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE - 02 = NCI_MSG_CORE_SET_CONFIG +> 01 00 00 05 10 + 01 = SPI_MASTER + 00 = NO_CRC + 00 05 = size + 10 = NCI? +>> 2f 06 01 01 + 2f = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_PROP + 06 = Proprietary message (06) + 01 = size +< 00 00 00 05 10 + 00 = SPI_SLAVE + 00 = NO_CRC + 00 05 = size + 10 = NCI? +<< 4f 06 01 00 + 4f = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_PROP + 06 = Proprietary message (06) + 01 = size - nfc_hal_pre_discover_cfg -> 01 00 00 0f 10 20 02 0b 01 c2 08 01 08 00 04 80 c3 c9 01 - 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE - 02 = NCI_MSG_CORE_SET_CONFIG -< 00 00 00 06 10 40 02 02 00 00 - 40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE - 02 = NCI_MSG_CORE_SET_CONFIG -> 01 00 00 11 10 21 03 0d 06 00 01 01 01 02 01 80 01 82 01 06 01 - 21 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE - 03 = NCI_MSG_RF_DISCOVER -< 00 00 00 05 10 41 03 01 00 - 41 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE - 03 = NCI_MSG_RF_DISCOVER +> 01 00 00 12 10 + 01 = SPI_MASTER + 00 = NO_CRC + 00 12 = size + 10 = NCI? +>> 20 02 0e 02 + 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE + 02 = NCI_MSG_CORE_SET_CONFIG + 0e = size + 02 = num_of_params +>> 51 08 20 79 ff ff ff ff ff ff + 51 = LF_T3T_PMM + 08 = size_of_param +>> 58 01 07 + 58 = LI_FWI + 01 = size_of_param +< 00 00 00 06 10 + 00 = SPI_SLAVE + 00 = NO_CRC + 00 06 = size + 10 = NCI? +<< 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 0b 10 + 01 = SPI_MASTER + 00 = NO_CRC + 00 0b = size + 10 = NCI? +>> 21 00 07 02 + 21 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE + 00 = NCI_MSG_RF_DISCOVER_MAP + 07 = size + 02 = 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 +< 00 00 00 05 10 + 00 = SPI_SLAVE + 00 = NO_CRC + 00 05 = size + 10 = NCI? +<< 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 1b 10 + 01 = SPI_MASTER + 00 = NO_CRC + 00 1b = size + 10 = NCI? +>> 20 02 17 01 + 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE + 02 = NCI_MSG_CORE_SET_CONFIG + 17 = size + 01 = num_of_params +>> 29 14 46 66 6d 01 01 11 02 02 07 ff 03 02 00 13 04 01 64 07 01 03 + 29 = NCI_PARAM_ID_ATR_REQ_GEN_BYTES + 14 = size_of_param + 46 = LLCP_MAGIC_NUMBER_BYTE0 + 66 = LLCP_MAGIC_NUMBER_BYTE1 + 6d = LLCP_MAGIC_NUMBER_BYTE2 + 01 = LLCP_VERSION_TYPE + 01 = LLCP_VERSION_LEN + 11 = LLCP_VERSION_VALUE + 02 = LLCP_MIUX_TYPE + 02 = LLCP_MIUX_LEN + 07 ff = LLCP_MAX_MIU - LLCP_DEFAULT_MIU + 03 = LLCP_WKS_TYPE + 02 = LLCP_WKS_LEN + 00 13 = wks + 04 = LLCP_LTO_TYPE + 01 = LLCP_LTO_LEN + 64 = lto / LLCP_LTO_UNIT (10 ms) + 07 = LLCP_OPT_TYPE + 01 = LLCP_OPT_LEN + 03 = LLCP_LSC_3 +< 00 00 00 06 10 + 00 = SPI_SLAVE + 00 = NO_CRC + 00 06 = size + 10 = NCI? +<< 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 1e 10 + 01 = SPI_MASTER + 00 = NO_CRC + 00 1e = size + 10 = NCI? +>> 20 02 1a 02 + 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE + 02 = NCI_MSG_CORE_SET_CONFIG + 1a = size + 02 = num_of_params +>> 61 14 46 66 6d 01 01 11 02 02 07 ff 03 02 00 13 04 01 64 07 01 03 + 61 = NCI_PARAM_ID_ATR_RES_GEN_BYTES + 14 = size_of_param + 46 = LLCP_MAGIC_NUMBER_BYTE0 + 66 = LLCP_MAGIC_NUMBER_BYTE1 + 6d = LLCP_MAGIC_NUMBER_BYTE2 + 01 = LLCP_VERSION_TYPE + 01 = LLCP_VERSION_LEN + 11 = LLCP_VERSION_VALUE + 02 = LLCP_MIUX_TYPE + 02 = LLCP_MIUX_LEN + 07 ff = LLCP_MAX_MIU - LLCP_DEFAULT_MIU + 03 = LLCP_WKS_TYPE + 02 = LLCP_WKS_LEN + 00 13 = wks + 04 = LLCP_LTO_TYPE + 01 = LLCP_LTO_LEN + 64 = lto / LLCP_LTO_UNIT (10 ms) + 07 = LLCP_OPT_TYPE + 01 = LLCP_OPT_LEN + 03 = LLCP_LSC_3 +>> 60 01 07 + 60 = NCI_PARAM_ID_WT + 01 = NCI_PARAM_LEN_WT + 07 = LLCP_WAITING_TIME +< 00 00 00 06 10 + 00 = SPI_SLAVE + 00 = NO_CRC + 00 06 = size + 10 = NCI? +<< 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 14 10 + 01 = SPI_MASTER + 00 = NO_CRC + 00 14 = size + 10 = NCI? +>> 20 02 10 05 + 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE + 02 = NCI_MSG_CORE_SET_CONFIG + 10 = size + 05 = num_of_params +>> 30 01 04 + 30 = NCI_PARAM_ID_LA_BIT_FRAME_SDD + 01 = NCI_PARAM_LEN_LA_BIT_FRAME_SDD + 04 = hardcoded +>> 31 01 00 + 31 = NCI_PARAM_ID_LA_PLATFORM_CONFIG + 01 = NCI_PARAM_LEN_LA_PLATFORM_CONFIG + 00 = none +>> 32 01 40 + 32 = NCI_PARAM_ID_LA_SEL_INFO + 01 = NCI_PARAM_LEN_LA_SEL_INFO + 40 = NCI_PARAM_SEL_INFO_NFCDEP +>> 38 01 00 + 38 = NCI_PARAM_ID_LB_SENSB_INFO + 01 = NCI_PARAM_LEN_LB_SENSB_INFO + 00 = none +>> 50 01 02 + 50 = NCI_PARAM_ID_LF_PROTOCOL + 01 = NCI_PARAM_LEN_LF_PROTOCOL + 02 = NCI_LISTEN_PROTOCOL_NFC_DEP +< 00 00 00 06 10 + 00 = SPI_SLAVE + 00 = NO_CRC + 00 06 = size + 10 = NCI? +<< 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 10 + 01 = SPI_MASTER + 00 = NO_CRC + 00 09 = size + 10 = NCI? +>> 20 02 05 01 + 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE + 02 = NCI_MSG_CORE_SET_CONFIG + 05 = size + 01 = num_of_params +<< 00 02 fa 00 + 00 = NCI_PARAM_ID_TOTAL_DURATION + 02 = NCI_PARAM_LEN_TOTAL_DURATION + fa 00 +< 00 00 00 06 10 + 00 = SPI_SLAVE + 00 = NO_CRC + 00 06 = size + 10 = NCI? +<< 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 0f 10 + 01 = SPI_MASTER + 00 = NO_CRC + 00 0f = size + 10 = NCI? +>> 20 02 0b 01 c2 08 01 08 00 04 80 c3 c9 01 + 20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE + 02 = NCI_MSG_CORE_SET_CONFIG + 0b = size + nfc_hal_pre_discover_cfg +< 00 00 00 06 10 + 00 = SPI_SLAVE + 00 = NO_CRC + 00 06 = size + 10 = NCI? +<< 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 10 + 01 = SPI_MASTER + 00 = NO_CRC + 00 11 = size + 10 = NCI? +>> 21 03 0d 06 00 01 01 01 02 01 80 01 82 01 06 01 + 21 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE + 03 = NCI_MSG_RF_DISCOVER + 0d = size +< 00 00 00 05 10 + 00 = SPI_SLAVE + 00 = NO_CRC + 00 05 = size + 10 = NCI? +<< 41 03 01 00 + 41 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE + 03 = NCI_MSG_RF_DISCOVER + 01 = size + # CTRL 0x41 0x01 0x0001 0x0003 -- Gitblit v1.9.1