So here is a list of commands that aredocumented by hardware developers, such as Nordic and codes I figured outmyself. List is to be completed.
Status | Status Hex | Description | Explanation |
0 | 0x00 | BLE_HCI_STATUS_CODE_SUCCESS | Everything ok. |
1 | 0x01 | BLE_HCI_STATUS_CODE_UNKNOWN_BTLE_COMMAND | |
2 | 0x02 | BLE_HCI_STATUS_CODE_UNKNOWN_CONNECTION_IDENTIFIER | |
5 | 0x05 | BLE_HCI_AUTHENTICATION_FAILURE | |
6 | 0x06 | BLE_HCI_STATUS_CODE_PIN_OR_KEY_MISSING | |
7 | 0x07 | BLE_HCI_MEMORY_CAPACITY_EXCEEDED | |
8 | 0x08 | BLE_HCI_CONNECTION_TIMEOUT |
the connection got lost because no synchronization packet was received from the remote device within the specified supervision timeout value. Normally this happens due to that the devices got out of range from each other |
12 | 0x0C | BLE_HCI_STATUS_CODE_COMMAND_DISALLOWED | |
18 | 0x12 | BLE_HCI_STATUS_CODE_INVALID_BTLE_COMMAND_PARAMETERS | |
19 | 0x13 | BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION | Remote device has forced a disconnect. |
20 | 0x14 | BLE_HCI_REMOTE_DEV_TERMINATION_DUE_TO_LOW_RESOURCES | |
21 | 0x15 | BLE_HCI_REMOTE_DEV_TERMINATION_DUE_TO_POWER_OFF | |
22 | 0x16 | BLE_HCI_LOCAL_HOST_TERMINATED_CONNECTION | |
26 | 0x1A | BLE_HCI_UNSUPPORTED_REMOTE_FEATURE | |
30 | 0x1E | BLE_HCI_STATUS_CODE_INVALID_LMP_PARAMETERS | |
31 | 0x1F | BLE_HCI_STATUS_CODE_UNSPECIFIED_ERROR | |
34 | 0x22 | BLE_HCI_STATUS_CODE_LMP_RESPONSE_TIMEOUT | |
36 | 0x24 | BLE_HCI_STATUS_CODE_LMP_PDU_NOT_ALLOWED | |
40 | 0x28 | BLE_HCI_INSTANT_PASSED | |
41 | 0x29 | BLE_HCI_PAIRING_WITH_UNIT_KEY_UNSUPPORTED | |
42 | 0x2A | BLE_HCI_DIFFERENT_TRANSACTION_COLLISION | |
58 | 0x3A | BLE_HCI_CONTROLLER_BUSY | |
59 | 0x3B | BLE_HCI_CONN_INTERVAL_UNACCEPTABLE | |
60 | 0x3C | BLE_HCI_DIRECTED_ADVERTISER_TIMEOUT | |
61 | 0x3D | BLE_HCI_CONN_TERMINATED_DUE_TO_MIC_FAILURE | |
62 | 0x3E | BLE_HCI_CONN_FAILED_TO_BE_ESTABLISHED | |
128 | 0x80 | GATT_NO_RESSOURCES | |
129 | 0x81 | GATT_INTERNAL_ERROR | |
130 | 0x82 | GATT_WRONG_STATE | |
131 | 0x83 | GATT_DB_FULL | |
132 | 0x84 | GATT_BUSY | |
133 | 0x85 | GATT_ERROR | Can be anything, from device not in Range to a random error. |
135 | 0x87 | GATT_ILLEGAL_PARAMETER | |
137 | 0x89 | GATT_AUTH_FAIL |
Sources:
Nordic
Android Source
Link:https://allmydroids.blogspot.jp/2015/06/android-ble-error-status-codes-explained.html