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