Error codes

Errors related to hardware

Code Name Description
0x0501 ps_store_full Flash reserved for PS store is full
0x0502 ps_key_not_found PS key not found
0x0503 i2c_ack_missing Acknowledge for i2c was not received.
0x0504 i2c_timeout I2C read or write timed out.

Errors related to BGAPI protocol

Code Name Description
0x0100 success No error
0x0101 invalid_conn_handle Invalid GATT connection handle.
0x0102 waiting_response Waiting response from GATT server to previous procedure.
0x0103 gatt_connection_timeout GATT connection is closed due procedure timeout.
0x0180 invalid_param Command contained invalid parameter
0x0181 wrong_state Device is in wrong state to receive command
0x0182 out_of_memory Device has run out of memory
0x0183 not_implemented Feature is not implemented
0x0184 invalid_command Command was not recognized
0x0185 timeout A command or procedure failed or a link lost due to timeout
0x0186 not_connected Connection handle passed is to command is not a valid handle
0x0187 flow Command would cause either underflow or overflow error
0x0188 user_attribute User attribute was accessed through API which is not supported
0x0189 invalid_license_key No valid license key found
0x018a command_too_long Command maximum length exceeded
0x018b out_of_bonds Bonding procedure can't be started because device has no space left for bond.
0x018c unspecified Unspecified error
0x018d hardware Hardware failure
0x018e buffers_full Command not accepted, because internal buffers are full
0x018f disconnected Command or Procedure failed due to disconnection
0x0190 too_many_requests Too many Simultaneous Requests
0x0191 not_supported Feature is not supported in this firmware build
0x0192 no_bonding The bonding does not exist.
0x0193 crypto Error using crypto functions
0x0194 data_corrupted Data was corrupted.
0x0195 command_incomplete Data received does not form a complete command
0x0196 not_initialized Feature or subsystem not initialized
0x0197 invalid_sync_handle Invalid periodic advertising sync handle
0x0198 invalid_module_action Bluetooth cannot be used on this hardware
0x0199 radio Error received from radio

Errors from Security Manager Protocol

Code Name Description
0x0301 passkey_entry_failed The user input of passkey failed, for example, the user cancelled the operation
0x0302 oob_not_available Out of Band data is not available for authentication
0x0303 authentication_requirements The pairing procedure cannot be performed as authentication requirements cannot be met due to IO capabilities of one or both devices
0x0304 confirm_value_failed The confirm value does not match the calculated compare value
0x0305 pairing_not_supported Pairing is not supported by the device
0x0306 encryption_key_size The resultant encryption key size is insufficient for the security requirements of this device
0x0307 command_not_supported The SMP command received is not supported on this device
0x0308 unspecified_reason Pairing failed due to an unspecified reason
0x0309 repeated_attempts Pairing or authentication procedure is disallowed because too little time has elapsed since last pairing request or security request
0x030a invalid_parameters The Invalid Parameters error code indicates: the command length is invalid or a parameter is outside of the specified range.
0x030b dhkey_check_failed Indicates to the remote device that the DHKey Check value received doesn't match the one calculated by the local device.
0x030c numeric_comparison_failed Indicates that the confirm values in the numeric comparison protocol do not match.
0x030d bredr_pairing_in_progress Indicates that the pairing over the LE transport failed due to a Pairing Request sent over the BR/EDR transport in process.
0x030e cross_transport_key_derivation_generation_not_allowed 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.

Bluetooth errors

Code Name Description
0x0200 error_success Command completed succesfully
0x0202 unknown_connection_identifier Connection does not exist, or connection open request was cancelled.
0x0205 authentication_failure Pairing or authentication failed due to incorrect results in the pairing or authentication procedure. This could be due to an incorrect PIN or Link Key
0x0206 pin_or_key_missing Pairing failed because of missing PIN, or authentication failed because of missing Key
0x0207 memory_capacity_exceeded Controller is out of memory.
0x0208 connection_timeout Link supervision timeout has expired.
0x0209 connection_limit_exceeded Controller is at limit of connections it can support.
0x020a synchronous_connectiontion_limit_exceeded The Synchronous Connection Limit to a Device Exceeded error code indicates that the Controller has reached the limit to the number of synchronous connections that can be achieved to a device.
0x020b acl_connection_already_exists The ACL Connection Already Exists error code indicates that an attempt to create a new ACL Connection to a device when there is already a connection to this device.
0x020c command_disallowed Command requested cannot be executed because the Controller is in a state where it cannot process this command at this time.
0x020d connection_rejected_due_to_limited_resources The Connection Rejected Due To Limited Resources error code indicates that an incoming connection was rejected due to limited resources.
0x020e connection_rejected_due_to_security_reasons The Connection Rejected Due To Security Reasons error code indicates that a connection was rejected due to security requirements not being fulfilled, like authentication or pairing.
0x020f connection_rejected_due_to_unacceptable_bd_addr The Connection was rejected because this device does not accept the BD_ADDR. This may be because the device will only accept connections from specific BD_ADDRs.
0x0210 connection_accept_timeout_exceeded The Connection Accept Timeout has been exceeded for this connection attempt.
0x0211 unsupported_feature_or_parameter_value A feature or parameter value in the HCI command is not supported.
0x0212 invalid_command_parameters Command contained invalid parameters.
0x0213 remote_user_terminated User on the remote device terminated the connection.
0x0214 remote_device_terminated_connection_due_to_low_resources The remote device terminated the connection because of low resources
0x0215 remote_powering_off Remote Device Terminated Connection due to Power Off
0x0216 connection_terminated_by_local_host Local device terminated the connection.
0x0217 repeated_attempts The Controller is disallowing an authentication or pairing procedure because too little time has elapsed since the last authentication or pairing attempt failed.
0x0218 pairing_not_allowed The device does not allow pairing. This can be for example, when a device only allows pairing during a certain time window after some user input allows pairing
0x021a unsupported_remote_feature The remote device does not support the feature associated with the issued command.
0x021f unspecified_error No other error code specified is appropriate to use.
0x0222 ll_response_timeout Connection terminated due to link-layer procedure timeout.
0x0223 ll_procedure_collision LL procedure has collided with the same transaction or procedure that is already in progress.
0x0225 encryption_mode_not_acceptable The requested encryption mode is not acceptable at this time.
0x0226 link_key_cannot_be_changed Link key cannot be changed because a fixed unit key is being used.
0x0228 instant_passed LMP PDU or LL PDU that includes an instant cannot be performed because the instant when this would have occurred has passed.
0x0229 pairing_with_unit_key_not_supported It was not possible to pair as a unit key was requested and it is not supported.
0x022a different_transaction_collision LMP transaction was started that collides with an ongoing transaction.
0x022e channel_assessment_not_supported The Controller cannot perform channel assessment because it is not supported.
0x022f insufficient_security The HCI command or LMP PDU sent is only possible on an encrypted link.
0x0230 parameter_out_of_mandatory_range A parameter value requested is outside the mandatory range of parameters for the given HCI command or LMP PDU.
0x0237 simple_pairing_not_supported_by_host The IO capabilities request or response was rejected because the sending Host does not support Secure Simple Pairing even though the receiving Link Manager does.
0x0238 host_busy_pairing The Host is busy with another pairing operation and unable to support the requested pairing. The receiving device should retry pairing again later.
0x0239 connection_rejected_due_to_no_suitable_channel_found The Controller could not calculate an appropriate value for the Channel selection operation.
0x023a controller_busy Operation was rejected because the controller is busy and unable to process the request.
0x023b unacceptable_connection_interval Remote device terminated the connection because of an unacceptable connection interval.
0x023c advertising_timeout Ddvertising for a fixed duration completed or, for directed advertising, that advertising completed without a connection being created.
0x023d connection_terminated_due_to_mic_failure Connection was terminated because the Message Integrity Check (MIC) failed on a received packet.
0x023e connection_failed_to_be_established LL initiated a connection but the connection has failed to be established. Controller did not receive any packets from remote end.
0x023f mac_connection_failed The MAC of the 802.11 AMP was requested to connect to a peer, but the connection failed.
0x0240 coarse_clock_adjustment_rejected_but_will_try_to_adjust_using_clock_dragging The master, at this time, is unable to make a coarse adjustment to the piconet clock, using the supplied parameters. Instead the master will attempt to move the clock using clock dragging.
0x0242 unknown_advertising_identifier A command was sent from the Host that should identify an Advertising or Sync handle, but the Advertising or Sync handle does not exist.
0x0243 limit_reached Number of operations requested has been reached and has indicated the completion of the activity (e.g., advertising or scanning).
0x0244 operation_cancelled_by_host A request to the Controller issued by the Host and still pending was successfully canceled.
0x0245 packet_too_long An attempt was made to send or receive a packet that exceeds the maximum allowed packet length.

Application errors

Code Name Description
0x0a01 file_open_failed File open failed.
0x0a02 xml_parse_failed XML parsing failed.
0x0a03 device_connection_failed Device connection failed.
0x0a04 device_comunication_failed Device communication failed.
0x0a05 authentication_failed Device authentication failed.
0x0a06 incorrect_gatt_database Device has incorrect GATT database.
0x0a07 disconnected_due_to_procedure_collision Device disconnected due to procedure collision.
0x0a08 disconnected_due_to_secure_session_failed Device disconnected due to failure to establish or reestablish a secure session.
0x0a09 encryption_decryption_error Encrypion/decryption operation failed.
0x0a0a maximum_retries Maximum allowed retries exceeded.
0x0a0b data_parse_failed Data parsing failed.
0x0a0c pairing_removed Pairing established by the application layer protocol has been removed.
0x0a0d inactive_timeout Inactive timeout.
0x0a0e mismatched_or_insufficient_security Mismatched or insufficient security level

Errors from Attribute Protocol

Code Name Description
0x0401 invalid_handle The attribute handle given was not valid on this server
0x0402 read_not_permitted The attribute cannot be read
0x0403 write_not_permitted The attribute cannot be written
0x0404 invalid_pdu The attribute PDU was invalid
0x0405 insufficient_authentication The attribute requires authentication before it can be read or written.
0x0406 request_not_supported Attribute Server does not support the request received from the client.
0x0407 invalid_offset Offset specified was past the end of the attribute
0x0408 insufficient_authorization The attribute requires authorization before it can be read or written.
0x0409 prepare_queue_full Too many prepare writes have been queueud
0x040a att_not_found No attribute found within the given attribute handle range.
0x040b att_not_long The attribute cannot be read or written using the Read Blob Request
0x040c insufficient_enc_key_size The Encryption Key Size used for encrypting this link is insufficient.
0x040d invalid_att_length The attribute value length is invalid for the operation
0x040e unlikely_error The attribute request that was requested has encountered an error that was unlikely, and therefore could not be completed as requested.
0x040f insufficient_encryption The attribute requires encryption before it can be read or written.
0x0410 unsupported_group_type The attribute type is not a supported grouping attribute as defined by a higher layer specification.
0x0411 insufficient_resources Insufficient Resources to complete the request
0x0412 out_of_sync The server requests the client to rediscover the database.
0x0413 value_not_allowed The attribute parameter value was not allowed.
0x0480 application Start of ATT application error codes range defined by a higher layer specification.

Bluetooth Mesh errors

Code Name Description
0x0c01 already_exists Returned when trying to add a key or some other unique resource with an ID which already exists
0x0c02 does_not_exist Returned when trying to manipulate a key or some other resource with an ID which does not exist
0x0c03 limit_reached Returned when an operation cannot be executed because a pre-configured limit for keys, key bindings, elements, models, virtual addresses, provisioned devices, or provisioning sessions is reached
0x0c04 invalid_address Returned when trying to use a reserved address or add a "pre-provisioned" device using an address already used by some other device
0x0c05 malformed_data In a BGAPI response, the user supplied malformed data; in a BGAPI event, the remote end responded with malformed or unrecognized data
0x0c06 already_initialized An attempt was made to initialize a subsystem that was already initialized.
0x0c07 not_initialized An attempt was made to use a subsystem that wasn't initialized yet. Call the subsystem's init function first.
0x0c08 no_friend_offer Returned when trying to establish a friendship as a Low Power Node, but no acceptable friend offer message was received.
0x0c09 prov_link_closed Provisioning link was unexpectedly closed before provisioning was complete.
0x0c0a prov_invalid_pdu An unrecognized provisioning PDU was received.
0x0c0b prov_invalid_pdu_format A provisioning PDU with wrong length or containing field values that are out of bounds was received.
0x0c0c prov_unexpected_pdu An unexpected (out of sequence) provisioning PDU was received.
0x0c0d prov_confirmation_failed The computed confirmation value did not match the expected value.
0x0c0e prov_out_of_resources Provisioning could not be continued due to insufficient resources.
0x0c0f prov_decryption_failed The provisioning data block could not be decrypted.
0x0c10 prov_unexpected_error An unexpected error happened during provisioning.
0x0c11 prov_cannot_assign_addr Device could not assign unicast addresses to all of its elements.
0x0c12 address_temporarily_unavailable Returned when trying to reuse an address of a previously deleted device before an IV Index Update has been executed.
0x0c13 address_already_used Returned when trying to assign an address that is used by one of the devices in the Device Database, or by the Provisioner itself.
0x0c14 no_data_available Returned when no data is available for reading.

Bluetooth Mesh foundation errors

Code Name Description
0x0e01 invalid_address Returned when address in request was not valid
0x0e02 invalid_model Returned when model identified is not found for a given element
0x0e03 invalid_app_key Returned when the key identified by AppKeyIndex is not stored in the node
0x0e04 invalid_net_key Returned when the key identified by NetKeyIndex is not stored in the node
0x0e05 insufficient_resources Returned when The node cannot serve the request due to insufficient resources
0x0e06 key_index_exists Returned when the key identified is already stored in the node and the new NetKey value is different
0x0e07 invalid_publish_params Returned when the model does not support the publish mechanism
0x0e08 not_subscribe_model Returned when the model does not support the subscribe mechanism
0x0e09 storage_failure Returned when storing of the requested parameters failed
0x0e0a not_supported Returned when requested setting is not supported
0x0e0b cannot_update Returned when the requested update operation cannot be performed due to general constraints
0x0e0c cannot_remove Returned when the requested delete operation cannot be performed due to general constraints
0x0e0d cannot_bind Returned when the requested bind operation cannot be performed due to general constraints
0x0e0e temporarily_unable Returned when The node cannot start advertising with Node Identity or Proxy since the maximum number of parallel advertising is reached
0x0e0f cannot_set Returned when the requested state cannot be set
0x0e10 unspecified Returned when an unspecified error took place
0x0e11 invalid_binding Returned when the NetKeyIndex and AppKeyIndex combination is not valid for a Config AppKey Update

Filesystem errors

Code Name Description
0x0901 file_not_found File not found

Errors from Logical Link Control and Adaptation Protocol

Code Name Description
0x0d01 remote_disconnected Returned when remote disconnects the connection-oriented channel by sending disconnection request.
0x0d02 local_disconnected Returned when local host disconnect the connection-oriented channel by sending disconnection request.
0x0d03 cid_not_exist Returned when local host did not find a connection-oriented channel with given destination CID.
0x0d04 le_disconnected Returned when connection-oriented channel disconnected due to LE connection is dropped.
0x0d05 flow_control_violated Returned when connection-oriented channel disconnected due to remote end send data even without credit.
0x0d06 flow_control_credit_overflowed Returned when connection-oriented channel disconnected due to remote end send flow control credits exceed 65535.
0x0d07 no_flow_control_credit Returned when connection-oriented channel has run out of flow control credit and local application still trying to send data.
0x0d08 connection_request_timeout Returned when connection-oriented channel has not received connection response message within maximum timeout.
0x0d09 invalid_cid Returned when local host received a connection-oriented channel connection response with an invalid destination CID.
0x0d0a wrong_state Returned when local host application tries to send a command which is not suitable for L2CAP channel's current state.

Security errors

Code Name Description
0x0b01 image_signature_verification_failed Device firmware signature verification failed.
0x0b02 file_signature_verification_failed File signature verification failed.
0x0b03 image_checksum_error Device firmware checksum is not valid.