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