Enable NFC for Linux and pcscd on Dell E7470 (and others) with ControlVault2
Jacek Kowalski
2020-05-20 4664a288e4b9fb39d26258d488e907721a5c2c33
commit | author | age
d78c9d 1 Sniffed communication between Windows 10 driver and Dell ControlVault2 USB device (vendor-specific interface).
6b0ed4 2
d78c9d 3
JK 4 Legend:
5
6 >  - New outgoing message (beginning)
7 >> - Message continuation (division for readability)
8 <  - New incoming message (beginning)
9 << - Message continuation (division for readability)
10 # CTRL - Control endpoint communication (bmRequestType, bRequest, wValue, wIndex)
6b0ed4 11
JK 12 ##########
13 TURNING ON
14 ##########
15
16
17 # CTRL 0x41 0x00 0x0001 0x0003
18
74ff7b 19   TAG?- LEN--  VALUE
JK 20                ADDR
21                10 NCI_COMMAND
6b0ed4 22
JK 23
d78c9d 24 >  01 00 00 04 10
JK 25    01 = SPI_MASTER
26       00 = NO_CRC
27          00 04 = size
28                10 = NCI?
29 >> 2f 04 00
30    2f = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_PROP
31       04 = Proprietary message (04)
32          00 = size
33 <  00 00 00 28 10
34    00 = SPI_SLAVE
35       00 = NO_CRC
36          00 28 = size
37                10 = NCI?
38 << 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
39    4f = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_PROP
40       04 = Proprietary message (04)
41          24 = size
6b0ed4 42
JK 43
d78c9d 44 >  01 00 00 07 10
JK 45    01 = SPI_MASTER
46       00 = NO_CRC
47          00 07 = size
48                10 = NCI?
49 >> 2f 1d 03 05 90 65
50    2f = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_PROP
51       1d = Proprietary message (1d)
52          03 = size
53 <  00 00 00 05 10
54    00 = SPI_SLAVE
55       00 = NO_CRC
56          00 05 = size
57                10 = NCI?
58 << 4f 1d 01 01
59    4f = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_PROP
60       1d = Proprietary message (1d)
61          01 = size
6b0ed4 62
d78c9d 63
JK 64 >  01 00 00 04 10
65    01 = SPI_MASTER
66       00 = NO_CRC
67          00 04 = size
68                10 = NCI?
69 >> 2f 2d 00
70    2f = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_PROP
71       2d = Proprietary message (2d)
72          00 = size
73 <  00 00 00 27 10
74    00 = SPI_SLAVE
75       00 = NO_CRC
76          00 27 = size
77                10 = NCI?
78 << 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
79    4f = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_PROP
80       2d = Proprietary message (2d)
81          23 = size
82
83
84 >  01 00 00 05 10
85    01 = SPI_MASTER
86       00 = NO_CRC
87          00 05 = size
88                10 = NCI?
89 >> 2f 11 01 f7
90    2f = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_PROP
91       11 = Proprietary message (11)
92          01 = size
93 <  00 00 00 05 10
94    00 = SPI_SLAVE
95       00 = NO_CRC
96          00 05 = size
97                10 = NCI?
98 << 4f 11 01 00
99    4f = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_PROP
100       11 = Proprietary message (11)
101          01 = size
102
103
104 >  01 00 00 10 01 27 fc 0c 08 00 01 00 01 00 00 00 00 00 00 00
105 <  00 00 00 07 04 0e 04 01 27 fc 00
106
6b0ed4 107
JK 108 # CTRL 0x41 0x01 0x0000 0x0003
109
110
d78c9d 111 >  01 00 00 05 10
JK 112    01 = SPI_MASTER
113       00 = NO_CRC
114          00 05 = size
115                10 = NCI?
116 >> 20 00 01 01
117    20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
118       00 = NCI_MSG_CORE_RESET
119          01 = NCI_CORE_PARAM_SIZE_RESET
120             01 = NCI_RESET_TYPE_RESET_CFG
121 <  00 00 00 07 10
122    00 = SPI_SLAVE
123       00 = NO_CRC
124          00 07 = size
125                10 = NCI?
126 << 40 00 03 00 11 01
127    40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
128       00 = NCI_MSG_CORE_RESET
129          03 = NCI_CORE_PARAM_SIZE_RESET_RSP
130             00 = NCI_STATUS_OK
131                11 = NCI_VERSION (1.1)
132                   01 = NCI_RESET_STATUS_RESET_CFG
6b0ed4 133
JK 134
d78c9d 135 >  01 00 00 06 10
JK 136    01 = SPI_MASTER
137       00 = NO_CRC
138          00 06 = size
139                10 = NCI?
140 >> 20 01 02 01 00
141    20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
142       01 = NCI_MSG_CORE_INIT
143          02 = size (should be 0)
144             01 00 = vendor-specific (should be empty)
145 <  00 00 00 1f 10
146    00 = SPI_SLAVE
147       00 = NO_CRC
148          00 1f = size
149                10 = NCI?
150 << 40 01 1b 00
151    40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
152       01 = NCI_MSG_CORE_INIT
153          1b = size
154             00 = NCI_STATUS_OK
155 << 03 1e 03 01
156    03 1e 03 01 NFCC_FEATURES
157    02 = multiple NFCEEs
158    01 = RF_DISCOVER_CMD supported
159       10 = RFU
160       08 = AID-based routing supported
161       04 = Protocol-based routing supported
162       02 = Technology-based routing supported
163          02 = Switched-off state supported
164          01 = Battery-off state supported
165             01 = Proprietary parameters
166 << 0a 00 01 02 03 81 84 83 04 82 05
167    0a = num_of_ifaces (10)
168       00 = NCI_INTERFACE_EE_DIRECT_RF
169          01 = NCI_INTERFACE_FRAME
170             02 = NCI_INTERFACE_ISO_DEP
171                03 = NCI_INTERFACE_NFC_DEP
172                   81 = Proprietary Interface (81)
173                      84 = Proprietary Interface (84)
174                         83 = Proprietary Interface (83)
175                            04 = Unknown interface (04)
176                               82 = Proprietary Interface (82)
177                                  05 = Unknown interface (05)
178 << 0a 00 02 f7 3d 00 2e 02 01 0c 22
179    0a = num_of_conns_max (10)
180       00 02 = num_of_routes_max
181             f7 = size_control_payload_max
182                3d 00 = size_large_params_max
183                      2e = manufacturer_id
184                         02 01 0c 22 = manufacturer_specific
6b0ed4 185
JK 186
d78c9d 187 >  01 00 00 6b 10
JK 188    01 = SPI_MASTER
189       00 = NO_CRC
190          00 6b = size
191                10 = NCI?
192 >> 20 02 67 01
193    20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
194       02 = NCI_MSG_CORE_SET_CONFIG
195          67 = size
196             01 = num_of_params
197 >> 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
198    b9 = Proprietary parameter (b9)
199       64 = size_of_param
200 <  00 00 00 06 10
201    00 = SPI_SLAVE
202       00 = NO_CRC
203          00 06 = size
204                10 = NCI?
205 << 40 02 02 00 00
206    40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
207       02 = NCI_MSG_CORE_SET_CONFIG
208          02 = size
209             00 = NCI_STATUS_OK
210                00 = num_of_invalid_params (0)
6b0ed4 211
JK 212
d78c9d 213 >  01 00 00 94 10
JK 214    01 = SPI_MASTER
215       00 = NO_CRC
216          00 94 = size
217                10 = NCI?
218 >> 20 02 90 0a
219    20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
220       02 = NCI_MSG_CORE_SET_CONFIG
221          90 = size
222             0a = num_of_params (10)
223 >> ca 05 00 00 00 00 2c
224    ca = Proprietary parameter (ca)
225       05 = size_of_param
226 >> 80 01 01
227    80 = RF_FIELD_INFO
228       01 = size_of_param
229          01 = RF_FIELD_INFO_NTF allowed
230 >> b0 05 01 03 03 03 08
231    b0 = Proprietary parameter (b0)
232       05 = size_of_param
233 >> b5 03 01 03 ff
234    b5 = Proprietary parameter (b5)
235       03 = size_of_param
236 >> c9 0d 24 00 00 00 01 00 bb 00 e4 00 0a 01 02
237    c9 = Proprietary parameter (c9)
238       0d = size_of_param
239 >> d6 0d 01 02 00 00 00 00 00 01 00 01 5a 00 8a
240    d6 = Proprietary parameter (d6)
241       0d = size_of_param
242 >> b2 02 e8 03
243    b2 = Proprietary parameter (b2)
244       02 = size_of_param
245 >> 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
246    c8 = Proprietary parameter (c8)
247       1e = size_of_param
248 >> d7 01 07
249    d7 = Proprietary parameter (d7)
250       01 = size_of_param
251 >> 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
252    dd = Proprietary parameter (d7)
253       32 = size_of_param
254 <  00 00 00 06 10
255    00 = SPI_SLAVE
256       00 = NO_CRC
257          00 06 = size
258                10 = NCI?
259 << 40 02 02 00 00
260    40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
261       02 = NCI_MSG_CORE_SET_CONFIG
262          02 = size
263             00 = NCI_STATUS_OK
264                00 = num_of_invalid_params (0)
6b0ed4 265
JK 266
d78c9d 267 >  01 00 00 0a 10
JK 268    01 = SPI_MASTER
269       00 = NO_CRC
270          00 0a = size
271                10 = NCI?
272 >> 20 02 06 01
273    20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
274       02 = NCI_MSG_CORE_SET_CONFIG
275          06 = size
276             01 = num_of_params (1)
277 >> b7 03 02 00 01
278    b7 = Proprietary parameter (b7)
279       03 = size_of_param
280 <  00 00 00 05 10
281    00 = SPI_SLAVE
282       00 = NO_CRC
283          00 05 = size
284                10 = NCI?
285 << 61 07 01 00
286    61 = NCI_MTS_NTF | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE
287       07 = NCI_MSG_RF_FIELD
288          01 = size
289             00 = No RF field
290 <  00 00 00 06 10
291    00 = SPI_SLAVE
292       00 = NO_CRC
293          00 06 = size
294                10 = NCI?
295 << 40 02 02 00 00
296    40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
297       02 = NCI_MSG_CORE_SET_CONFIG
298          02 = size
299             00 = NCI_STATUS_OK
300                00 = num_of_invalid_params (0)
6b0ed4 301
JK 302
d78c9d 303 >  01 00 00 05 10
JK 304    01 = SPI_MASTER
305       00 = NO_CRC
306          00 05 = size
307                10 = NCI?
308 >> 2f 06 01 01
309    2f = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_PROP
310       06 = Proprietary message (06)
311          01 = size
312 <  00 00 00 05 10
313    00 = SPI_SLAVE
314       00 = NO_CRC
315          00 05 = size
316                10 = NCI?
317 << 4f 06 01 00
318    4f = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_PROP
319       06 = Proprietary message (06)
320          01 = size
6b0ed4 321
JK 322
d78c9d 323 >  01 00 00 12 10
JK 324    01 = SPI_MASTER
325       00 = NO_CRC
326          00 12 = size
327                10 = NCI?
328 >> 20 02 0e 02
329    20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
330       02 = NCI_MSG_CORE_SET_CONFIG
331          0e = size
332             02 = num_of_params
333 >> 51 08 20 79 ff ff ff ff ff ff
334    51 = LF_T3T_PMM
335       08 = size_of_param
336 >> 58 01 07
337    58 = LI_FWI
338       01 = size_of_param
339 <  00 00 00 06 10
340    00 = SPI_SLAVE
341       00 = NO_CRC
342          00 06 = size
343                10 = NCI?
344 << 40 02 02 00 00
345    40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
346       02 = NCI_MSG_CORE_SET_CONFIG
347          02 = size
348             00 = NCI_STATUS_OK
349                00 = num_of_invalid_params (0)
350
351
352 >  01 00 00 0b 10
353    01 = SPI_MASTER
354       00 = NO_CRC
355          00 0b = size
356                10 = NCI?
357 >> 21 00 07 02
358    21 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE
359       00 = NCI_MSG_RF_DISCOVER_MAP
360          07 = size
361             02 = num_mapping_configs
362 >> 04 03 02
363    04 = NCI_PROTOCOL_ISO_DEP
364       03 = NCI_INTERFACE_MODE_POLL_N_LISTEN
365          02 = NCI_INTERFACE_ISO_DEP
366 >> 05 03 03
367    05 = NCI_PROTOCOL_NFC_DEP
368       03 = NCI_INTERFACE_MODE_POLL_N_LISTEN
369          03 = NCI_INTERFACE_NFC_DEP
370 <  00 00 00 05 10
371    00 = SPI_SLAVE
372       00 = NO_CRC
373          00 05 = size
374                10 = NCI?
375 << 41 00 01 00
376    41 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE
377       00 = NCI_MSG_RF_DISCOVER_MAP
378          01 = NCI_DISCOVER_PARAM_SIZE_RSP
379             00 = NCI_STATUS_OK
380
381
382 >  01 00 00 1b 10
383    01 = SPI_MASTER
384       00 = NO_CRC
385          00 1b = size
386                10 = NCI?
387 >> 20 02 17 01
388    20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
389       02 = NCI_MSG_CORE_SET_CONFIG
390          17 = size
391             01 = num_of_params
392 >> 29 14 46 66 6d 01 01 11 02 02 07 ff 03 02 00 13 04 01 64 07 01 03
393    29 = NCI_PARAM_ID_ATR_REQ_GEN_BYTES
394       14 = size_of_param
395          46 = LLCP_MAGIC_NUMBER_BYTE0
396             66 = LLCP_MAGIC_NUMBER_BYTE1
397                6d = LLCP_MAGIC_NUMBER_BYTE2
398                   01 = LLCP_VERSION_TYPE
399                      01 = LLCP_VERSION_LEN
400                         11 = LLCP_VERSION_VALUE
401                            02 = LLCP_MIUX_TYPE
402                               02 = LLCP_MIUX_LEN
403                                  07 ff = LLCP_MAX_MIU - LLCP_DEFAULT_MIU
404                                        03 = LLCP_WKS_TYPE
405                                           02 = LLCP_WKS_LEN
406                                              00 13 = wks
407                                                    04 = LLCP_LTO_TYPE
408                                                       01 = LLCP_LTO_LEN
409                                                          64 = lto / LLCP_LTO_UNIT (10 ms)
410                                                             07 = LLCP_OPT_TYPE
411                                                                01 = LLCP_OPT_LEN
412                                                                   03 = LLCP_LSC_3
413 <  00 00 00 06 10
414    00 = SPI_SLAVE
415       00 = NO_CRC
416          00 06 = size
417                10 = NCI?
418 << 40 02 02 00 00
419    40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
420       02 = NCI_MSG_CORE_SET_CONFIG
421          02 = size
422             00 = NCI_STATUS_OK
423                00 = num_of_invalid_params (0)
424
425
426 >  01 00 00 1e 10
427    01 = SPI_MASTER
428       00 = NO_CRC
429          00 1e = size
430                10 = NCI?
431 >> 20 02 1a 02
432    20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
433       02 = NCI_MSG_CORE_SET_CONFIG
434          1a = size
435             02 = num_of_params
436 >> 61 14 46 66 6d 01 01 11 02 02 07 ff 03 02 00 13 04 01 64 07 01 03
437    61 = NCI_PARAM_ID_ATR_RES_GEN_BYTES
438       14 = size_of_param
439          46 = LLCP_MAGIC_NUMBER_BYTE0
440             66 = LLCP_MAGIC_NUMBER_BYTE1
441                6d = LLCP_MAGIC_NUMBER_BYTE2
442                   01 = LLCP_VERSION_TYPE
443                      01 = LLCP_VERSION_LEN
444                         11 = LLCP_VERSION_VALUE
445                            02 = LLCP_MIUX_TYPE
446                               02 = LLCP_MIUX_LEN
447                                  07 ff = LLCP_MAX_MIU - LLCP_DEFAULT_MIU
448                                        03 = LLCP_WKS_TYPE
449                                           02 = LLCP_WKS_LEN
450                                              00 13 = wks
451                                                    04 = LLCP_LTO_TYPE
452                                                       01 = LLCP_LTO_LEN
453                                                          64 = lto / LLCP_LTO_UNIT (10 ms)
454                                                             07 = LLCP_OPT_TYPE
455                                                                01 = LLCP_OPT_LEN
456                                                                   03 = LLCP_LSC_3
457 >> 60 01 07
458    60 = NCI_PARAM_ID_WT
459       01 = NCI_PARAM_LEN_WT
460          07 = LLCP_WAITING_TIME
461 <  00 00 00 06 10
462    00 = SPI_SLAVE
463       00 = NO_CRC
464          00 06 = size
465                10 = NCI?
466 << 40 02 02 00 00
467    40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
468       02 = NCI_MSG_CORE_SET_CONFIG
469          02 = size
470             00 = NCI_STATUS_OK
471                00 = num_of_invalid_params (0)
472
473
474 >  01 00 00 14 10
475    01 = SPI_MASTER
476       00 = NO_CRC
477          00 14 = size
478                10 = NCI?
479 >> 20 02 10 05
480    20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
481       02 = NCI_MSG_CORE_SET_CONFIG
482          10 = size
483             05 = num_of_params
484 >> 30 01 04
485    30 = NCI_PARAM_ID_LA_BIT_FRAME_SDD
486       01 = NCI_PARAM_LEN_LA_BIT_FRAME_SDD
487          04 = hardcoded
488 >> 31 01 00
489    31 = NCI_PARAM_ID_LA_PLATFORM_CONFIG
490       01 = NCI_PARAM_LEN_LA_PLATFORM_CONFIG
491          00 = none
492 >> 32 01 40
493    32 = NCI_PARAM_ID_LA_SEL_INFO
494       01 = NCI_PARAM_LEN_LA_SEL_INFO
495          40 = NCI_PARAM_SEL_INFO_NFCDEP
496 >> 38 01 00
497    38 = NCI_PARAM_ID_LB_SENSB_INFO
498       01 = NCI_PARAM_LEN_LB_SENSB_INFO
499          00 = none
500 >> 50 01 02
501    50 = NCI_PARAM_ID_LF_PROTOCOL
502       01 = NCI_PARAM_LEN_LF_PROTOCOL
503          02 = NCI_LISTEN_PROTOCOL_NFC_DEP
504 <  00 00 00 06 10
505    00 = SPI_SLAVE
506       00 = NO_CRC
507          00 06 = size
508                10 = NCI?
509 << 40 02 02 00 00
510    40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
511       02 = NCI_MSG_CORE_SET_CONFIG
512          02 = size
513             00 = NCI_STATUS_OK
514                00 = num_of_invalid_params (0)
515
516
517 >  01 00 00 09 10
518    01 = SPI_MASTER
519       00 = NO_CRC
520          00 09 = size
521                10 = NCI?
522 >> 20 02 05 01
523    20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
524       02 = NCI_MSG_CORE_SET_CONFIG
525          05 = size
526             01 = num_of_params
527 << 00 02 fa 00
528    00 = NCI_PARAM_ID_TOTAL_DURATION
529       02 = NCI_PARAM_LEN_TOTAL_DURATION
530          fa 00
531 <  00 00 00 06 10
532    00 = SPI_SLAVE
533       00 = NO_CRC
534          00 06 = size
535                10 = NCI?
536 << 40 02 02 00 00
537    40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
538       02 = NCI_MSG_CORE_SET_CONFIG
539          02 = size
540             00 = NCI_STATUS_OK
541                00 = num_of_invalid_params (0)
542
543
544 >  01 00 00 0f 10
545    01 = SPI_MASTER
546       00 = NO_CRC
547          00 0f = size
548                10 = NCI?
549 >> 20 02 0b 01 c2 08 01 08 00 04 80 c3 c9 01
550    20 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
551       02 = NCI_MSG_CORE_SET_CONFIG
552          0b = size
553                nfc_hal_pre_discover_cfg
554 <  00 00 00 06 10
555    00 = SPI_SLAVE
556       00 = NO_CRC
557          00 06 = size
558                10 = NCI?
559 << 40 02 02 00 00
560    40 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_CORE
561       02 = NCI_MSG_CORE_SET_CONFIG
562          02 = size
563             00 = NCI_STATUS_OK
564                00 = num_of_invalid_params (0)
565
566
567 >  01 00 00 11 10
568    01 = SPI_MASTER
569       00 = NO_CRC
570          00 11 = size
571                10 = NCI?
572 >> 21 03 0d 06 00 01 01 01 02 01 80 01 82 01 06 01
573    21 = NCI_MTS_CMD | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE
574       03 = NCI_MSG_RF_DISCOVER
575          0d = size
576 <  00 00 00 05 10
577    00 = SPI_SLAVE
578       00 = NO_CRC
579          00 05 = size
580                10 = NCI?
581 << 41 03 01 00
582    41 = NCI_MTS_RSP | NCI_PBF_NO_OR_LAST | NCI_GID_RF_MANAGE
583       03 = NCI_MSG_RF_DISCOVER
584          01 = size
585
6b0ed4 586
JK 587 # CTRL 0x41 0x01 0x0001 0x0003
588
589
590
591 ###########
592 TURNING OFF
593 ###########
594
595 # CTRL 0x41 0x01 0x0000 0x0003
596 # CTRL 0x41 0x00 0x0000 0x0003