android hci设备,Android Bluetooth hci 命令分析

本文分析了Android设备在连接BLE设备时出现的自动断开问题,通过Bluetooth HCI日志发现是由于连接参数更新请求处理不当导致的。当BLE设备发送连接参数更新请求后,主机回复并发起连接更新,但因未收到BLE设备的确认响应,最终导致连接超时断开。另一设备虽不支持参数更新请求,但能保持连接,这提示可能的解决方案在于处理参数更新请求的机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android在连接BLE设备的时候,遇到连接没多久就自动断开的情况。通过HCI来分析一下。

BLE设备发送连接参数更新请求

390915:53:01.224737TexasIns_f0:d3:41 (Hon-RFID3)HandHeld_e0:e5:4f (EDA)L2CAP21Rcvd Connection Parameter Update Request

回复BLE发送过来的请求

391015:53:01.225744HandHeld_e0:e5:4f (EDA)TexasIns_f0:d3:41 (Hon-RFID3)L2CAP15Sent Connection Parameter Update Response (Accepted)

发送连接更新请求,host通过hci发给controller

391115:53:01.227044hostcontrollerHCI_CMD18Sent LE Connection Update

更新参数操作执行成功。controller发给host。这条命令之后,协议栈会发送命令给出去,给对面的BLE设备。

396315:53:01.566723controllerhostHCI_EVT13Rcvd LE Meta (LE Connection Update Complete)

这边在等待BLE设备的回复,等待超时了。后面就断开。

541015:53:12.491452controllerhostHCI_EVT7Rcvd Disconnect Complete

最后一个帧的内容,显示连接超时。

Frame 5410: 7 bytes on wire (56 bits), 7 bytes captured (56 bits)

Encapsulation type: Bluetooth H4 with linux header (99)

Arrival Time: Apr 25, 2019 23:53:12.491452000 China Standard Time

[Time shift for this packet: 0.000000000 seconds]

Epoch Time: 1556207592.491452000 seconds

[Time delta from previous captured frame: 0.001655000 seconds]

[Time delta from previous displayed frame: 0.001655000 seconds]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值