diff --git a/docs/ble_hs/ble_hs_return_codes.rst b/docs/ble_hs/ble_hs_return_codes.rst index c69cc4f8d4..5cce93d60e 100644 --- a/docs/ble_hs/ble_hs_return_codes.rst +++ b/docs/ble_hs/ble_hs_return_codes.rst @@ -121,317 +121,335 @@ Return codes - Core The precise meaning of each of these error codes depends on the function that returns it. The API reference for a particular function indicates the conditions under which each of these codes are returned. -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| Value | Name | Condition | -+=========+==============================+=============================================================================================+ -| 0x00 | *N/A* | Success | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x01 | BLE\_HS\_EAGAIN | Temporary failure; try again. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x02 | BLE\_HS\_EALREADY | Operation already in progress or completed. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x03 | BLE\_HS\_EINVAL | One or more arguments are invalid. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x04 | BLE\_HS\_EMSGSIZE | The provided buffer is too small. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x05 | BLE\_HS\_ENOENT | No entry matching the specified criteria. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x06 | BLE\_HS\_ENOMEM | Operation failed due to resource exhaustion. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x07 | BLE\_HS\_ENOTCONN | No open connection with the specified handle. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x08 | BLE\_HS\_ENOTSUP | Operation disabled at compile time. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x09 | BLE\_HS\_EAPP | Application callback behaved unexpectedly. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x0a | BLE\_HS\_EBADDATA | Command from peer is invalid. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x0b | BLE\_HS\_EOS | Mynewt OS error. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x0c | BLE\_HS\_ECONTROLLER | Event from controller is invalid. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x0d | BLE\_HS\_ETIMEOUT | Operation timed out. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x0e | BLE\_HS\_EDONE | Operation completed successfully. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x0f | BLE\_HS\_EBUSY | Operation cannot be performed until procedure completes. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x10 | BLE\_HS\_EREJECT | Peer rejected a connection parameter update request. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x11 | BLE\_HS\_EUNKNOWN | Unexpected failure; catch all. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x12 | BLE\_HS\_EROLE | Operation requires different role (e.g., central vs. peripheral). | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x13 | BLE\_HS\_ETIMEOUT\_HCI | HCI request timed out; controller unresponsive. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x14 | BLE\_HS\_ENOMEM\_EVT | Controller failed to send event due to memory exhaustion (combined host-controller only). | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x15 | BLE\_HS\_ENOADDR | Operation requires an identity address but none configured. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x16 | BLE\_HS\_ENOTSYNCED | Attempt to use the host before it is synced with controller. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x17 | BLE\_HS\_EAUTHEN | Insufficient authentication. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x18 | BLE\_HS\_EAUTHOR | Insufficient authorization. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x19 | BLE\_HS\_EENCRYPT | Insufficient encryption level. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x1a | BLE\_HS\_EENCRYPT\_KEY\_SZ | Insufficient key size. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x1b | BLE\_HS\_ESTORE\_CAP | Storage at capacity. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ -| 0x1c | BLE\_HS\_ESTORE\_FAIL | Storage IO error. | -+---------+------------------------------+---------------------------------------------------------------------------------------------+ +.. table:: Return codes - Core + :widths: 10 30 60 + + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | Value | Name | Condition | + +=========+==============================+=============================================================================================+ + | 0x00 | *N/A* | Success | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x01 | BLE\_HS\_EAGAIN | Temporary failure; try again. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x02 | BLE\_HS\_EALREADY | Operation already in progress or completed. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x03 | BLE\_HS\_EINVAL | One or more arguments are invalid. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x04 | BLE\_HS\_EMSGSIZE | The provided buffer is too small. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x05 | BLE\_HS\_ENOENT | No entry matching the specified criteria. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x06 | BLE\_HS\_ENOMEM | Operation failed due to resource exhaustion. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x07 | BLE\_HS\_ENOTCONN | No open connection with the specified handle. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x08 | BLE\_HS\_ENOTSUP | Operation disabled at compile time. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x09 | BLE\_HS\_EAPP | Application callback behaved unexpectedly. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x0a | BLE\_HS\_EBADDATA | Command from peer is invalid. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x0b | BLE\_HS\_EOS | Mynewt OS error. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x0c | BLE\_HS\_ECONTROLLER | Event from controller is invalid. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x0d | BLE\_HS\_ETIMEOUT | Operation timed out. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x0e | BLE\_HS\_EDONE | Operation completed successfully. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x0f | BLE\_HS\_EBUSY | Operation cannot be performed until procedure completes. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x10 | BLE\_HS\_EREJECT | Peer rejected a connection parameter update request. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x11 | BLE\_HS\_EUNKNOWN | Unexpected failure; catch all. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x12 | BLE\_HS\_EROLE | Operation requires different role (e.g., central vs. peripheral). | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x13 | BLE\_HS\_ETIMEOUT\_HCI | HCI request timed out; controller unresponsive. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x14 | BLE\_HS\_ENOMEM\_EVT | Controller failed to send event due to memory exhaustion (combined host-controller only). | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x15 | BLE\_HS\_ENOADDR | Operation requires an identity address but none configured. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x16 | BLE\_HS\_ENOTSYNCED | Attempt to use the host before it is synced with controller. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x17 | BLE\_HS\_EAUTHEN | Insufficient authentication. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x18 | BLE\_HS\_EAUTHOR | Insufficient authorization. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x19 | BLE\_HS\_EENCRYPT | Insufficient encryption level. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x1a | BLE\_HS\_EENCRYPT\_KEY\_SZ | Insufficient key size. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x1b | BLE\_HS\_ESTORE\_CAP | Storage at capacity. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ + | 0x1c | BLE\_HS\_ESTORE\_FAIL | Storage IO error. | + +---------+------------------------------+---------------------------------------------------------------------------------------------+ Return codes - ATT ^^^^^^^^^^^^^^^^^^ -+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| NimBLE Value | Formal Value | Name | Condition | -+================+================+============================================+===========================================================================================================================================+ -| 0x0101 | 0x01 | BLE\_ATT\_ERR\_INVALID\_HANDLE | The attribute handle given was not valid on this server. | -+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0102 | 0x02 | BLE\_ATT\_ERR\_READ\_NOT\_PERMITTED | The attribute cannot be read. | -+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0103 | 0x03 | BLE\_ATT\_ERR\_WRITE\_NOT\_PERMITTED | The attribute cannot be written. | -+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0104 | 0x04 | BLE\_ATT\_ERR\_INVALID\_PDU | The attribute PDU was invalid. | -+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0105 | 0x05 | BLE\_ATT\_ERR\_INSUFFICIENT\_AUTHEN | The attribute requires authentication before it can be read or written. | -+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0106 | 0x06 | BLE\_ATT\_ERR\_REQ\_NOT\_SUPPORTED | Attribute server does not support the request received from the client. | -+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0107 | 0x07 | BLE\_ATT\_ERR\_INVALID\_OFFSET | Offset specified was past the end of the attribute. | -+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0108 | 0x08 | BLE\_ATT\_ERR\_INSUFFICIENT\_AUTHOR | The attribute requires authorization before it can be read or written. | -+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0109 | 0x09 | BLE\_ATT\_ERR\_PREPARE\_QUEUE\_FULL | Too many prepare writes have been queued. | -+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x010a | 0x0a | BLE\_ATT\_ERR\_ATTR\_NOT\_FOUND | No attribute found within the given attribute handle range. | -+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x010b | 0x0b | BLE\_ATT\_ERR\_ATTR\_NOT\_LONG | The attribute cannot be read or written using the Read Blob Request. | -+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x010c | 0x0c | BLE\_ATT\_ERR\_INSUFFICIENT\_KEY\_SZ | The Encryption Key Size used for encrypting this link is insufficient. | -+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x010d | 0x0d | BLE\_ATT\_ERR\_INVALID\_ATTR\_VALUE\_LEN | The attribute value length is invalid for the operation. | -+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x010e | 0x0e | BLE\_ATT\_ERR\_UNLIKELY | The attribute request that was requested has encountered an error that was unlikely, and therefore could not be completed as requested. | -+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x010f | 0x0f | BLE\_ATT\_ERR\_INSUFFICIENT\_ENC | The attribute requires encryption before it can be read or written. | -+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0110 | 0x10 | BLE\_ATT\_ERR\_UNSUPPORTED\_GROUP | The attribute type is not a supported grouping attribute as defined by a higher layer specification. | -+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0111 | 0x11 | BLE\_ATT\_ERR\_INSUFFICIENT\_RES | Insufficient Resources to complete the request. | -+----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ +.. table:: Return codes - ATT + :widths: 11 10 45 34 + + +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | NimBLE Value | Formal Value | Name | Condition | + +================+================+============================================+===========================================================================================================================================+ + | 0x0101 | 0x01 | BLE\_ATT\_ERR\_INVALID\_HANDLE | The attribute handle given was not valid on this server. | + +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0102 | 0x02 | BLE\_ATT\_ERR\_READ\_NOT\_PERMITTED | The attribute cannot be read. | + +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0103 | 0x03 | BLE\_ATT\_ERR\_WRITE\_NOT\_PERMITTED | The attribute cannot be written. | + +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0104 | 0x04 | BLE\_ATT\_ERR\_INVALID\_PDU | The attribute PDU was invalid. | + +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0105 | 0x05 | BLE\_ATT\_ERR\_INSUFFICIENT\_AUTHEN | The attribute requires authentication before it can be read or written. | + +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0106 | 0x06 | BLE\_ATT\_ERR\_REQ\_NOT\_SUPPORTED | Attribute server does not support the request received from the client. | + +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0107 | 0x07 | BLE\_ATT\_ERR\_INVALID\_OFFSET | Offset specified was past the end of the attribute. | + +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0108 | 0x08 | BLE\_ATT\_ERR\_INSUFFICIENT\_AUTHOR | The attribute requires authorization before it can be read or written. | + +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0109 | 0x09 | BLE\_ATT\_ERR\_PREPARE\_QUEUE\_FULL | Too many prepare writes have been queued. | + +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x010a | 0x0a | BLE\_ATT\_ERR\_ATTR\_NOT\_FOUND | No attribute found within the given attribute handle range. | + +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x010b | 0x0b | BLE\_ATT\_ERR\_ATTR\_NOT\_LONG | The attribute cannot be read or written using the Read Blob Request. | + +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x010c | 0x0c | BLE\_ATT\_ERR\_INSUFFICIENT\_KEY\_SZ | The Encryption Key Size used for encrypting this link is insufficient. | + +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x010d | 0x0d | BLE\_ATT\_ERR\_INVALID\_ATTR\_VALUE\_LEN | The attribute value length is invalid for the operation. | + +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x010e | 0x0e | BLE\_ATT\_ERR\_UNLIKELY | The attribute request that was requested has encountered an error that was unlikely, and therefore could not be completed as requested. | + +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x010f | 0x0f | BLE\_ATT\_ERR\_INSUFFICIENT\_ENC | The attribute requires encryption before it can be read or written. | + +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0110 | 0x10 | BLE\_ATT\_ERR\_UNSUPPORTED\_GROUP | The attribute type is not a supported grouping attribute as defined by a higher layer specification. | + +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0111 | 0x11 | BLE\_ATT\_ERR\_INSUFFICIENT\_RES | Insufficient Resources to complete the request. | + +----------------+----------------+--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ Return codes - HCI ^^^^^^^^^^^^^^^^^^ -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| NimBLE Value | Formal Value | Name | Condition | -+================+================+====================================+================================================================================+ -| 0x0201 | 0x01 | BLE\_ERR\_UNKNOWN\_HCI\_CMD | Unknown HCI Command | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0202 | 0x02 | BLE\_ERR\_UNK\_CONN\_ID | Unknown Connection Identifier | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0203 | 0x03 | BLE\_ERR\_HW\_FAIL | Hardware Failure | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0204 | 0x04 | BLE\_ERR\_PAGE\_TMO | Page Timeout | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0205 | 0x05 | BLE\_ERR\_AUTH\_FAIL | Authentication Failure | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0206 | 0x06 | BLE\_ERR\_PINKEY\_MISSING | PIN or Key Missing | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0207 | 0x07 | BLE\_ERR\_MEM\_CAPACITY | Memory Capacity Exceeded | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0208 | 0x08 | BLE\_ERR\_CONN\_SPVN\_TMO | Connection Timeout | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0209 | 0x09 | BLE\_ERR\_CONN\_LIMIT | Connection Limit Exceeded | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x020a | 0x0a | BLE\_ERR\_SYNCH\_CONN\_LIMIT | Synchronous Connection Limit To A Device Exceeded | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x020b | 0x0b | BLE\_ERR\_ACL\_CONN\_EXISTS | ACL Connection Already Exists | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x020c | 0x0c | BLE\_ERR\_CMD\_DISALLOWED | Command Disallowed | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x020d | 0x0d | BLE\_ERR\_CONN\_REJ\_RESOURCES | Connection Rejected due to Limited Resources | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x020e | 0x0e | BLE\_ERR\_CONN\_REJ\_SECURITY | Connection Rejected Due To Security Reasons | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x020f | 0x0f | BLE\_ERR\_CONN\_REJ\_BD\_ADDR | Connection Rejected due to Unacceptable BD\_ADDR | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0210 | 0x10 | BLE\_ERR\_CONN\_ACCEPT\_TMO | Connection Accept Timeout Exceeded | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0211 | 0x11 | BLE\_ERR\_UNSUPPORTED | Unsupported Feature or Parameter Value | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0212 | 0x12 | BLE\_ERR\_INV\_HCI\_CMD\_PARMS | Invalid HCI Command Parameters | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0213 | 0x13 | BLE\_ERR\_REM\_USER\_CONN\_TERM | Remote User Terminated Connection | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0214 | 0x14 | BLE\_ERR\_RD\_CONN\_TERM\_RESRCS | Remote Device Terminated Connection due to Low Resources | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0215 | 0x15 | BLE\_ERR\_RD\_CONN\_TERM\_PWROFF | Remote Device Terminated Connection due to Power Off | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0216 | 0x16 | BLE\_ERR\_CONN\_TERM\_LOCAL | Connection Terminated By Local Host | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0217 | 0x17 | BLE\_ERR\_REPEATED\_ATTEMPTS | Repeated Attempts | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0218 | 0x18 | BLE\_ERR\_NO\_PAIRING | Pairing Not Allowed | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0219 | 0x19 | BLE\_ERR\_UNK\_LMP | Unknown LMP PDU | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x021a | 0x1a | BLE\_ERR\_UNSUPP\_REM\_FEATURE | Unsupported Remote Feature / Unsupported LMP Feature | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x021b | 0x1b | BLE\_ERR\_SCO\_OFFSET | SCO Offset Rejected | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x021c | 0x1c | BLE\_ERR\_SCO\_ITVL | SCO Interval Rejected | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x021d | 0x1d | BLE\_ERR\_SCO\_AIR\_MODE | SCO Air Mode Rejected | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x021e | 0x1e | BLE\_ERR\_INV\_LMP\_LL\_PARM | Invalid LMP Parameters / Invalid LL Parameters | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x021f | 0x1f | BLE\_ERR\_UNSPECIFIED | Unspecified Error | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0220 | 0x20 | BLE\_ERR\_UNSUPP\_LMP\_LL\_PARM | Unsupported LMP Parameter Value / Unsupported LL Parameter Value | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0221 | 0x21 | BLE\_ERR\_NO\_ROLE\_CHANGE | Role Change Not Allowed | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0222 | 0x22 | BLE\_ERR\_LMP\_LL\_RSP\_TMO | LMP Response Timeout / LL Response Timeout | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0223 | 0x23 | BLE\_ERR\_LMP\_COLLISION | LMP Error Transaction Collision | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0224 | 0x24 | BLE\_ERR\_LMP\_PDU | LMP PDU Not Allowed | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0225 | 0x25 | BLE\_ERR\_ENCRYPTION\_MODE | Encryption Mode Not Acceptable | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0226 | 0x26 | BLE\_ERR\_LINK\_KEY\_CHANGE | Link Key cannot be Changed | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0227 | 0x27 | BLE\_ERR\_UNSUPP\_QOS | Requested QoS Not Supported | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0228 | 0x28 | BLE\_ERR\_INSTANT\_PASSED | Instant Passed | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0229 | 0x29 | BLE\_ERR\_UNIT\_KEY\_PAIRING | Pairing With Unit Key Not Supported | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x022a | 0x2a | BLE\_ERR\_DIFF\_TRANS\_COLL | Different Transaction Collision | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x022c | 0x2c | BLE\_ERR\_QOS\_PARM | QoS Unacceptable Parameter | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x022d | 0x2d | BLE\_ERR\_QOS\_REJECTED | QoS Rejected | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x022e | 0x2e | BLE\_ERR\_CHAN\_CLASS | Channel Classification Not Supported | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x022f | 0x2f | BLE\_ERR\_INSUFFICIENT\_SEC | Insufficient Security | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0230 | 0x30 | BLE\_ERR\_PARM\_OUT\_OF\_RANGE | Parameter Out Of Mandatory Range | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0232 | 0x32 | BLE\_ERR\_PENDING\_ROLE\_SW | Role Switch Pending | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0234 | 0x34 | BLE\_ERR\_RESERVED\_SLOT | Reserved Slot Violation | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0235 | 0x35 | BLE\_ERR\_ROLE\_SW\_FAIL | Role Switch Failed | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0236 | 0x36 | BLE\_ERR\_INQ\_RSP\_TOO\_BIG | Extended Inquiry Response Too Large | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0237 | 0x37 | BLE\_ERR\_SEC\_SIMPLE\_PAIR | Secure Simple Pairing Not Supported By Host | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0238 | 0x38 | BLE\_ERR\_HOST\_BUSY\_PAIR | Host Busy - Pairing | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0239 | 0x39 | BLE\_ERR\_CONN\_REJ\_CHANNEL | Connection Rejected due to No Suitable Channel Found | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x023a | 0x3a | BLE\_ERR\_CTLR\_BUSY | Controller Busy | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x023b | 0x3b | BLE\_ERR\_CONN\_PARMS | Unacceptable Connection Parameters | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x023c | 0x3c | BLE\_ERR\_DIR\_ADV\_TMO | Directed Advertising Timeout | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x023d | 0x3d | BLE\_ERR\_CONN\_TERM\_MIC | Connection Terminated due to MIC Failure | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x023e | 0x3e | BLE\_ERR\_CONN\_ESTABLISHMENT | Connection Failed to be Established | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x023f | 0x3f | BLE\_ERR\_MAC\_CONN\_FAIL | MAC Connection Failed | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ -| 0x0240 | 0x40 | BLE\_ERR\_COARSE\_CLK\_ADJ | Coarse Clock Adjustment Rejected but Will Try to Adjust Using Clock Dragging | -+----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ +.. table:: Return codes - HCI + :widths: 11 10 39 40 + + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | NimBLE Value | Formal Value | Name | Condition | + +================+================+====================================+================================================================================+ + | 0x0201 | 0x01 | BLE\_ERR\_UNKNOWN\_HCI\_CMD | Unknown HCI Command | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0202 | 0x02 | BLE\_ERR\_UNK\_CONN\_ID | Unknown Connection Identifier | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0203 | 0x03 | BLE\_ERR\_HW\_FAIL | Hardware Failure | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0204 | 0x04 | BLE\_ERR\_PAGE\_TMO | Page Timeout | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0205 | 0x05 | BLE\_ERR\_AUTH\_FAIL | Authentication Failure | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0206 | 0x06 | BLE\_ERR\_PINKEY\_MISSING | PIN or Key Missing | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0207 | 0x07 | BLE\_ERR\_MEM\_CAPACITY | Memory Capacity Exceeded | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0208 | 0x08 | BLE\_ERR\_CONN\_SPVN\_TMO | Connection Timeout | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0209 | 0x09 | BLE\_ERR\_CONN\_LIMIT | Connection Limit Exceeded | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x020a | 0x0a | BLE\_ERR\_SYNCH\_CONN\_LIMIT | Synchronous Connection Limit To A Device Exceeded | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x020b | 0x0b | BLE\_ERR\_ACL\_CONN\_EXISTS | ACL Connection Already Exists | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x020c | 0x0c | BLE\_ERR\_CMD\_DISALLOWED | Command Disallowed | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x020d | 0x0d | BLE\_ERR\_CONN\_REJ\_RESOURCES | Connection Rejected due to Limited Resources | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x020e | 0x0e | BLE\_ERR\_CONN\_REJ\_SECURITY | Connection Rejected Due To Security Reasons | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x020f | 0x0f | BLE\_ERR\_CONN\_REJ\_BD\_ADDR | Connection Rejected due to Unacceptable BD\_ADDR | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0210 | 0x10 | BLE\_ERR\_CONN\_ACCEPT\_TMO | Connection Accept Timeout Exceeded | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0211 | 0x11 | BLE\_ERR\_UNSUPPORTED | Unsupported Feature or Parameter Value | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0212 | 0x12 | BLE\_ERR\_INV\_HCI\_CMD\_PARMS | Invalid HCI Command Parameters | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0213 | 0x13 | BLE\_ERR\_REM\_USER\_CONN\_TERM | Remote User Terminated Connection | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0214 | 0x14 | BLE\_ERR\_RD\_CONN\_TERM\_RESRCS | Remote Device Terminated Connection due to Low Resources | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0215 | 0x15 | BLE\_ERR\_RD\_CONN\_TERM\_PWROFF | Remote Device Terminated Connection due to Power Off | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0216 | 0x16 | BLE\_ERR\_CONN\_TERM\_LOCAL | Connection Terminated By Local Host | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0217 | 0x17 | BLE\_ERR\_REPEATED\_ATTEMPTS | Repeated Attempts | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0218 | 0x18 | BLE\_ERR\_NO\_PAIRING | Pairing Not Allowed | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0219 | 0x19 | BLE\_ERR\_UNK\_LMP | Unknown LMP PDU | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x021a | 0x1a | BLE\_ERR\_UNSUPP\_REM\_FEATURE | Unsupported Remote Feature / Unsupported LMP Feature | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x021b | 0x1b | BLE\_ERR\_SCO\_OFFSET | SCO Offset Rejected | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x021c | 0x1c | BLE\_ERR\_SCO\_ITVL | SCO Interval Rejected | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x021d | 0x1d | BLE\_ERR\_SCO\_AIR\_MODE | SCO Air Mode Rejected | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x021e | 0x1e | BLE\_ERR\_INV\_LMP\_LL\_PARM | Invalid LMP Parameters / Invalid LL Parameters | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x021f | 0x1f | BLE\_ERR\_UNSPECIFIED | Unspecified Error | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0220 | 0x20 | BLE\_ERR\_UNSUPP\_LMP\_LL\_PARM | Unsupported LMP Parameter Value / Unsupported LL Parameter Value | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0221 | 0x21 | BLE\_ERR\_NO\_ROLE\_CHANGE | Role Change Not Allowed | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0222 | 0x22 | BLE\_ERR\_LMP\_LL\_RSP\_TMO | LMP Response Timeout / LL Response Timeout | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0223 | 0x23 | BLE\_ERR\_LMP\_COLLISION | LMP Error Transaction Collision | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0224 | 0x24 | BLE\_ERR\_LMP\_PDU | LMP PDU Not Allowed | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0225 | 0x25 | BLE\_ERR\_ENCRYPTION\_MODE | Encryption Mode Not Acceptable | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0226 | 0x26 | BLE\_ERR\_LINK\_KEY\_CHANGE | Link Key cannot be Changed | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0227 | 0x27 | BLE\_ERR\_UNSUPP\_QOS | Requested QoS Not Supported | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0228 | 0x28 | BLE\_ERR\_INSTANT\_PASSED | Instant Passed | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0229 | 0x29 | BLE\_ERR\_UNIT\_KEY\_PAIRING | Pairing With Unit Key Not Supported | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x022a | 0x2a | BLE\_ERR\_DIFF\_TRANS\_COLL | Different Transaction Collision | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x022c | 0x2c | BLE\_ERR\_QOS\_PARM | QoS Unacceptable Parameter | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x022d | 0x2d | BLE\_ERR\_QOS\_REJECTED | QoS Rejected | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x022e | 0x2e | BLE\_ERR\_CHAN\_CLASS | Channel Classification Not Supported | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x022f | 0x2f | BLE\_ERR\_INSUFFICIENT\_SEC | Insufficient Security | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0230 | 0x30 | BLE\_ERR\_PARM\_OUT\_OF\_RANGE | Parameter Out Of Mandatory Range | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0232 | 0x32 | BLE\_ERR\_PENDING\_ROLE\_SW | Role Switch Pending | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0234 | 0x34 | BLE\_ERR\_RESERVED\_SLOT | Reserved Slot Violation | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0235 | 0x35 | BLE\_ERR\_ROLE\_SW\_FAIL | Role Switch Failed | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0236 | 0x36 | BLE\_ERR\_INQ\_RSP\_TOO\_BIG | Extended Inquiry Response Too Large | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0237 | 0x37 | BLE\_ERR\_SEC\_SIMPLE\_PAIR | Secure Simple Pairing Not Supported By Host | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0238 | 0x38 | BLE\_ERR\_HOST\_BUSY\_PAIR | Host Busy - Pairing | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0239 | 0x39 | BLE\_ERR\_CONN\_REJ\_CHANNEL | Connection Rejected due to No Suitable Channel Found | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x023a | 0x3a | BLE\_ERR\_CTLR\_BUSY | Controller Busy | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x023b | 0x3b | BLE\_ERR\_CONN\_PARMS | Unacceptable Connection Parameters | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x023c | 0x3c | BLE\_ERR\_DIR\_ADV\_TMO | Directed Advertising Timeout | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x023d | 0x3d | BLE\_ERR\_CONN\_TERM\_MIC | Connection Terminated due to MIC Failure | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x023e | 0x3e | BLE\_ERR\_CONN\_ESTABLISHMENT | Connection Failed to be Established | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x023f | 0x3f | BLE\_ERR\_MAC\_CONN\_FAIL | MAC Connection Failed | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ + | 0x0240 | 0x40 | BLE\_ERR\_COARSE\_CLK\_ADJ | Coarse Clock Adjustment Rejected but Will Try to Adjust Using Clock Dragging | + +----------------+----------------+------------------------------------+--------------------------------------------------------------------------------+ Return codes - L2CAP ^^^^^^^^^^^^^^^^^^^^ -+----------------+----------------+----------------------------------------------+------------------------------------------------------+ -| NimBLE Value | Formal Value | Name | Condition | -+================+================+==============================================+======================================================+ -| 0x0300 | 0x00 | BLE\_L2CAP\_SIG\_ERR\_CMD\_NOT\_UNDERSTOOD | Invalid or unsupported incoming L2CAP sig command. | -+----------------+----------------+----------------------------------------------+------------------------------------------------------+ -| 0x0301 | 0x01 | BLE\_L2CAP\_SIG\_ERR\_MTU\_EXCEEDED | Incoming packet too large. | -+----------------+----------------+----------------------------------------------+------------------------------------------------------+ -| 0x0302 | 0x02 | BLE\_L2CAP\_SIG\_ERR\_INVALID\_CID | No channel with specified ID. | -+----------------+----------------+----------------------------------------------+------------------------------------------------------+ +.. table:: Return codes - L2CAP + :widths: 11 10 50 29 + + +----------------+----------------+----------------------------------------------+------------------------------------------------------+ + | NimBLE Value | Formal Value | Name | Condition | + +================+================+==============================================+======================================================+ + | 0x0300 | 0x00 | BLE\_L2CAP\_SIG\_ERR\_CMD\_NOT\_UNDERSTOOD | Invalid or unsupported incoming L2CAP sig command. | + +----------------+----------------+----------------------------------------------+------------------------------------------------------+ + | 0x0301 | 0x01 | BLE\_L2CAP\_SIG\_ERR\_MTU\_EXCEEDED | Incoming packet too large. | + +----------------+----------------+----------------------------------------------+------------------------------------------------------+ + | 0x0302 | 0x02 | BLE\_L2CAP\_SIG\_ERR\_INVALID\_CID | No channel with specified ID. | + +----------------+----------------+----------------------------------------------+------------------------------------------------------+ Return codes - Security manager (us) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| NimBLE Value | Formal Value | Name | Condition | -+================+================+===================================+===========================================================================================================================================+ -| 0x0401 | 0x01 | BLE\_SM\_ERR\_PASSKEY | The user input of passkey failed, for example, the user cancelled the operation. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0402 | 0x02 | BLE\_SM\_ERR\_OOB | The OOB data is not available. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0403 | 0x03 | BLE\_SM\_ERR\_AUTHREQ | The pairing procedure cannot be performed as authentication requirements cannot be met due to IO capabilities of one or both devices. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0404 | 0x04 | BLE\_SM\_ERR\_CONFIRM\_MISMATCH | The confirm value does not match the calculated compare value. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0405 | 0x05 | BLE\_SM\_ERR\_PAIR\_NOT\_SUPP | Pairing is not supported by the device. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0406 | 0x06 | BLE\_SM\_ERR\_ENC\_KEY\_SZ | The resultant encryption key size is insufficient for the security requirements of this device. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0407 | 0x07 | BLE\_SM\_ERR\_CMD\_NOT\_SUPP | The SMP command received is not supported on this device. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0408 | 0x08 | BLE\_SM\_ERR\_UNSPECIFIED | Pairing failed due to an unspecified reason. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0409 | 0x09 | BLE\_SM\_ERR\_REPEATED | Pairing or authentication procedure is disallowed because too little time has elapsed since last pairing request or security request. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x040a | 0x0a | BLE\_SM\_ERR\_INVAL | The Invalid Parameters error code indicates that the command length is invalid or that a parameter is outside of the specified range. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x040b | 0x0b | BLE\_SM\_ERR\_DHKEY | Indicates to the remote device that the DHKey Check value received doesn’t match the one calculated by the local device. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x040c | 0x0c | BLE\_SM\_ERR\_NUMCMP | Indicates that the confirm values in the numeric comparison protocol do not match. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x040d | 0x0d | BLE\_SM\_ERR\_ALREADY | Indicates that the pairing over the LE transport failed due to a Pairing Request sent over the BR/EDR transport in process. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x040e | 0x0e | BLE\_SM\_ERR\_CROSS\_TRANS | Indicates that the BR/EDR Link Key generated on the BR/EDR transport cannot be used to derive and distribute keys for the LE transport. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ +.. table:: Return codes - Security manager (us) + :widths: 11 10 39 40 + + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | NimBLE Value | Formal Value | Name | Condition | + +================+================+===================================+===========================================================================================================================================+ + | 0x0401 | 0x01 | BLE\_SM\_ERR\_PASSKEY | The user input of passkey failed, for example, the user cancelled the operation. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0402 | 0x02 | BLE\_SM\_ERR\_OOB | The OOB data is not available. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0403 | 0x03 | BLE\_SM\_ERR\_AUTHREQ | The pairing procedure cannot be performed as authentication requirements cannot be met due to IO capabilities of one or both devices. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0404 | 0x04 | BLE\_SM\_ERR\_CONFIRM\_MISMATCH | The confirm value does not match the calculated compare value. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0405 | 0x05 | BLE\_SM\_ERR\_PAIR\_NOT\_SUPP | Pairing is not supported by the device. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0406 | 0x06 | BLE\_SM\_ERR\_ENC\_KEY\_SZ | The resultant encryption key size is insufficient for the security requirements of this device. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0407 | 0x07 | BLE\_SM\_ERR\_CMD\_NOT\_SUPP | The SMP command received is not supported on this device. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0408 | 0x08 | BLE\_SM\_ERR\_UNSPECIFIED | Pairing failed due to an unspecified reason. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0409 | 0x09 | BLE\_SM\_ERR\_REPEATED | Pairing or authentication procedure is disallowed because too little time has elapsed since last pairing request or security request. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x040a | 0x0a | BLE\_SM\_ERR\_INVAL | The Invalid Parameters error code indicates that the command length is invalid or that a parameter is outside of the specified range. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x040b | 0x0b | BLE\_SM\_ERR\_DHKEY | Indicates to the remote device that the DHKey Check value received doesn’t match the one calculated by the local device. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x040c | 0x0c | BLE\_SM\_ERR\_NUMCMP | Indicates that the confirm values in the numeric comparison protocol do not match. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x040d | 0x0d | BLE\_SM\_ERR\_ALREADY | Indicates that the pairing over the LE transport failed due to a Pairing Request sent over the BR/EDR transport in process. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x040e | 0x0e | BLE\_SM\_ERR\_CROSS\_TRANS | Indicates that the BR/EDR Link Key generated on the BR/EDR transport cannot be used to derive and distribute keys for the LE transport. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ Return codes - Security manager (peer) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| NimBLE Value | Formal Value | Name | Condition | -+================+================+===================================+===========================================================================================================================================+ -| 0x0501 | 0x01 | BLE\_SM\_ERR\_PASSKEY | The user input of passkey failed, for example, the user cancelled the operation. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0502 | 0x02 | BLE\_SM\_ERR\_OOB | The OOB data is not available. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0503 | 0x03 | BLE\_SM\_ERR\_AUTHREQ | The pairing procedure cannot be performed as authentication requirements cannot be met due to IO capabilities of one or both devices. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0504 | 0x04 | BLE\_SM\_ERR\_CONFIRM\_MISMATCH | The confirm value does not match the calculated compare value. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0505 | 0x05 | BLE\_SM\_ERR\_PAIR\_NOT\_SUPP | Pairing is not supported by the device. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0506 | 0x06 | BLE\_SM\_ERR\_ENC\_KEY\_SZ | The resultant encryption key size is insufficient for the security requirements of this device. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0507 | 0x07 | BLE\_SM\_ERR\_CMD\_NOT\_SUPP | The SMP command received is not supported on this device. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0508 | 0x08 | BLE\_SM\_ERR\_UNSPECIFIED | Pairing failed due to an unspecified reason. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x0509 | 0x09 | BLE\_SM\_ERR\_REPEATED | Pairing or authentication procedure is disallowed because too little time has elapsed since last pairing request or security request. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x050a | 0x0a | BLE\_SM\_ERR\_INVAL | The Invalid Parameters error code indicates that the command length is invalid or that a parameter is outside of the specified range. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x050b | 0x0b | BLE\_SM\_ERR\_DHKEY | Indicates to the remote device that the DHKey Check value received doesn’t match the one calculated by the local device. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x050c | 0x0c | BLE\_SM\_ERR\_NUMCMP | Indicates that the confirm values in the numeric comparison protocol do not match. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x050d | 0x0d | BLE\_SM\_ERR\_ALREADY | Indicates that the pairing over the LE transport failed due to a Pairing Request sent over the BR/EDR transport in process. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ -| 0x050e | 0x0e | BLE\_SM\_ERR\_CROSS\_TRANS | Indicates that the BR/EDR Link Key generated on the BR/EDR transport cannot be used to derive and distribute keys for the LE transport. | -+----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ +.. table:: Return codes - Security manager (peer) + :widths: 11 10 39 40 + + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | NimBLE Value | Formal Value | Name | Condition | + +================+================+===================================+===========================================================================================================================================+ + | 0x0501 | 0x01 | BLE\_SM\_ERR\_PASSKEY | The user input of passkey failed, for example, the user cancelled the operation. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0502 | 0x02 | BLE\_SM\_ERR\_OOB | The OOB data is not available. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0503 | 0x03 | BLE\_SM\_ERR\_AUTHREQ | The pairing procedure cannot be performed as authentication requirements cannot be met due to IO capabilities of one or both devices. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0504 | 0x04 | BLE\_SM\_ERR\_CONFIRM\_MISMATCH | The confirm value does not match the calculated compare value. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0505 | 0x05 | BLE\_SM\_ERR\_PAIR\_NOT\_SUPP | Pairing is not supported by the device. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0506 | 0x06 | BLE\_SM\_ERR\_ENC\_KEY\_SZ | The resultant encryption key size is insufficient for the security requirements of this device. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0507 | 0x07 | BLE\_SM\_ERR\_CMD\_NOT\_SUPP | The SMP command received is not supported on this device. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0508 | 0x08 | BLE\_SM\_ERR\_UNSPECIFIED | Pairing failed due to an unspecified reason. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x0509 | 0x09 | BLE\_SM\_ERR\_REPEATED | Pairing or authentication procedure is disallowed because too little time has elapsed since last pairing request or security request. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x050a | 0x0a | BLE\_SM\_ERR\_INVAL | The Invalid Parameters error code indicates that the command length is invalid or that a parameter is outside of the specified range. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x050b | 0x0b | BLE\_SM\_ERR\_DHKEY | Indicates to the remote device that the DHKey Check value received doesn’t match the one calculated by the local device. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x050c | 0x0c | BLE\_SM\_ERR\_NUMCMP | Indicates that the confirm values in the numeric comparison protocol do not match. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x050d | 0x0d | BLE\_SM\_ERR\_ALREADY | Indicates that the pairing over the LE transport failed due to a Pairing Request sent over the BR/EDR transport in process. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | 0x050e | 0x0e | BLE\_SM\_ERR\_CROSS\_TRANS | Indicates that the BR/EDR Link Key generated on the BR/EDR transport cannot be used to derive and distribute keys for the LE transport. | + +----------------+----------------+-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/docs/btshell/btshell_GAP.rst b/docs/btshell/btshell_GAP.rst index 2d52a16e1e..149c4c02c2 100644 --- a/docs/btshell/btshell_GAP.rst +++ b/docs/btshell/btshell_GAP.rst @@ -34,627 +34,646 @@ modes and procedures are defined for use over an LE physical transport: Available commands ~~~~~~~~~~~~~~~~~~ -Parameters default values are marked red. - Configuration ------------- -+---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ -| **Command** | **Parmeters** | \*\* Possible values\*\* | **Description** | -+=====================+=================+============================+=========================================================================================================+ -| **set** | | | Set configuration options | -+---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ -| | addr | XX:XX:XX:XX:XX:XX | Local device address | -+---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ -| | addr\_type | ``public`` | Local device address type | -+---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ -| | | random | Use random address for scan requests | -+---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ -| | mtu | [23-UINT16\_MAX] | GATT Maximum Transmission Unit (MTU) | -+---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ -| | irk | XX:XX:XX... | Local Identity Resolving Key (16 byte | -+---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ -| **set-priv-mode** | | | Set privacy mode for device | -+---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ -| | addr | XX:XX:XX:XX:XX:XX | Remote device address | -+---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ -| | addr\_type | ``public`` | Remote device public address type | -+---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ -| | | random | Remote device random address type | -+---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ -| | mode | [``0``-1] | 0 - use network privacy, 1 - use device privacy | -+---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ -| **white-list** | | | Add devices to white list (this command accepts multiple instances of addr and addr\_type parameters) | -+---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ -| | addr | XX:XX:XX:XX:XX:XX | Remote device address | -+---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ -| | addr\_type | ``public`` | Remote device public address type | -+---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ -| | | random | Remote device random address type | -+---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ +.. table:: Configuration + :widths: 20 15 25 40 + + +---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ + | **Command** | **Parameters** | **Possible values** | **Description** | + +=====================+=================+============================+=========================================================================================================+ + | **set** | | | Set configuration options | + +---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ + | | addr | XX:XX:XX:XX:XX:XX | Local device address | + +---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ + | | addr\_type | ``public`` | Local device address type | + +---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ + | | | random | Use random address for scan requests | + +---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ + | | mtu | [23-UINT16\_MAX] | GATT Maximum Transmission Unit (MTU) | + +---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ + | | irk | XX:XX:XX... | Local Identity Resolving Key (16 byte | + +---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ + | **set-priv-mode** | | | Set privacy mode for device | + +---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ + | | addr | XX:XX:XX:XX:XX:XX | Remote device address | + +---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ + | | addr\_type | ``public`` | Remote device public address type | + +---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ + | | | random | Remote device random address type | + +---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ + | | mode | [``0``-1] | 0 - use network privacy, 1 - use device privacy | + +---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ + | **white-list** | | | Add devices to white list (this command accepts multiple instances of addr and addr\_type parameters) | + +---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ + | | addr | XX:XX:XX:XX:XX:XX | Remote device address | + +---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ + | | addr\_type | ``public`` | Remote device public address type | + +---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ + | | | random | Remote device random address type | + +---------------------+-----------------+----------------------------+---------------------------------------------------------------------------------------------------------+ Device discovery and connection ------------------------------- -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| **Command** | **Parmeters** | \*\* Possible values\*\* | **Description** | -+==========================+================================+============================+============================================================================================================+ -| **scan** | | | Discover remote devices | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | cancel | | cancel ongoing scan procedure | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | extended | ``none`` | Start legacy scan | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | | 1M | Start extended scan on 1M PHY | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | | coded | Start extended scan on Coded PHY | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | | both | Start extended scan on both PHYs | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | duration | [1-``INT32_MAX``], | Duration of scan in milliseconds | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | limited | [``0``-1] | Use limited discovery procedure | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | passive | [``0``-1] | Use passive scan | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | interval | [``0``-UINT16\_MAX] | Scan interval, if 0 use stack's default | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | window | [``0``-UINT16\_MAX] | Scan window, if 0 use stack's default | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | filter | ``no_wl`` | Scan filter policy - Accept all advertising packets | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | | use\_wl | Accept only advertising packets from devices on White List | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | | no\_wl\_inita | Accept all advertising packets (including directed RPA) | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | | use\_wl\_inita | Accept only advertising packets from devices on White List (including directed RPA) | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | nodups | [``0``-1] | Disable duplicates filtering | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | own\_addr\_type | ``public`` | Use public address for scan requests | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | | random | Use random address for scan requests | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | | rpa\_pub | Use RPA address for scan requests (fallback to public if no IRK) | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | | rpa\_rnd | Use RPA address for scan requests (fallback to random if no IRK) | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | extended\_duration | [``0``-UINT16\_MAX] | Duration of extended scan in 10 milliseconds | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | extended\_period | [``0``-UINT16\_MAX] | Periodic scan interval in 1.28 seconds (0 disabled) | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | longrange\_interval | [``0``-UINT16\_MAX] | Scan interval for Coded Scan , if 0 use stack's default | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | longrange\_window | [``0``-UINT16\_MAX] | Scan window for Coded Scan , if 0 use stack's default | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | longrange\_passive | [``0``-1] | Use passive scan for Coded Scan | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| **connect** | | | Initiate connection to remote device | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | cancel | | Cancel ongoing connection procedure | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | extended | ``none`` | Use legacy connection procedure | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | | 1M | Extended connect using 1M PHY scan parameters | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | | coded | Extended connect using Coded PHY scan parameters | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | | both | Extended connect using 1M and Coded PHYs scan parameters | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | | all | Extended connect using 1M and Coded PHYs scan parameters (Provide also connection parameters for 2M PHY) | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | peer\_addr\_type | ``public`` | Remote device public address type | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | | random | Remote device random address type | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | | public\_id | Remote device public address type (Identity) | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | | random\_id | Remote device random address type (Identity) | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | peer\_addr | XX:XX:XX:XX:XX:XX | Remote device address | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | own\_addr\_type | ``public`` | Use public address for scan requests | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | | random | Use random address for scan requests | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | | rpa\_pub | Use RPA address for scan requests (fallback to public if no IRK) | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | | rpa\_rnd | Use RPA address for scan requests (fallback to random if no IRK) | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | duration | [``0``-INT32\_MAX] | Connection attempt duration, if 0 use stack's default | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | scan\_interval | [0-UINT16\_MAX] | Scan interval, default: 0x0010 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | scan\_window | [0-UINT16\_MAX] | Scan window, default: 0x0010 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | interval\_min | [0-UINT16\_MAX] | Minimum connection interval, default: 30 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | interval\_max | [0-UINT16\_MAX] | Maximum connection interval, default: 50 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | latency | [UINT16] | Connection latency, default: 0 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | timeout | [UINT16] | Connection timeout, default: 0x0100 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | min\_conn\_event\_len | [UINT16] | Minimum length of connection event, default: 0x0010 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | max\_conn\_event\_len | [UINT16] | Maximum length of connection event, default: 0x0300 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | coded\_scan\_interval | [0-UINT16\_MAX] | Coded PHY Scan interval, default: 0x0010 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | coded\_scan\_window | [0-UINT16\_MAX] | Coded PHY Scan window, default: 0x0010 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | coded\_interval\_min | [0-UINT16\_MAX] | Coded PHY Minimum connection interval, default: 30 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | coded\_interval\_max | [0-UINT16\_MAX] | Coded PHY Maximum connection interval, default: 50 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | coded\_latency | [UINT16] | Coded PHY Connection latency, default: 0 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | coded\_timeout | [UINT16] | Coded PHY Connection timeout, default: 0x0100 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | coded\_min\_conn\_event\_len | [UINT16] | Coded PHY Minimum length of connection event, default: 0x0010 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | coded\_max\_conn\_event\_len | [UINT16] | Coded PHY Maximum length of connection event, default: 0x0300 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | 2M\_scan\_interval | [0-UINT16\_MAX] | 2M PHY Scan interval, default: 0x0010 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | 2M\_scan\_window | [0-UINT16\_MAX] | 2M PHY Scan window, default: 0x0010 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | 2M\_interval\_min | [0-UINT16\_MAX] | 2M PHY Minimum connection interval, default: 30 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | 2M\_interval\_max | [0-UINT16\_MAX] | 2M PHY Maximum connection interval, default: 50 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | 2M\_latency | [UINT16] | 2M PHY Connection latency, default: 0 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | 2M\_timeout | [UINT16] | 2M PHY Connection timeout, default: 0x0100 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | 2M\_min\_conn\_event\_len | [UINT16] | 2M PHY Minimum length of connection event, default: 0x0010 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | 2M\_max\_conn\_event\_len | [UINT16] | 2M PHY Maximum length of connection event, default: 0x0300 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| **disconnect** | | | Disconnect exisiting connection | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | conn | [UINT16] | Connection handle | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | reason | [UINT8] | Disconnect reason | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| **show-addr** | | | Show local public and random identity addresses | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| **show-conn** | | | Show current connections | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| **conn-rssi** | | | Obtain RSSI of specified connection | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | conn | [UINT16] | Connection handle | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| **conn-update-params** | | | Update parameters of specified connection | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | conn | [UINT16] | Connection handle | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | interval\_min | [0-UINT16\_MAX] | Minimum connection interval, default: 30 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | interval\_max | [0-UINT16\_MAX] | Maximum connection interval, default: 50 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | latency | [UINT16] | Connection latency, default: 0 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | timeout | [UINT16] | Connection timeout, default: 0x0100 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | min\_conn\_event\_len | [UINT16] | Minimum length of connection event, default: 0x0010 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | max\_conn\_event\_len | [UINT16] | Maximum length of connection event, default: 0x0300 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| **conn-datalen** | | | Set DLE parmaeters for connection | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | conn | [UINT16] | Connection handle | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | octets | [UINT16] | Maximum transmission packet size | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | time | [UINT16] | Maximum transmission packet time | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| **phy-set** | | | Set prefered PHYs used for connection | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | conn | [UINT16] | Connection handle | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | tx\_phys\_mask | [UINT8] | Prefered PHYs on TX is mask of following bits0x00 - no preference0x01 - 1M, 0x02 - 2M, 0x04 - Coded | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | rx\_phys\_mask | [UINT8] | Prefered PHYs on RX is mask of following bits0x00 - no preference0x01 - 1M, 0x02 - 2M, 0x04 - Coded | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | phy\_opts | [UINT16] | Options for Coded PHY 0 - any coding, 1 - prefer S2, 2 - prefer S8 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| **phy-set-default** | | | Set default prefered PHYs used for new connection | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | tx\_phys\_mask | [UINT8] | Prefered PHYs on TX is mask of following bits0x00 - no preference0x01 - 1M, 0x02 - 2M, 0x04 - Coded | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | rx\_phys\_mask | [UINT8] | Prefered PHYs on RX is mask of following bits0x00 - no preference0x01 - 1M, 0x02 - 2M, 0x04 - Coded | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| **phy-read** | | | Read connection current PHY | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | conn | [UINT16] | Connection handle | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| **l2cap-update** | | | Update connection parameters | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | interval\_min | [0-UINT16\_MAX] | Minimum connection interval, default: 30 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | interval\_max | [0-UINT16\_MAX] | Maximum connection interval, default: 50 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | latency | [UINT16] | Connection latency, default: 0 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ -| | timeout | [UINT16] | Connection timeout, default: 0x0100 | -+--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ +.. table:: Device discovery and connection + :widths: 15 25 20 40 + + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | **Command** | **Parameters** | **Possible values** | **Description** | + +==========================+================================+============================+============================================================================================================+ + | **scan** | | | Discover remote devices | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | cancel | | cancel ongoing scan procedure | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | extended | ``none`` | Start legacy scan | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | | 1M | Start extended scan on 1M PHY | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | | coded | Start extended scan on Coded PHY | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | | both | Start extended scan on both PHYs | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | duration | [1-``INT32_MAX``], | Duration of scan in milliseconds | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | limited | [``0``-1] | Use limited discovery procedure | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | passive | [``0``-1] | Use passive scan | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | interval | [``0``-UINT16\_MAX] | Scan interval, if 0 use stack's default | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | window | [``0``-UINT16\_MAX] | Scan window, if 0 use stack's default | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | filter | ``no_wl`` | Scan filter policy - Accept all advertising packets | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | | use\_wl | Accept only advertising packets from devices on White List | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | | no\_wl\_inita | Accept all advertising packets (including directed RPA) | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | | use\_wl\_inita | Accept only advertising packets from devices on White List (including directed RPA) | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | nodups | [``0``-1] | Disable duplicates filtering | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | own\_addr\_type | ``public`` | Use public address for scan requests | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | | random | Use random address for scan requests | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | | rpa\_pub | Use RPA address for scan requests (fallback to public if no IRK) | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | | rpa\_rnd | Use RPA address for scan requests (fallback to random if no IRK) | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | extended\_duration | [``0``-UINT16\_MAX] | Duration of extended scan in 10 milliseconds | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | extended\_period | [``0``-UINT16\_MAX] | Periodic scan interval in 1.28 seconds (0 disabled) | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | longrange\_interval | [``0``-UINT16\_MAX] | Scan interval for Coded Scan , if 0 use stack's default | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | longrange\_window | [``0``-UINT16\_MAX] | Scan window for Coded Scan , if 0 use stack's default | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | longrange\_passive | [``0``-1] | Use passive scan for Coded Scan | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | **connect** | | | Initiate connection to remote device | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | cancel | | Cancel ongoing connection procedure | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | extended | ``none`` | Use legacy connection procedure | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | | 1M | Extended connect using 1M PHY scan parameters | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | | coded | Extended connect using Coded PHY scan parameters | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | | both | Extended connect using 1M and Coded PHYs scan parameters | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | | all | Extended connect using 1M and Coded PHYs scan parameters (Provide also connection parameters for 2M PHY) | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | peer\_addr\_type | ``public`` | Remote device public address type | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | | random | Remote device random address type | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | | public\_id | Remote device public address type (Identity) | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | | random\_id | Remote device random address type (Identity) | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | peer\_addr | XX:XX:XX:XX:XX:XX | Remote device address | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | own\_addr\_type | ``public`` | Use public address for scan requests | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | | random | Use random address for scan requests | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | | rpa\_pub | Use RPA address for scan requests (fallback to public if no IRK) | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | | rpa\_rnd | Use RPA address for scan requests (fallback to random if no IRK) | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | duration | [``0``-INT32\_MAX] | Connection attempt duration, if 0 use stack's default | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | scan\_interval | [0-UINT16\_MAX] | Scan interval, default: 0x0010 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | scan\_window | [0-UINT16\_MAX] | Scan window, default: 0x0010 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | interval\_min | [0-UINT16\_MAX] | Minimum connection interval, default: 30 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | interval\_max | [0-UINT16\_MAX] | Maximum connection interval, default: 50 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | latency | [UINT16] | Connection latency, default: 0 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | timeout | [UINT16] | Connection timeout, default: 0x0100 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | min\_conn\_event\_len | [UINT16] | Minimum length of connection event, default: 0x0010 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | max\_conn\_event\_len | [UINT16] | Maximum length of connection event, default: 0x0300 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | coded\_scan\_interval | [0-UINT16\_MAX] | Coded PHY Scan interval, default: 0x0010 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | coded\_scan\_window | [0-UINT16\_MAX] | Coded PHY Scan window, default: 0x0010 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | coded\_interval\_min | [0-UINT16\_MAX] | Coded PHY Minimum connection interval, default: 30 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | coded\_interval\_max | [0-UINT16\_MAX] | Coded PHY Maximum connection interval, default: 50 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | coded\_latency | [UINT16] | Coded PHY Connection latency, default: 0 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | coded\_timeout | [UINT16] | Coded PHY Connection timeout, default: 0x0100 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | coded\_min\_conn\_event\_len | [UINT16] | Coded PHY Minimum length of connection event, default: 0x0010 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | coded\_max\_conn\_event\_len | [UINT16] | Coded PHY Maximum length of connection event, default: 0x0300 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | 2M\_scan\_interval | [0-UINT16\_MAX] | 2M PHY Scan interval, default: 0x0010 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | 2M\_scan\_window | [0-UINT16\_MAX] | 2M PHY Scan window, default: 0x0010 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | 2M\_interval\_min | [0-UINT16\_MAX] | 2M PHY Minimum connection interval, default: 30 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | 2M\_interval\_max | [0-UINT16\_MAX] | 2M PHY Maximum connection interval, default: 50 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | 2M\_latency | [UINT16] | 2M PHY Connection latency, default: 0 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | 2M\_timeout | [UINT16] | 2M PHY Connection timeout, default: 0x0100 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | 2M\_min\_conn\_event\_len | [UINT16] | 2M PHY Minimum length of connection event, default: 0x0010 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | 2M\_max\_conn\_event\_len | [UINT16] | 2M PHY Maximum length of connection event, default: 0x0300 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | **disconnect** | | | Disconnect exisiting connection | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | conn | [UINT16] | Connection handle | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | reason | [UINT8] | Disconnect reason | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | **show-addr** | | | Show local public and random identity addresses | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | **show-conn** | | | Show current connections | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | **conn-rssi** | | | Obtain RSSI of specified connection | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | conn | [UINT16] | Connection handle | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | **conn-update-params** | | | Update parameters of specified connection | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | conn | [UINT16] | Connection handle | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | interval\_min | [0-UINT16\_MAX] | Minimum connection interval, default: 30 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | interval\_max | [0-UINT16\_MAX] | Maximum connection interval, default: 50 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | latency | [UINT16] | Connection latency, default: 0 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | timeout | [UINT16] | Connection timeout, default: 0x0100 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | min\_conn\_event\_len | [UINT16] | Minimum length of connection event, default: 0x0010 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | max\_conn\_event\_len | [UINT16] | Maximum length of connection event, default: 0x0300 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | **conn-datalen** | | | Set DLE parmaeters for connection | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | conn | [UINT16] | Connection handle | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | octets | [UINT16] | Maximum transmission packet size | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | time | [UINT16] | Maximum transmission packet time | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | **phy-set** | | | Set prefered PHYs used for connection | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | conn | [UINT16] | Connection handle | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | tx\_phys\_mask | [UINT8] | Prefered PHYs on TX is mask of following bits0x00 - no preference0x01 - 1M, 0x02 - 2M, 0x04 - Coded | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | rx\_phys\_mask | [UINT8] | Prefered PHYs on RX is mask of following bits0x00 - no preference0x01 - 1M, 0x02 - 2M, 0x04 - Coded | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | phy\_opts | [UINT16] | Options for Coded PHY 0 - any coding, 1 - prefer S2, 2 - prefer S8 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | **phy-set-default** | | | Set default prefered PHYs used for new connection | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | tx\_phys\_mask | [UINT8] | Prefered PHYs on TX is mask of following bits0x00 - no preference0x01 - 1M, 0x02 - 2M, 0x04 - Coded | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | rx\_phys\_mask | [UINT8] | Prefered PHYs on RX is mask of following bits0x00 - no preference0x01 - 1M, 0x02 - 2M, 0x04 - Coded | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | **phy-read** | | | Read connection current PHY | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | conn | [UINT16] | Connection handle | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | **l2cap-update** | | | Update connection parameters | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | interval\_min | [0-UINT16\_MAX] | Minimum connection interval, default: 30 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | interval\_max | [0-UINT16\_MAX] | Maximum connection interval, default: 50 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | latency | [UINT16] | Connection latency, default: 0 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ + | | timeout | [UINT16] | Connection timeout, default: 0x0100 | + +--------------------------+--------------------------------+----------------------------+------------------------------------------------------------------------------------------------------------+ Security -------- -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| **Command** | **Parmeters** | \*\* Possible values\*\* | **Description** | -+===========================+====================+============================+============================================================================================================================+ -| **security-set-data** | | | Set security configuration | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| | oob-flag | [``0``-1] | Set Out-Of-Band (OOB) flag in Security Manager | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| | mitm-flag | [``0``-1] | Set Man-In-The-Middle (MITM) flag in Security Manager | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| | io\_capabilities | 0 | Set Input-Output Capabilities to "DisplayOnly" | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| | | 1 | Set Input-Output Capabilities to "DisplayYesNo" | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| | | 2 | Set Input-Output Capabilities to "KeyboardOnly" | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| | | 3 | Set Input-Output Capabilities to "NoInputNoOutput" | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| | | 4 | Set Input-Output Capabilities to "KeyboardDisplay" | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| | our\_key\_dist | [UINT8] | Set Local Keys Distribution, this is a bit field of possible values: LTK (0x01), IRK (0x02), CSRK (0x04), LTK\_SC(0x08) | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| | their\_key\_dist | [UINT8] | Set Remote Keys Distribution, this is a bit field of possible values: LTK (0x01), IRK (0x02), CSRK (0x04), LTK\_SC(0x08) | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| | bonding-flag | [``0``-1] | Set Bonding flag in Security Manager | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| | sc-flag | [``0``-1] | Set Secure Connections flag in Security Manager | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| **security-pair** | | | Start pairing procedure | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| | conn | [UINT16] | Connection handle | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| **security-encryption** | | | Start encryption procedure | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| | conn | [UINT16] | Connection handle | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| | ediv | [UINT16] | EDIV for LTK to use (use storage if not provided) | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| | rand | [UINT64] | Rand for LTK | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| | ltk | XX:XX:XX... | LTK (16 bytes) | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| **security-start** | | | Start security procedure (This starts either pairing or encryption depending if keys are stored) | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| | conn | [UINT16] | Connection handle | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| **auth-passkey** | | | Reply to Passkey request | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| | conn | [UINT16] | Connection handle | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| | action | [UINT16] | Action to reply (as received in event) | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| | key | [0-999999] | Passkey to reply (Input or Display action) | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| | oob | XX:XX:XX:... | Out-Of-Band secret (16 bytes) (OOB action) | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ -| | yesno | Yy-Ny | Confirm passkey (for Passkey Confirm action) | -+---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ +.. table:: Security + :widths: 15 15 15 55 + + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | **Command** | **Parameters** | **Possible values** | **Description** | + +===========================+====================+============================+============================================================================================================================+ + | **security-set-data** | | | Set security configuration | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | | oob-flag | [``0``-1] | Set Out-Of-Band (OOB) flag in Security Manager | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | | mitm-flag | [``0``-1] | Set Man-In-The-Middle (MITM) flag in Security Manager | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | | io\_capabilities | 0 | Set Input-Output Capabilities to "DisplayOnly" | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | | | 1 | Set Input-Output Capabilities to "DisplayYesNo" | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | | | 2 | Set Input-Output Capabilities to "KeyboardOnly" | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | | | 3 | Set Input-Output Capabilities to "NoInputNoOutput" | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | | | 4 | Set Input-Output Capabilities to "KeyboardDisplay" | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | | our\_key\_dist | [UINT8] | Set Local Keys Distribution, this is a bit field of possible values: LTK (0x01), IRK (0x02), CSRK (0x04), LTK\_SC(0x08) | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | | their\_key\_dist | [UINT8] | Set Remote Keys Distribution, this is a bit field of possible values: LTK (0x01), IRK (0x02), CSRK (0x04), LTK\_SC(0x08) | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | | bonding-flag | [``0``-1] | Set Bonding flag in Security Manager | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | | sc-flag | [``0``-1] | Set Secure Connections flag in Security Manager | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | **security-pair** | | | Start pairing procedure | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | | conn | [UINT16] | Connection handle | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | **security-encryption** | | | Start encryption procedure | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | | conn | [UINT16] | Connection handle | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | | ediv | [UINT16] | EDIV for LTK to use (use storage if not provided) | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | | rand | [UINT64] | Rand for LTK | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | | ltk | XX:XX:XX... | LTK (16 bytes) | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | **security-start** | | | Start security procedure (This starts either pairing or encryption depending if keys are stored) | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | | conn | [UINT16] | Connection handle | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | **auth-passkey** | | | Reply to Passkey request | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | | conn | [UINT16] | Connection handle | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | | action | [UINT16] | Action to reply (as received in event) | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | | key | [0-999999] | Passkey to reply (Input or Display action) | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | | oob | XX:XX:XX:... | Out-Of-Band secret (16 bytes) (OOB action) | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ + | | yesno | Yy-Ny | Confirm passkey (for Passkey Confirm action) | + +---------------------------+--------------------+----------------------------+----------------------------------------------------------------------------------------------------------------------------+ Advertising with Extended Advertising enabled --------------------------------------------- -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| **Command** | **Parmeters** | \*\* Possible values\*\* | **Description** | -+==============================+==========================+============================+=====================================================================================+ -| **advertise-configure** | | | Configure new advertising instance | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | instance | [``0``-UINT8\_MAX] | Advertising instance | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | connectable | [``0``-1] | Use connectable advertising | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | scannable | [``0``-1] | Use scannable advertising | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | peer\_addr\_type | ``public`` | Remote device public address type | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | random | Remote device random address type | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | public\_id | Remote device public address type (Identity) | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | random\_id | Remote device random address type (Identity) | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | peer\_addr | XX:XX:XX:XX:XX:XX | Remote device address - if provided perform directed advertising | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | own\_addr\_type | ``public`` | Use public address for scan requests | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | random | Use random address for scan requests | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | rpa\_pub | Use RPA address for scan requests (fallback to public if no IRK) | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | rpa\_rnd | Use RPA address for scan requests (fallback to random if no IRK) | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | channel\_map | [``0``-UINT8\_MAX} | Primary advertising channels map. If 0 use all channels. | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | filter | ``none`` | Advertising filter policy - no filtering, no whitelist used | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | scan | process all connection requests but only scans from white list | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | conn | process all scan request but only connection requests from white list | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | both | ignore all scan and connection requests unless in white list | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | interval\_min | [``0``-UINT32\_MAX] | Minimum advertising interval in 0.625 miliseconds If 0 use stack default. | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | interval\_max | [``0``-UINT32\_MAX] | Maximum advertising interval in 0.625 miliseconds If 0 use stack default. | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | rx\_power | [-127 - ``127``] | Advertising TX power in dBm | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | primary\_phy | ``1M`` | Use 1M PHY on primary advertising channels | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | ``coded`` | Use Coded PHY on primary advertising channels | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | secondary\_phy | ``1M`` | Use 1M PHY on secondary advertising channels | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | ``coded`` | Use coded PHY on primary advertising channels | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | ``2M`` | Use 2M PHY on primary advertising channels | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | sid | [``0``-16] | Adsertising instance SID | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | high\_duty | [``0``-1] | Use high\_duty advertising | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | anonymous | [``0``-1] | Use anonymous advertising | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | legacy | [``0``-1] | Use legacy PDUs for advertising | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | include\_tx\_power | [``0``-1] | Include TX power information in advertising PDUs | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | scan\_req\_notif | [``0``-1] | Enable SCAN\_REQ notifications | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| **advertise-set-addr** | | | Configure *random* address for instance | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | instance | [``0``-UINT8\_MAX] | Advertising instance | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | addr | XX:XX:XX:XX:XX:XX | Random address | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| **advertise-set-adv-data** | | | Configure advertising instance ADV\_DATA. This allow to configure following TLVs: | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| **advertise-set-scan-rsp** | | | Configure advertising instance SCAN\_RSP. This allow to configure following TLVs: | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | instance | [``0``-UINT8\_MAX] | Advertising instance | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | flags | [``0``-UINT8\_MAX] | Flags value | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | uuid16 | [UINT16] | 16-bit UUID value (can be passed multiple times) | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | uuid16\_is\_complete | [``0``-1] | I 16-bit UUID list is complete | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | uuid32 | [UINT32] | 32-bit UUID value (can be passed multiple times) | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | uuid32\_is\_complete | [``0``-1] | I 32-bit UUID list is complete | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | uuid128 | XX:XX:XX:... | 128-bit UUID value (16 bytes) (can be passed multiple times) | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | uuid128\_is\_complete | [``0``-1] | I 128-bit UUID list is complete | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | tx\_power\_level | [-127 - 127] | TX Power level to include | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | appearance | [UINT16] | Appearance | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | name | string | Name | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | advertising\_interval | [UINT16] | Advertising interval | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | service\_data\_uuid32 | XX:XX:XX:... | 32-bit UUID service data | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | service\_data\_uuid128 | XX:XX:XX:... | 128-bit UUID service data | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | uri | XX:XX:XX:... | URI | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | msg\_data | XX:XX:XX:... | Manufacturer data | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | eddystone\_url | string | Eddystone with specified URL | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| **advertise-start** | | | Start advertising with configured instance | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | instance | [``0``-UINT8\_MAX] | Advertising instance | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | duration | [``0``-UINT16\_MAX] | Advertising duration in 10ms units. 0 - forver | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | max\_events | [``0``-UINT8\_MAX] | Maximum number of advertising events. 0 - no limit | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| **advertise-stop** | | | Stop advertising | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | instance | [``0``-UINT8\_MAX] | Advertising instance | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| **advertise-remove** | | | Remove configured advertising instance | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | instance | [``0``-UINT8\_MAX] | Advertising instance | -+------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ +.. table:: Advertising with Extended Advertising enabled + :widths: 15 20 20 45 + + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | **Command** | **Parameters** | **Possible values** | **Description** | + +==============================+==========================+============================+=====================================================================================+ + | **advertise-configure** | | | Configure new advertising instance | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | instance | [``0``-UINT8\_MAX] | Advertising instance | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | connectable | [``0``-1] | Use connectable advertising | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | scannable | [``0``-1] | Use scannable advertising | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | peer\_addr\_type | ``public`` | Remote device public address type | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | random | Remote device random address type | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | public\_id | Remote device public address type (Identity) | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | random\_id | Remote device random address type (Identity) | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | peer\_addr | XX:XX:XX:XX:XX:XX | Remote device address - if provided perform directed advertising | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | own\_addr\_type | ``public`` | Use public address for scan requests | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | random | Use random address for scan requests | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | rpa\_pub | Use RPA address for scan requests (fallback to public if no IRK) | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | rpa\_rnd | Use RPA address for scan requests (fallback to random if no IRK) | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | channel\_map | [``0``-UINT8\_MAX} | Primary advertising channels map. If 0 use all channels. | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | filter | ``none`` | Advertising filter policy - no filtering, no whitelist used | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | scan | process all connection requests but only scans from white list | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | conn | process all scan request but only connection requests from white list | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | both | ignore all scan and connection requests unless in white list | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | interval\_min | [``0``-UINT32\_MAX] | Minimum advertising interval in 0.625 miliseconds If 0 use stack default. | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | interval\_max | [``0``-UINT32\_MAX] | Maximum advertising interval in 0.625 miliseconds If 0 use stack default. | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | rx\_power | [-127 - ``127``] | Advertising TX power in dBm | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | primary\_phy | ``1M`` | Use 1M PHY on primary advertising channels | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | ``coded`` | Use Coded PHY on primary advertising channels | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | secondary\_phy | ``1M`` | Use 1M PHY on secondary advertising channels | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | ``coded`` | Use coded PHY on primary advertising channels | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | ``2M`` | Use 2M PHY on primary advertising channels | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | sid | [``0``-16] | Adsertising instance SID | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | high\_duty | [``0``-1] | Use high\_duty advertising | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | anonymous | [``0``-1] | Use anonymous advertising | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | legacy | [``0``-1] | Use legacy PDUs for advertising | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | include\_tx\_power | [``0``-1] | Include TX power information in advertising PDUs | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | scan\_req\_notif | [``0``-1] | Enable SCAN\_REQ notifications | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | **advertise-set-addr** | | | Configure *random* address for instance | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | instance | [``0``-UINT8\_MAX] | Advertising instance | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | addr | XX:XX:XX:XX:XX:XX | Random address | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | **advertise-set-adv-data** | | | Configure advertising instance ADV\_DATA. This allow to configure following TLVs: | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | **advertise-set-scan-rsp** | | | Configure advertising instance SCAN\_RSP. This allow to configure following TLVs: | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | instance | [``0``-UINT8\_MAX] | Advertising instance | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | flags | [``0``-UINT8\_MAX] | Flags value | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | uuid16 | [UINT16] | 16-bit UUID value (can be passed multiple times) | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | uuid16\_is\_complete | [``0``-1] | I 16-bit UUID list is complete | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | uuid32 | [UINT32] | 32-bit UUID value (can be passed multiple times) | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | uuid32\_is\_complete | [``0``-1] | I 32-bit UUID list is complete | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | uuid128 | XX:XX:XX:... | 128-bit UUID value (16 bytes) (can be passed multiple times) | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | uuid128\_is\_complete | [``0``-1] | I 128-bit UUID list is complete | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | tx\_power\_level | [-127 - 127] | TX Power level to include | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | appearance | [UINT16] | Appearance | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | name | string | Name | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | advertising\_interval | [UINT16] | Advertising interval | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | service\_data\_uuid32 | XX:XX:XX:... | 32-bit UUID service data | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | service\_data\_uuid128 | XX:XX:XX:... | 128-bit UUID service data | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | uri | XX:XX:XX:... | URI | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | msg\_data | XX:XX:XX:... | Manufacturer data | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | eddystone\_url | string | Eddystone with specified URL | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | **advertise-start** | | | Start advertising with configured instance | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | instance | [``0``-UINT8\_MAX] | Advertising instance | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | duration | [``0``-UINT16\_MAX] | Advertising duration in 10ms units. 0 - forver | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | max\_events | [``0``-UINT8\_MAX] | Maximum number of advertising events. 0 - no limit | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | **advertise-stop** | | | Stop advertising | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | instance | [``0``-UINT8\_MAX] | Advertising instance | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | **advertise-remove** | | | Remove configured advertising instance | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | instance | [``0``-UINT8\_MAX] | Advertising instance | + +------------------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ Legacy Advertising with Extended Advertising disabled ----------------------------------------------------- -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| **Command** | **Parmeters** | \*\* Possible values\*\* | **Description** | -+====================+==========================+============================+=====================================================================================+ -| **advertise** | | | Enable advertising | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | stop | | Stop enabled advertising | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | conn | ``und`` | Connectable mode: undirected | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | non | non-connectable | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | dir | directed | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | discov | ``gen`` | Discoverable mode: general discoverable | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | ltd | limited discoverable | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | non | non-discoverable | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | scannable | [``0``-1] | Use scannable advertising | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | peer\_addr\_type | ``public`` | Remote device public address type | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | random | Remote device random address type | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | public\_id | Remote device public address type (Identity) | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | random\_id | Remote device random address type (Identity) | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | peer\_addr | XX:XX:XX:XX:XX:XX | Remote device address - if provided perform directed advertising | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | own\_addr\_type | ``public`` | Use public address for scan requests | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | random | Use random address for scan requests | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | rpa\_pub | Use RPA address for scan requests (fallback to public if no IRK) | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | rpa\_rnd | Use RPA address for scan requests (fallback to random if no IRK) | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | channel\_map | [``0``-UINT8\_MAX} | Primary advertising channels map. If 0 use all channels. | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | filter | ``none`` | Advertising filter policy - no filtering, no whitelist used | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | scan | process all connection requests but only scans from white list | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | conn | process all scan request but only connection requests from white list | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | | both | ignore all scan and connection requests unless in white list | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | interval\_min | [``0``-UINT32\_MAX] | Minimum advertising interval in 0.625 miliseconds If 0 use stack default. | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | interval\_max | [``0``-UINT32\_MAX] | Maximum advertising interval in 0.625 miliseconds If 0 use stack default. | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | high\_duty | [``0``-1] | Use high\_duty advertising | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | duration | [``1``-INT32\_MAX] | Advertising duration in ms | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| **set-adv-data** | | | Configure advertising instance ADV\_DATA. This allow to configure following TLVs: | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| **set-scan-rsp** | | | Configure advertising instance SCAN\_RSP. This allow to configure following TLVs: | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | flags | [``0``-UINT8\_MAX] | Flags value | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | uuid16 | [UINT16] | 16-bit UUID value (can be passed multiple times) | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | uuid16\_is\_complete | [``0``-1] | I 16-bit UUID list is complete | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | uuid32 | [UINT32] | 32-bit UUID value (can be passed multiple times) | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | uuid32\_is\_complete | [``0``-1] | I 32-bit UUID list is complete | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | uuid128 | XX:XX:XX:... | 128-bit UUID value (16 bytes) (can be passed multiple times) | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | uuid128\_is\_complete | [``0``-1] | I 128-bit UUID list is complete | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | tx\_power\_level | [-127 - 127] | TX Power level to include | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | appearance | [UINT16] | Appearance | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | name | string | Name | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | advertising\_interval | [UINT16] | Advertising interval | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | service\_data\_uuid32 | XX:XX:XX:... | 32-bit UUID service data | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | service\_data\_uuid128 | XX:XX:XX:... | 128-bit UUID service data | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | uri | XX:XX:XX:... | URI | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | msg\_data | XX:XX:XX:... | Manufacturer data | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ -| | eddystone\_url | string | Eddystone with specified URL | -+--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ +.. table:: Legacy Advertising with Extended Advertising disabled + :widths: 15 20 20 45 + + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | **Command** | **Parameters** | **Possible values** | **Description** | + +====================+==========================+============================+=====================================================================================+ + | **advertise** | | | Enable advertising | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | stop | | Stop enabled advertising | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | conn | ``und`` | Connectable mode: undirected | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | non | non-connectable | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | dir | directed | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | discov | ``gen`` | Discoverable mode: general discoverable | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | ltd | limited discoverable | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | non | non-discoverable | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | scannable | [``0``-1] | Use scannable advertising | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | peer\_addr\_type | ``public`` | Remote device public address type | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | random | Remote device random address type | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | public\_id | Remote device public address type (Identity) | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | random\_id | Remote device random address type (Identity) | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | peer\_addr | XX:XX:XX:XX:XX:XX | Remote device address - if provided perform directed advertising | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | own\_addr\_type | ``public`` | Use public address for scan requests | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | random | Use random address for scan requests | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | rpa\_pub | Use RPA address for scan requests (fallback to public if no IRK) | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | rpa\_rnd | Use RPA address for scan requests (fallback to random if no IRK) | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | channel\_map | [``0``-UINT8\_MAX} | Primary advertising channels map. If 0 use all channels. | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | filter | ``none`` | Advertising filter policy - no filtering, no whitelist used | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | scan | process all connection requests but only scans from white list | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | conn | process all scan request but only connection requests from white list | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | | both | ignore all scan and connection requests unless in white list | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | interval\_min | [``0``-UINT32\_MAX] | Minimum advertising interval in 0.625 miliseconds If 0 use stack default. | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | interval\_max | [``0``-UINT32\_MAX] | Maximum advertising interval in 0.625 miliseconds If 0 use stack default. | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | high\_duty | [``0``-1] | Use high\_duty advertising | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | duration | [``1``-INT32\_MAX] | Advertising duration in ms | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | **set-adv-data** | | | Configure advertising instance ADV\_DATA. This allow to configure following TLVs: | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | **set-scan-rsp** | | | Configure advertising instance SCAN\_RSP. This allow to configure following TLVs: | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | flags | [``0``-UINT8\_MAX] | Flags value | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | uuid16 | [UINT16] | 16-bit UUID value (can be passed multiple times) | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | uuid16\_is\_complete | [``0``-1] | I 16-bit UUID list is complete | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | uuid32 | [UINT32] | 32-bit UUID value (can be passed multiple times) | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | uuid32\_is\_complete | [``0``-1] | I 32-bit UUID list is complete | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | uuid128 | XX:XX:XX:... | 128-bit UUID value (16 bytes) (can be passed multiple times) | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | uuid128\_is\_complete | [``0``-1] | I 128-bit UUID list is complete | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | tx\_power\_level | [-127 - 127] | TX Power level to include | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | appearance | [UINT16] | Appearance | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | name | string | Name | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | advertising\_interval | [UINT16] | Advertising interval | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | service\_data\_uuid32 | XX:XX:XX:... | 32-bit UUID service data | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | service\_data\_uuid128 | XX:XX:XX:... | 128-bit UUID service data | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | uri | XX:XX:XX:... | URI | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | msg\_data | XX:XX:XX:... | Manufacturer data | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ + | | eddystone\_url | string | Eddystone with specified URL | + +--------------------+--------------------------+----------------------------+-------------------------------------------------------------------------------------+ L2CAP Connection Oriented Channels ---------------------------------- -+---------------------------+-----------------+----------------------------+----------------------------------------------------+ -| **Command** | **Parmeters** | \*\* Possible values\*\* | **Description** | -+===========================+=================+============================+====================================================+ -| **l2cap-create-server** | | | Create L2CAP server | -+---------------------------+-----------------+----------------------------+----------------------------------------------------+ -| | psm | [UINT16] | PSM | -+---------------------------+-----------------+----------------------------+----------------------------------------------------+ -| **l2cap-connect** | | | Connect to remote L2CAP server | -+---------------------------+-----------------+----------------------------+----------------------------------------------------+ -| | conn | [UINT16] | Connection handle | -+---------------------------+-----------------+----------------------------+----------------------------------------------------+ -| | psm | [UINT16] | PSM | -+---------------------------+-----------------+----------------------------+----------------------------------------------------+ -| **l2cap-disconnect** | | | Disconnec from L2CAP server | -+---------------------------+-----------------+----------------------------+----------------------------------------------------+ -| | conn | [UINT16] | Connection handle | -+---------------------------+-----------------+----------------------------+----------------------------------------------------+ -| | idx | [UINT16] | L2CAP connection oriented channel identifier | -+---------------------------+-----------------+----------------------------+----------------------------------------------------+ -| **l2cap-send** | | | Send data over connected L2CAP channel | -+---------------------------+-----------------+----------------------------+----------------------------------------------------+ -| | conn | [UINT16] | Connection handle | -+---------------------------+-----------------+----------------------------+----------------------------------------------------+ -| | idx | [UINT16] | L2CAP connection oriented channel identifier | -+---------------------------+-----------------+----------------------------+----------------------------------------------------+ -| | bytes | [UINT16] | Number of bytes to send (hardcoded data pattern) | -+---------------------------+-----------------+----------------------------+----------------------------------------------------+ -| **l2cap-show-coc** | | | Show connected L2CAP channels | -+---------------------------+-----------------+----------------------------+----------------------------------------------------+ +.. table:: L2CAP Connection Oriented Channels + :widths: 25 15 15 45 + + +---------------------------+-----------------+----------------------------+----------------------------------------------------+ + | **Command** | **Parameters** | **Possible values** | **Description** | + +===========================+=================+============================+====================================================+ + | **l2cap-create-server** | | | Create L2CAP server | + +---------------------------+-----------------+----------------------------+----------------------------------------------------+ + | | psm | [UINT16] | PSM | + +---------------------------+-----------------+----------------------------+----------------------------------------------------+ + | **l2cap-connect** | | | Connect to remote L2CAP server | + +---------------------------+-----------------+----------------------------+----------------------------------------------------+ + | | conn | [UINT16] | Connection handle | + +---------------------------+-----------------+----------------------------+----------------------------------------------------+ + | | psm | [UINT16] | PSM | + +---------------------------+-----------------+----------------------------+----------------------------------------------------+ + | **l2cap-disconnect** | | | Disconnec from L2CAP server | + +---------------------------+-----------------+----------------------------+----------------------------------------------------+ + | | conn | [UINT16] | Connection handle | + +---------------------------+-----------------+----------------------------+----------------------------------------------------+ + | | idx | [UINT16] | L2CAP connection oriented channel identifier | + +---------------------------+-----------------+----------------------------+----------------------------------------------------+ + | **l2cap-send** | | | Send data over connected L2CAP channel | + +---------------------------+-----------------+----------------------------+----------------------------------------------------+ + | | conn | [UINT16] | Connection handle | + +---------------------------+-----------------+----------------------------+----------------------------------------------------+ + | | idx | [UINT16] | L2CAP connection oriented channel identifier | + +---------------------------+-----------------+----------------------------+----------------------------------------------------+ + | | bytes | [UINT16] | Number of bytes to send (hardcoded data pattern) | + +---------------------------+-----------------+----------------------------+----------------------------------------------------+ + | **l2cap-show-coc** | | | Show connected L2CAP channels | + +---------------------------+-----------------+----------------------------+----------------------------------------------------+ Keys storage ------------ -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| **Command** | **Parmeters** | \*\* Possible values\*\* | **Description** | -+=====================+=================+============================+====================================================+ -| **keystore-add** | | | Add keys to storage | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| | type | msec | Master Key | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| | | ssec | Slave Key | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| | | cccd | Client Characteristic Configuration Descriptor | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| | addr | XX:XX:XX:XX:XX:XX | Device address | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| | addr\_type | ``public`` | Device address type | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| | | random | Use random address for scan requests | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| | ediv | [UINT16] | EDIV for LTK to add | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| | rand | [UINT64] | Rand for LTK | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| | ltk | XX:XX:XX... | LTK (16 bytes) | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| | irk | XX:XX:XX... | Identity Resolving Key (16 bytes) | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| | csrk | XX:XX:XX... | Connection Signature Resolving Key (16 bytes) | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| **keystore-del** | | | Delete keys from storage | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| | type | msec | Master Key | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| | | ssec | Slave Key | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| | | cccd | Client Characteristic Configuration Descriptor | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| | addr | XX:XX:XX:XX:XX:XX | Device address | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| | addr\_type | ``public`` | Device address type | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| | | random | Use random address for scan requests | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| | ediv | [UINT16] | EDIV for LTK to remove | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| | rand | [UINT64] | Rand for LTK | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| **keystore-show** | | | Show stored keys | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| | type | msec | Master Keys | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| | | ssec | Slave Keys | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ -| | | cccd | Client Characteristic Configuration Descriptor s | -+---------------------+-----------------+----------------------------+----------------------------------------------------+ +.. table:: Keys storage + :widths: 20 15 20 45 + + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | **Command** | **Parameters** | **Possible values** | **Description** | + +=====================+=================+============================+====================================================+ + | **keystore-add** | | | Add keys to storage | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | | type | msec | Master Key | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | | | ssec | Slave Key | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | | | cccd | Client Characteristic Configuration Descriptor | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | | addr | XX:XX:XX:XX:XX:XX | Device address | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | | addr\_type | ``public`` | Device address type | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | | | random | Use random address for scan requests | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | | ediv | [UINT16] | EDIV for LTK to add | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | | rand | [UINT64] | Rand for LTK | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | | ltk | XX:XX:XX... | LTK (16 bytes) | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | | irk | XX:XX:XX... | Identity Resolving Key (16 bytes) | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | | csrk | XX:XX:XX... | Connection Signature Resolving Key (16 bytes) | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | **keystore-del** | | | Delete keys from storage | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | | type | msec | Master Key | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | | | ssec | Slave Key | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | | | cccd | Client Characteristic Configuration Descriptor | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | | addr | XX:XX:XX:XX:XX:XX | Device address | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | | addr\_type | ``public`` | Device address type | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | | | random | Use random address for scan requests | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | | ediv | [UINT16] | EDIV for LTK to remove | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | | rand | [UINT64] | Rand for LTK | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | **keystore-show** | | | Show stored keys | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | | type | msec | Master Keys | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | | | ssec | Slave Keys | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ + | | | cccd | Client Characteristic Configuration Descriptors | + +---------------------+-----------------+----------------------------+----------------------------------------------------+ diff --git a/docs/btshell/btshell_GATT.rst b/docs/btshell/btshell_GATT.rst index 0fe465fe5b..5468e49c4f 100644 --- a/docs/btshell/btshell_GATT.rst +++ b/docs/btshell/btshell_GATT.rst @@ -1,108 +1,109 @@ GATT feature API for btshell ============================ -GATT(GENERIC ATTRIBUTE PROFILE) describes a service framework using the Attribute Protocol for discovering services, +Generic Attribute Profile (GATT) describes a service framework using the Attribute Protocol for discovering services, and for reading and writing characteristic values on a peer device. There are 11 features defined in the GATT Profile, and each of the features is mapped to procedures and sub-procedures: Available commands ~~~~~~~~~~~~~~~~~~ -Parameters default values (if applicable) are marked red. - Configuration ------------- -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| **Command** | **Parmeters** | \*\* Possible values\*\* | **Description** | -+====================================+=================+============================+===========================================================+ -| **gatt-discover-characteristic** | | | Discover GATT characteristics | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | conn | [UINT16] | Connection handle | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | uuid | [UINT16] | Characteristic UUID | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | start | [UINT16] | Discovery start handle | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | end | [UINT16] | Discovery end handle | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| **gatt-discover-descriptor** | | | Discover GATT descriptors | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | conn | [UINT16] | Connection handle | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | start | [UINT16] | Discovery start handle | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | end | [UINT16] | Discovery end handle | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| **gatt-discover-service** | | | Discover services | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | conn | [UINT16] | Connection handle | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | uuid16 | [UINT16] | Service UUID | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| **gatt-discover-full** | | | Discover services, characteristic and descriptors | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | conn | [UINT16] | Connection handle | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| **gatt-find-included-services** | | | Find included services | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | conn | [UINT16] | Connection handle | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | start | [UINT16] | Discovery start handle | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | end | [UINT16] | Discovery end handle | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| **gatt-exchange-mtu** | | | Initiate ATT MTU exchange procedure | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | conn | [UINT16] | Connection handle | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| **gatt-read** | | | Read attribute | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | conn | [UINT16] | Connection handle | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | long | [``0``-1] | Long read | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | attr | [UINT16] | Attribute handle | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | offset | [UINT16] | Long read offset value | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | uuid | [UINT16] | Characteristic UUID | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | start | [UINT16] | Discovery start handle | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | end | [UINT16] | Discovery end handle | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| **gatt-notify** | | | Send notification or indication to all subscribed peers | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | attr | [UINT16] | Attribute handle | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| **gatt-service-changed** | | | Send Services Changed notification | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | start | [UINT16] | Start handle | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | end | [UINT16] | End handle | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| **gatt-service-visibility** | | | Set service visibility | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | handle | [UINT16] | Service handle | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | visibility | [``0``-1] | Service visibility | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| **gatt-show** | | | Show remote devices discovered databases structure | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| **gatt-show-local** | | | Show local database structure | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| **gatt-write** | | | Write attribute | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | conn | [UINT16] | Connection handle | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | no\_rsp | [``0``-1] | Use Write Without Response | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | long | [``0``-1] | Use Long Write procedure | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | attr | [UINT16] | Attribute handle | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | offset | [UINT16] | Long write offset value | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ -| | value | XX:XX:XX... | Data to write | -+------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ +.. table:: Configuration + :widths: 20 15 20 45 + + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | **Command** | **Parmeters** | **Possible values** | **Description** | + +====================================+=================+============================+===========================================================+ + | **gatt-discover-characteristic** | | | Discover GATT characteristics | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | conn | [UINT16] | Connection handle | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | uuid | [UINT16] | Characteristic UUID | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | start | [UINT16] | Discovery start handle | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | end | [UINT16] | Discovery end handle | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | **gatt-discover-descriptor** | | | Discover GATT descriptors | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | conn | [UINT16] | Connection handle | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | start | [UINT16] | Discovery start handle | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | end | [UINT16] | Discovery end handle | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | **gatt-discover-service** | | | Discover services | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | conn | [UINT16] | Connection handle | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | uuid16 | [UINT16] | Service UUID | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | **gatt-discover-full** | | | Discover services, characteristic and descriptors | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | conn | [UINT16] | Connection handle | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | **gatt-find-included-services** | | | Find included services | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | conn | [UINT16] | Connection handle | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | start | [UINT16] | Discovery start handle | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | end | [UINT16] | Discovery end handle | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | **gatt-exchange-mtu** | | | Initiate ATT MTU exchange procedure | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | conn | [UINT16] | Connection handle | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | **gatt-read** | | | Read attribute | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | conn | [UINT16] | Connection handle | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | long | [``0``-1] | Long read | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | attr | [UINT16] | Attribute handle | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | offset | [UINT16] | Long read offset value | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | uuid | [UINT16] | Characteristic UUID | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | start | [UINT16] | Discovery start handle | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | end | [UINT16] | Discovery end handle | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | **gatt-notify** | | | Send notification or indication to all subscribed peers | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | attr | [UINT16] | Attribute handle | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | **gatt-service-changed** | | | Send Services Changed notification | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | start | [UINT16] | Start handle | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | end | [UINT16] | End handle | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | **gatt-service-visibility** | | | Set service visibility | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | handle | [UINT16] | Service handle | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | visibility | [``0``-1] | Service visibility | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | **gatt-show** | | | Show remote devices discovered databases structure | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | **gatt-show-local** | | | Show local database structure | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | **gatt-write** | | | Write attribute | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | conn | [UINT16] | Connection handle | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | no\_rsp | [``0``-1] | Use Write Without Response | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | long | [``0``-1] | Use Long Write procedure | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | attr | [UINT16] | Attribute handle | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | offset | [UINT16] | Long write offset value | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ + | | value | XX:XX:XX... | Data to write | + +------------------------------------+-----------------+----------------------------+-----------------------------------------------------------+ diff --git a/docs/btshell/btshell_advdata.rst b/docs/btshell/btshell_advdata.rst index eabfcb3b84..b533cb069b 100644 --- a/docs/btshell/btshell_advdata.rst +++ b/docs/btshell/btshell_advdata.rst @@ -6,42 +6,46 @@ formats used for Extended Inquiry Response (EIR), Advertising Data (AD), and OOB to the Bluetooth Core Specification, CSSv6, available for download `here `__. -+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ -| **Name** | **Definition** | **Details** | **btshell Notes** | -+===========================+=====================================================+===========================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================+==============================================+ -| flags | Indicates basic information about the advertiser. | Flags used over the LE physical channel are: \* Limited Discoverable Mode \* General Discoverable Mode \* BR/EDR Not Supported \* Simultaneous LE and BR/EDR to Same Device Capable (Controller) \* Simultaneous LE and BR/EDR to Same Device Capable (Host) | NimBLE will auto-calculate if set to 0. | -+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ -| uuid16 | 16-bit Bluetooth Service UUIDs | Indicates the Service UUID list is incomplete i.e. more 16-bit Service UUIDs available. 16 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG. | Set repeatedly for multiple service UUIDs. | -+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ -| uuid16\_is\_complete | 16-bit Bluetooth Service UUIDs | Indicates the Service UUID list is complete. 16 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG. | | -+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ -| uuid32 | 32-bit Bluetooth Service UUIDs | Indicates the Service UUID list is incomplete i.e. more 32-bit Service UUIDs available. 32 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG. | Set repeatedly for multiple service UUIDs. | -+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ -| uuid32\_is\_complete | 32-bit Bluetooth Service UUIDs | Indicates the Service UUID list is complete. 32 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG. | | -+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ -| uuid128 | Global 128-bit Service UUIDs | More 128-bit Service UUIDs available. | Set repeatedly for multiple service UUIDs. | -+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ -| uuid128\_is\_complete | Global 128-bit Service UUIDs | Complete list of 128-bit Service UUIDs | | -+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ -| tx\_power\_level | TX Power Level | Indicates the transmitted power level of the packet containing the data type. The TX Power Level data type may be used to calculate path loss on a received packet using the following equation: pathloss = Tx Power Level – RSSI where “RSSI” is the received signal strength, in dBm, of the packet received. | NimBLE will auto-calculate if set to -128. | -+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ -| slave\_interval\_range | Slave Connection Interval Range | Contains the Peripheral’s preferred connection interval range, for all logical connections. Size: 4 Octets . The first 2 octets defines the minimum value for the connection interval in the following manner: connIntervalmin = Conn\_Interval\_Min \* 1.25 ms Conn\_Interval\_Min range: 0x0006 to 0x0C80 Value of 0xFFFF indicates no specific minimum. The other 2 octets defines the maximum value for the connection interval in the following manner: connIntervalmax = Conn\_Interval\_Max \* 1.25 ms Conn\_Interval\_Max range: 0x0006 to 0x0C80 Conn\_Interval\_Max shall be equal to or greater than the Conn\_Interval\_Min. Value of 0xFFFF indicates no specific maximum. | | -+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ -| service\_data\_uuid16 | Service Data - 16 bit UUID | Size: 2 or more octets The first 2 octets contain the 16 bit Service UUID followed by additional service data | | -+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ -| public\_target\_address | Public Target Address | Defines the address of one or more intended recipients of an advertisement when one or more devices were bonded using a public address. This data type shall exist only once. It may be sent in either the Advertising or Scan Response data, but not both. | | -+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ -| appearance | Appearance | Defines the external appearance of the device. The Appearance data type shall exist only once. It may be sent in either the Advertising or Scan Response data, but not both. | | -+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ -| advertising\_interval | Advertising Interval | Contains the advInterval value as defined in the Core specification, Volume 6, Part B, Section 4.4.2.2. | | -+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ -| service\_data\_uuid32 | Service Data - 32 bit UUID | Size: 4 or more octets The first 4 octets contain the 32 bit Service UUID followed by additional service data | | -+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ -| service\_data\_uuid128 | Service Data - 128 bit UUID | Size: 16 or more octets The first 16 octets contain the 128 bit Service UUID followed by additional service data | | -+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ -| uri | Uniform Resource Identifier (URI) | Scheme name string and URI as a UTF-8 string | | -+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ -| mfg\_data | Manufacturer Specific data | Size: 2 or more octets The first 2 octets contain the Company Identifier Code followed by additional manufacturer specific data | | -+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ -| eddystone\_url | | | | -+---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ +.. table:: Advertisement Data Fields + :class: longtable + :widths: 20 20 45 15 + + +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ + | **Name** | **Definition** | **Details** | **btshell Notes** | + +===========================+=====================================================+===========================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================+==============================================+ + | flags | Indicates basic information about the advertiser. | Flags used over the LE physical channel are: \* Limited Discoverable Mode \* General Discoverable Mode \* BR/EDR Not Supported \* Simultaneous LE and BR/EDR to Same Device Capable (Controller) \* Simultaneous LE and BR/EDR to Same Device Capable (Host) | NimBLE will auto-calculate if set to 0. | + +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ + | uuid16 | 16-bit Bluetooth Service UUIDs | Indicates the Service UUID list is incomplete i.e. more 16-bit Service UUIDs available. 16 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG. | Set repeatedly for multiple service UUIDs. | + +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ + | uuid16\_is\_complete | 16-bit Bluetooth Service UUIDs | Indicates the Service UUID list is complete. 16 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG. | | + +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ + | uuid32 | 32-bit Bluetooth Service UUIDs | Indicates the Service UUID list is incomplete i.e. more 32-bit Service UUIDs available. 32 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG. | Set repeatedly for multiple service UUIDs. | + +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ + | uuid32\_is\_complete | 32-bit Bluetooth Service UUIDs | Indicates the Service UUID list is complete. 32 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG. | | + +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ + | uuid128 | Global 128-bit Service UUIDs | More 128-bit Service UUIDs available. | Set repeatedly for multiple service UUIDs. | + +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ + | uuid128\_is\_complete | Global 128-bit Service UUIDs | Complete list of 128-bit Service UUIDs | | + +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ + | tx\_power\_level | TX Power Level | Indicates the transmitted power level of the packet containing the data type. The TX Power Level data type may be used to calculate path loss on a received packet using the following equation: pathloss = Tx Power Level – RSSI where “RSSI” is the received signal strength, in dBm, of the packet received. | NimBLE will auto-calculate if set to -128. | + +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ + | slave\_interval\_range | Slave Connection Interval Range | Contains the Peripheral’s preferred connection interval range, for all logical connections. Size: 4 Octets . The first 2 octets defines the minimum value for the connection interval in the following manner: connIntervalmin = Conn\_Interval\_Min \* 1.25 ms Conn\_Interval\_Min range: 0x0006 to 0x0C80 Value of 0xFFFF indicates no specific minimum. The other 2 octets defines the maximum value for the connection interval in the following manner: connIntervalmax = Conn\_Interval\_Max \* 1.25 ms Conn\_Interval\_Max range: 0x0006 to 0x0C80 Conn\_Interval\_Max shall be equal to or greater than the Conn\_Interval\_Min. Value of 0xFFFF indicates no specific maximum. | | + +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ + | service\_data\_uuid16 | Service Data - 16 bit UUID | Size: 2 or more octets The first 2 octets contain the 16 bit Service UUID followed by additional service data | | + +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ + | public\_target\_address | Public Target Address | Defines the address of one or more intended recipients of an advertisement when one or more devices were bonded using a public address. This data type shall exist only once. It may be sent in either the Advertising or Scan Response data, but not both. | | + +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ + | appearance | Appearance | Defines the external appearance of the device. The Appearance data type shall exist only once. It may be sent in either the Advertising or Scan Response data, but not both. | | + +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ + | advertising\_interval | Advertising Interval | Contains the advInterval value as defined in the Core specification, Volume 6, Part B, Section 4.4.2.2. | | + +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ + | service\_data\_uuid32 | Service Data - 32 bit UUID | Size: 4 or more octets The first 4 octets contain the 32 bit Service UUID followed by additional service data | | + +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ + | service\_data\_uuid128 | Service Data - 128 bit UUID | Size: 16 or more octets The first 16 octets contain the 128 bit Service UUID followed by additional service data | | + +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ + | uri | Uniform Resource Identifier (URI) | Scheme name string and URI as a UTF-8 string | | + +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ + | mfg\_data | Manufacturer Specific data | Size: 2 or more octets The first 2 octets contain the Company Identifier Code followed by additional manufacturer specific data | | + +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ + | eddystone\_url | | | | + +---------------------------+-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------+ diff --git a/docs/mesh/index.rst b/docs/mesh/index.rst index 6ad75363f0..bab9d883ae 100644 --- a/docs/mesh/index.rst +++ b/docs/mesh/index.rst @@ -84,6 +84,7 @@ Lightness Server Model. .. figure:: mesh_lightning_model.jpg :alt: Light Lightness Server model (source: Mesh Model Specification 1.0) + :width: 450 Mesh Node features supported by Apache Mynewt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~