蓝牙核心规范(V5.2)4.0-深入详解之错误码

举报
心跳包 发表于 2021/11/12 23:23:41 2021/11/12
【摘要】    蓝牙篇之蓝牙核心规范(V5.2)深入详解汇总  ​​  1.HCI命令错误          如果HCI_Command_Complete事件的HCI命令产生错误,则应HCI_...

   蓝牙篇之蓝牙核心规范(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.错误代码列表

 (未完待补充)

对应代码宏定义:
 


  
  1. /* Success code */
  2. #define HCI_SUCCESS 0x00
  3. /* Possible error codes */
  4. #define HCI_UNKNOWN_HCI_COMMAND 0x01
  5. #define HCI_NO_CONNECTION 0x02
  6. #define HCI_HW_FAILURE 0x03
  7. #define HCI_PAGE_TIMEOUT 0x04
  8. #define HCI_AUTHENTICATION_FAILURE 0x05
  9. #define HCI_KEY_MISSING 0x06
  10. #define HCI_MEMORY_FULL 0x07
  11. #define HCI_CONN_TIMEOUT 0x08
  12. #define HCI_MAX_NUMBER_OF_CONNECTIONS 0x09
  13. #define HCI_MAX_NUMBER_OF_SCO_CONNECTIONS_TO_DEVICE 0x0A
  14. #define HCI_ACL_CONNECTION_EXISTS 0x0B
  15. #define HCI_COMMAND_DISSALLOWED 0x0C
  16. #define HCI_HOST_REJECTED_DUE_TO_LIMITED_RESOURCES 0x0D
  17. #define HCI_HOST_REJECTED_DUE_TO_SECURITY_REASONS 0x0E
  18. #define HCI_HOST_REJECTED_DUE_TO_REMOTE_DEVICE_ONLY_PERSONAL_SERVICE 0x0F
  19. #define HCI_HOST_TIMEOUT 0x10
  20. #define HCI_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE 0x11
  21. #define HCI_INVALID_HCI_COMMAND_PARAMETERS 0x12
  22. #define HCI_OTHER_END_TERMINATED_CONN_USER_ENDED 0x13
  23. #define HCI_OTHER_END_TERMINATED_CONN_LOW_RESOURCES 0x14
  24. #define HCI_OTHER_END_TERMINATED_CONN_ABOUT_TO_POWER_OFF 0x15
  25. #define HCI_CONN_TERMINATED_BY_LOCAL_HOST 0x16
  26. #define HCI_REPETED_ATTEMPTS 0x17
  27. #define HCI_PAIRING_NOT_ALLOWED 0x18
  28. #define HCI_UNKNOWN_LMP_PDU 0x19
  29. #define HCI_UNSUPPORTED_REMOTE_FEATURE 0x1A
  30. #define HCI_SCO_OFFSET_REJECTED 0x1B
  31. #define HCI_SCO_INTERVAL_REJECTED 0x1C
  32. #define HCI_SCO_AIR_MODE_REJECTED 0x1D
  33. #define HCI_INVALID_LMP_PARAMETERS 0x1E
  34. #define HCI_UNSPECIFIED_ERROR 0x1F
  35. #define HCI_UNSUPPORTED_LMP_PARAMETER_VALUE 0x20
  36. #define HCI_ROLE_CHANGE_NOT_ALLOWED 0x21
  37. #define HCI_LMP_RESPONSE_TIMEOUT 0x22
  38. #define HCI_LMP_ERROR_TRANSACTION_COLLISION 0x23
  39. #define HCI_LMP_PDU_NOT_ALLOWED 0x24
  40. #define HCI_ENCRYPTION_MODE_NOT_ACCEPTABLE 0x25
  41. #define HCI_UNIT_KEY_USED 0x26
  42. #define HCI_QOS_NOT_SUPPORTED 0x27
  43. #define HCI_INSTANT_PASSED 0x28
  44. #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,或由于缺少密钥而导致身份验证失败。

文章来源: xintiaobao.blog.csdn.net,作者:心跳包,版权归原作者所有,如需转载,请联系作者。

原文链接:xintiaobao.blog.csdn.net/article/details/120011467

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。