Created
July 23, 2020 22:50
-
-
Save jacekkow/8acf2bbc164dc377df9913a47807d589 to your computer and use it in GitHub Desktop.
ControlVault3 initialization procedure
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment