问题

今天遇到了一个问题,就是自己的耳机产品,手机经常搜不到,从日志里面查看,发现原因是平时手机蓝牙发送的是inquiry mode =2 出问题的时候,inquiry mode =1 由于
本设备很多东西是靠inquiry mode 2 里面的扩展信息来标记连接状态的,所以会出现连接不上的情况。借此机会,要把蓝牙的这块复习一下,也顺便把问题梳理一下。

inquriy 的流程

从下面的图可以很清楚的看到,一般是主设备发送inquriy 的ID包,从设备收到这个帧之后,会发送inquriy response,response帧一般有两种,一种是无扩展的FHS帧,另外一种是带扩展的数据包。具体的扩展数据要看两个设备的协商了。这里引出一个问题,从设备在什么场景下要回复什么帧呢?这里牵出了inquiry的类型。

inqure 类型

  从下面的蓝牙协议栈中可以看出,inquriy 帧有三种类型指定的发送,从设备会根据主设备的inquriy mode类型来发送具体的类型的帧来回复不同的response类型,这个也就清楚了,从设备是根据主设备的inquriy mode来返回不同类型。

几个疑问

主设备什么场景下会发送inquriy mode 1的帧?
从设备的表现看来,应该是主设备一般是发送mode =2的帧,只是遇到slave不回复的时候,主设备以为是信号不好,就启动退避机制,开始发送mode=1的帧,如果仍旧还收不到,那就会启动mode=0的退避机制,这个只是我的个人推测,不知道是否正确,还希望有些理解更深的大牛帮忙确认一下?

最新文章

  1. 直播推流端弱网优化策略 | 直播 SDK 性能优化实践
  2. poj 2503:Babelfish(字典树,经典题,字典翻译)
  3. 浅析MongoDB数据库的海量数据存储应用
  4. Uxf框架引入Rest控制器特性
  5. GIT 专贴
  6. myeclipse 配置weblogic
  7. Error -26612: HTTP Status-Code=500 (Internal Server Error) ...
  8. Spring注解@Scheduled定时任务
  9. linux 安装phpMyAdmin
  10. sql 自连接
  11. c# listview导出excel文件
  12. javaweb 国际化
  13. css浮动布局
  14. Java基础(1) - 语法 & 概念
  15. python爬虫之git的团队协作
  16. java sort排序原理
  17. Markdown语法说明(转)
  18. [转载] JAVA面试题和项目面试核心要点精华总结(想进大公司必看)
  19. 如何评测一个P2P平台是否可靠
  20. 【转】Visual Studio团队资源管理器 Git 源码管理工具简单入门

热门文章

  1. cURL无法访问TLS网站故障解决
  2. linux上安装jenkins过程
  3. selenium-server-standalone下载网站
  4. yii2 提示
  5. 【algo&ds】【pat】5.并查集及其应用
  6. intelj idea中除了Find Usage外的另一种查找级联调用的方法
  7. UTXO和Account模型一个都不能少
  8. Java面试必备:手写单例模式
  9. Android给Viewpager默认指定页
  10. spark SQL、RDD、Dataframe总结