藍牙核心規范(V5.2)4.0-深入詳解之錯誤碼
藍牙篇之藍牙核心規范(V5.2)深入詳解匯總

1.HCI命令錯誤
如果HCI_Command_Complete事件的HCI命令產生錯誤,則應HCI_Command_Complete事件中報告此錯誤。
如果發送帶有錯誤代碼的HCI_Command_Complete的HCI命令處理前向主機發送“成功”消息可能會在執行過程中發現錯誤然后,該錯誤可能會在服務器的正常完成命令中報告原始命令或在HCI_Command_Complete狀態事件中。
一些HCI命令可能會產生需要報告給主機的錯誤,但沒有足夠的信息來確定通常將如何處理該命令。在這種情況下,可以使用兩個事件向主機指示這個事件,即HCI_Command_Complete事件和HCI_Command_Status事件。使用的是這兩個事件中的哪一個事件,這些事件都依賴于實現。
2.錯誤代碼列表
(未完待補充)
對應代碼宏定義:
/* Success code */
#define HCI_SUCCESS 0x00
/* Possible error codes */
#define HCI_UNKNOWN_HCI_COMMAND 0x01
#define HCI_NO_Connection 0x02
#define HCI_HW_FAILURE 0x03
#define HCI_PAGE_TIMEOUT 0x04
#define HCI_AUTHENTICATION_FAILURE 0x05
#define HCI_KEY_MISSING 0x06
#define HCI_MEMORY_FULL 0x07
#define HCI_CONN_TIMEOUT 0x08
#define HCI_MAX_NUMBER_OF_ConnectionS 0x09
#define HCI_MAX_NUMBER_OF_SCO_CONNECTIONS_TO_DEVICE 0x0A
#define HCI_ACL_CONNECTION_EXISTS 0x0B
#define HCI_COMMAND_DISSALLOWED 0x0C
#define HCI_HOST_REJECTED_DUE_TO_LIMITED_RESOURCES 0x0D
#define HCI_HOST_REJECTED_DUE_TO_SECURITY_REASONS 0x0E
#define HCI_HOST_REJECTED_DUE_TO_REMOTE_DEVICE_ONLY_PERSONAL_SERVICE 0x0F
#define HCI_HOST_TIMEOUT 0x10
#define HCI_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE 0x11
#define HCI_INVALID_HCI_COMMAND_PARAMETERS 0x12
#define HCI_OTHER_END_TERMINATED_CONN_USER_ENDED 0x13
#define HCI_OTHER_END_TERMINATED_CONN_LOW_RESOURCES 0x14
#define HCI_OTHER_END_TERMINATED_CONN_ABOUT_TO_POWER_OFF 0x15
#define HCI_CONN_TERMINATED_BY_LOCAL_HOST 0x16
#define HCI_REPETED_ATTEMPTS 0x17
#define HCI_PAIRING_NOT_ALLOWED 0x18
#define HCI_UNKNOWN_LMP_PDU 0x19
#define HCI_UNSUPPORTED_REMOTE_FEATURE 0x1A
#define HCI_SCO_OFFSET_REJECTED 0x1B
#define HCI_SCO_INTERVAL_REJECTED 0x1C
#define HCI_SCO_AIR_MODE_REJECTED 0x1D
#define HCI_INVALID_LMP_PARAMETERS 0x1E
#define HCI_UNSPECIFIED_ERROR 0x1F
#define HCI_UNSUPPORTED_LMP_PARAMETER_VALUE 0x20
#define HCI_ROLE_CHANGE_NOT_ALLOWED 0x21
#define HCI_LMP_RESPONSE_TIMEOUT 0x22
#define HCI_LMP_ERROR_TRANSACTION_COLLISION 0x23
#define HCI_LMP_PDU_NOT_ALLOWED 0x24
#define HCI_ENCRYPTION_MODE_NOT_ACCEPTABLE 0x25
#define HCI_UNIT_KEY_USED 0x26
#define HCI_QOS_NOT_SUPPORTED 0x27
#define HCI_INSTANT_PASSED 0x28
#define HCI_PAIRING_UNIT_KEY_NOT_SUPPORTED 0x29
3.錯誤碼詳細描述
3.1?未知HCI命令(0x01)
未知的HCI命令錯誤代碼表示控制器不理解主機發送的HCI命令數據包操作碼。給出的選項代碼可能不對應于本文檔中指定的任何OpCode,或任何特定于供應商的OpCode,或該命令可能尚未實現。
3.2?未知的連接標識符(0x02)
未知連接標識符錯誤代碼表示已從主機發送了一個應該標識連接的命令,但該連接不存在。
3.3??硬件故障(0x03)
硬件故障錯誤代碼向主機指示控制器中的某個東西發生了故障,但無法用任何其他錯誤代碼來描述。此錯誤代碼所隱含的含義依賴于實現。
3.4 頁面超時(0x04)
頁面超時錯誤代碼表明頁面由于頁面超時配置參數而超時。此錯誤代碼可能只發生在HCI_Remote_Name_Request和HCI_Create_Connection命令中。
3.5 認證失敗(0x05)
認證證失敗錯誤代碼表示配對或身份驗證失敗由于配對或身份驗證過程中的結果不正確而失敗。這可能是因為PIN或鏈接key不正確。
3.6 PIN或KEY缺失
PIN或密鑰丟失錯誤代碼用于因故障導致配對失敗時缺少PIN,或由于缺少密鑰而導致身份驗證失敗。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。