Enable NFC for Linux and pcscd on Dell E7470 (and others) with ControlVault2
Jacek Kowalski
2019-03-25 c4bb675a0f706c32f7c1c84028863c56838f5188
commit | author | age
6b0ed4 1 Sniffed communication between Windows 10 driver and Dell ControlVault2 USB device (vendor-specific interface):
JK 2
3
4 ##########
5 TURNING ON
6 ##########
7
8
9 # CTRL 0x41 0x00 0x0001 0x0003
10
74ff7b 11   TAG?- LEN--  VALUE
JK 12                ADDR
13                10 NCI_COMMAND
6b0ed4 14
74ff7b 15 > 01 00 00 04  10 2f 04  00
JK 16                   2f = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_PROP
17 < 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
18                   4f = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_PROP
6b0ed4 19
74ff7b 20 > 01 00 00 07  10 2f 1d  03 05 90 65
JK 21                   2f = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_PROP
22 < 00 00 00 05  10 4f 1d  01 01 07 32 30 37 39 35 41 31
23                   4f = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_PROP
6b0ed4 24
74ff7b 25 > 01 00 00 04  10 2f 2d  00
JK 26                   2f = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_PROP
27 < 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
28                   4f = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_PROP
6b0ed4 29
74ff7b 30 > 01 00 00 05  10 2f 11  01 f7
JK 31                   2f = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_PROP
32 < 00 00 00 05  10 4f 11  01 00
33                   4f = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_PROP
6b0ed4 34
74ff7b 35 > 01 00 00 10  01 27 fc  0c 08 00 01 00 01 00 00 00 00 00 00 00
JK 36 < 00 00 00 07  04 0e  04 01 27 fc 00
6b0ed4 37
JK 38 # CTRL 0x41 0x01 0x0000 0x0003
39
74ff7b 40 > 01 00 00 05  10 20 00  01 01
JK 41                   20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
42                      00 = NCI_MSG_CORE_RESET
43                          01 = NCI_CORE_PARAM_SIZE_RESET
44                             01 = NCI_RESET_TYPE_RESET_CFG
45 < 00 00 00 07  10 40 00  03 00 11 01
46                   40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
47                      00 = NCI_MSG_CORE_RESET
48                          03 = NCI_CORE_PARAM_SIZE_RESET_RSP
49                             00 = NCI_STATUS_OK
50                                11 = NCI_VERSION (1.1)
51                                   01 = NCI_RESET_STATUS_RESET_CFG
6b0ed4 52
74ff7b 53 > 01 00 00 06  10 20 01  02 01 00
JK 54                   20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
55                      01 = NCI_MSG_CORE_INIT
56                          02 = size
57 < 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
58                   40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
59                      01 = NCI_MSG_CORE_INIT
60                           1b = size
61                             00 = NCI_STATUS_OK
6b0ed4 62
74ff7b 63 > 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
JK 64                   20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
65                      02 = NCI_MSG_CORE_SET_CONFIG
66 < 00 00 00 06  10 40 02  02 00 00
67                   40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
68                      02 = NCI_MSG_CORE_SET_CONFIG
6b0ed4 69
74ff7b 70 > 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
JK 71                   20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
72                      02 = NCI_MSG_CORE_SET_CONFIG
73 < 00 00 00 06  10 40 02  02 00 00
74                   40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
75                      02 = NCI_MSG_CORE_SET_CONFIG
6b0ed4 76
74ff7b 77 > 01 00 00 0a  10 20 02  06 01 b7 03 02 00 01
JK 78                   20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
79                      02 = NCI_MSG_CORE_SET_CONFIG
80 < 00 00 00 05  10 61 07  01 00
81                   61 = NCI_MTS_NTF | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE
82                      07 = NCI_MSG_RF_FIELD
83 < 00 00 00 06  10 40 02  02 00 00
84                   40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
85                      02 = NCI_MSG_CORE_SET_CONFIG
6b0ed4 86
74ff7b 87 > 01 00 00 05  10 2f 06  01 01
JK 88                   2f = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_PROP
89 < 00 00 00 05  10 4f 06  01 00
90                   4f = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_PROP
6b0ed4 91
74ff7b 92 > 01 00 00 12  10 20 02  0e 02 51 08 20 79 ff ff ff ff ff ff 58 01 07
JK 93                   20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
94                      02 = NCI_MSG_CORE_SET_CONFIG
95 < 00 00 00 06  10 40 02  02 00 00
96                   40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
97                      02 = NCI_MSG_CORE_SET_CONFIG
6b0ed4 98
74ff7b 99 > 01 00 00 0b  10 21 00  07 02 04 03 02 05 03 03
JK 100                   21 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE
101                      00 = NCI_MSG_RF_DISCOVER_MAP
102                          07 = size
103                             02 = num_mapping_configs
104                                04 = NCI_PROTOCOL_ISO_DEP
105                                   03 = NCI_INTERFACE_MODE_POLL_N_LISTEN
106                                      02 = NCI_INTERFACE_ISO_DEP
107                                         05 = NCI_PROTOCOL_NFC_DEP
108                                            03 = NCI_INTERFACE_MODE_POLL_N_LISTEN
109                                               03 = NCI_INTERFACE_NFC_DEP
110 < 00 00 00 05  10 41 00  01 00
111                   41 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE
112                      00 = NCI_MSG_RF_DISCOVER_MAP
113                          01 = NCI_DISCOVER_PARAM_SIZE_RSP
6b0ed4 114
74ff7b 115 > 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
JK 116                   20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
117                      02 = NCI_MSG_CORE_SET_CONFIG
118 < 00 00 00 06  10 40 02  02 00 00
119                   40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
120                      02 = NCI_MSG_CORE_SET_CONFIG
6b0ed4 121
74ff7b 122 > 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
JK 123                   20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
124                      02 = NCI_MSG_CORE_SET_CONFIG
125 < 00 00 00 06  10 40 02  02 00 00
126                   40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
127                      02 = NCI_MSG_CORE_SET_CONFIG
6b0ed4 128
74ff7b 129 > 01 00 00 14  10 20 02  10 05 30 01 04 31 01 00 32 01 40 38 01 00 50 01 02
JK 130                   20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
131                      02 = NCI_MSG_CORE_SET_CONFIG
132 < 00 00 00 06  10 40 02  02 00 00
133                   40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
134                      02 = NCI_MSG_CORE_SET_CONFIG
6b0ed4 135
74ff7b 136 > 01 00 00 09  10 20 02  05 01 00 02 fa 00
JK 137                   20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
138                      02 = NCI_MSG_CORE_SET_CONFIG
139 < 00 00 00 06  10 40 02  02 00 00
140                   40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
141                      02 = NCI_MSG_CORE_SET_CONFIG
6b0ed4 142
74ff7b 143                                nfc_hal_pre_discover_cfg
JK 144 > 01 00 00 0f  10 20 02  0b 01 c2 08 01 08 00 04 80 c3 c9 01
145                   20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
146                      02 = NCI_MSG_CORE_SET_CONFIG
147 < 00 00 00 06  10 40 02  02 00 00
148                   40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
149                      02 = NCI_MSG_CORE_SET_CONFIG
6b0ed4 150
74ff7b 151 > 01 00 00 11  10 21 03  0d 06 00 01 01 01 02 01 80 01 82 01 06 01
JK 152                   21 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE
153                      03 = NCI_MSG_RF_DISCOVER
154 < 00 00 00 05  10 41 03  01 00
155                   41 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE
156                      03 = NCI_MSG_RF_DISCOVER
6b0ed4 157
JK 158 # CTRL 0x41 0x01 0x0001 0x0003
159
160
161
162 ###########
163 TURNING OFF
164 ###########
165
166 # CTRL 0x41 0x01 0x0000 0x0003
167 # CTRL 0x41 0x00 0x0000 0x0003