README_RCP_CAPS_DIAG.md
1# OpenThread Diagnostics - RCP Capability Diagnostics Example
2
3This module provides diag commands for checking RCP capabilities.
4
5`OPENTHREAD_CONFIG_DIAG_ENABLE` and `OPENTHREAD_POSIX_CONFIG_RCP_CAPS_DIAG_ENABLE` are required.
6
7## Command List
8
9- [capflags](#capflags)
10- [spinel](#spinel)
11- [spinelspeed](#spinelspeed)
12- [srcmatchtable](#srcmatchtable)
13
14## Command Details
15
16### capflags
17
18Check RCP's radio and spinel capbility flags.
19
20```bash
21> diag rcpcaps capflags
22
23Radio Capbility Flags :
24
25Thread Version >= 1.1 :
26RADIO_CAPS_ACK_TIMEOUT ------------------------------------ OK
27RADIO_CAPS_TRANSMIT_RETRIES ------------------------------- OK
28RADIO_CAPS_CSMA_BACKOFF ----------------------------------- OK
29
30Thread Version >= 1.2 :
31RADIO_CAPS_TRANSMIT_SEC ----------------------------------- OK
32RADIO_CAPS_TRANSMIT_TIMING -------------------------------- OK
33
34Utils :
35RADIO_CAPS_ENERGY_SCAN ------------------------------------ OK
36RADIO_CAPS_SLEEP_TO_TX ------------------------------------ NotSupported
37RADIO_CAPS_RECEIVE_TIMING --------------------------------- NotSupported
38RADIO_CAPS_RX_ON_WHEN_IDLE -------------------------------- NotSupported
39
40Spinel Capbility Flags :
41
42Basic :
43SPINEL_CAPS_CONFIG_RADIO ---------------------------------- OK
44SPINEL_CAPS_MAC_RAW --------------------------------------- OK
45SPINEL_CAPS_RCP_API_VERSION ------------------------------- OK
46
47Utils :
48SPINEL_CAPS_OPENTHREAD_LOG_METADATA ----------------------- NotSupported
49SPINEL_CAPS_RCP_MIN_HOST_API_VERSION ---------------------- OK
50SPINEL_CAPS_RCP_RESET_TO_BOOTLOADER ----------------------- NotSupported
51Done
52```
53
54### spinel
55
56Check which Spinel commands RCP supports.
57
58```bash
59> diag rcpcaps spinel
60
61Basic :
62PROP_VALUE_GET CAPS --------------------------------------- OK
63PROP_VALUE_GET PROTOCOL_VERSION --------------------------- OK
64PROP_VALUE_GET RADIO_CAPS --------------------------------- OK
65PROP_VALUE_GET RCP_API_VERSION ---------------------------- OK
66PROP_VALUE_GET NCP_VERSION -------------------------------- OK
67
68Thread Version >= 1.1 :
69PROP_VALUE_SET PHY_CHAN ----------------------------------- OK
70PROP_VALUE_SET PHY_ENABLED -------------------------------- OK
71PROP_VALUE_SET MAC_15_4_PANID ----------------------------- OK
72PROP_VALUE_SET MAC_15_4_LADDR ----------------------------- OK
73PROP_VALUE_SET MAC_15_4_SADDR ----------------------------- OK
74PROP_VALUE_SET MAC_RAW_STREAM_ENABLED --------------------- OK
75PROP_VALUE_SET MAC_SCAN_MASK ------------------------------ OK
76PROP_VALUE_SET MAC_SCAN_PERIOD ---------------------------- OK
77PROP_VALUE_SET MAC_SCAN_STATE ----------------------------- OK
78PROP_VALUE_SET MAC_SRC_MATCH_ENABLED ---------------------- OK
79PROP_VALUE_SET MAC_SRC_MATCH_SHORT_ADDRESSES -------------- OK
80PROP_VALUE_SET MAC_SRC_MATCH_EXTENDED_ADDRESSES ----------- OK
81PROP_VALUE_GET HWADDR ------------------------------------- OK
82PROP_VALUE_GET PHY_CHAN_PREFERRED ------------------------- OK
83PROP_VALUE_GET PHY_CHAN_SUPPORTED ------------------------- OK
84PROP_VALUE_GET PHY_RSSI ----------------------------------- OK
85PROP_VALUE_GET PHY_RX_SENSITIVITY ------------------------- OK
86PROP_VALUE_INSERT MAC_SRC_MATCH_SHORT_ADDRESSES ----------- OK
87PROP_VALUE_INSERT MAC_SRC_MATCH_EXTENDED_ADDRESSES -------- OK
88PROP_VALUE_REMOVE MAC_SRC_MATCH_SHORT_ADDRESSES ----------- OK
89PROP_VALUE_REMOVE MAC_SRC_MATCH_EXTENDED_ADDRESSES -------- OK
90
91Thread Version >= 1.2 :
92PROP_VALUE_SET ENH_ACK_PROBING ---------------------------- NotImplemented
93PROP_VALUE_SET RCP_MAC_FRAME_COUNTER ---------------------- OK
94PROP_VALUE_SET RCP_MAC_KEY -------------------------------- OK
95PROP_VALUE_GET CSL_ACCURACY ------------------------------- OK
96PROP_VALUE_GET CSL_UNCERTAINTY ---------------------------- OK
97PROP_VALUE_GET TIMESTAMP ---------------------------------- OK
98
99Utils :
100PROP_VALUE_SET MAC_PROMISCUOUS_MODE ----------------------- OK
101PROP_VALUE_GET PHY_CCA_THRESHOLD -------------------------- OK
102PROP_VALUE_GET PHY_FEM_LNA_GAIN --------------------------- OK
103PROP_VALUE_GET PHY_REGION_CODE ---------------------------- OK
104PROP_VALUE_GET PHY_TX_POWER ------------------------------- OK
105PROP_VALUE_GET RADIO_COEX_ENABLE -------------------------- OK
106PROP_VALUE_GET RADIO_COEX_METRICS ------------------------- OK
107PROP_VALUE_GET RCP_MIN_HOST_API_VERSION ------------------- OK
108PROP_VALUE_SET PHY_CCA_THRESHOLD -------------------------- OK
109PROP_VALUE_SET PHY_CHAN_MAX_POWER ------------------------- OK
110PROP_VALUE_SET PHY_CHAN_TARGET_POWER ---------------------- OK
111PROP_VALUE_SET PHY_FEM_LNA_GAIN --------------------------- OK
112PROP_VALUE_SET PHY_REGION_CODE ---------------------------- OK
113PROP_VALUE_SET PHY_TX_POWER ------------------------------- OK
114PROP_VALUE_SET RADIO_COEX_ENABLE -------------------------- OK
115Done
116```
117
118### spinelspeed
119
120Check the speed of Spinel interface.
121
122```bash
123> diag rcpcaps spinelspeed
124SpinelSpeed ----------------------------------------------- 34414843 bps
125Done
126```
127
128### srcmatchtable
129
130Check the source match table size supported by the RCP.
131
132```bash
133> diag rcpcaps srcmatchtable
134ShortSrcMatchTableSize ------------------------------------ 128
135ExtendedSrcMatchTableSize --------------------------------- 128
136Done
137```
138