对于HF等基于RFCOMM的Profile不能够正常连接的情况,在分析AirTrace LOG 时候,而查看RFCOMM选项卡中有Frame Type为DISC的命令,一般我们将其可能的一种原因解释为两个蓝牙设备之间通信出现了问题,诸如外部蓝牙设备接收到了不能够识别的命令,所以主动发起了一次DISC动作,而在DISC对应的前面Frame,我们一定能够找到不正常的Frame。
那么这种做法的理论依据是什么呢?
Core V2.1+EDR 2.5 Error Handling一节中提到如下“Erroneous LMP messages can be caused by errors on the channel or systematic errors at the transmit side. To detect the latter case, the LM should monitor the number of erroneous messages and disconnect if it exceeds a threshold, which is implementation-dependent.”可以看到,在BT设备侦测到错误达到一定程度的时候,将会发起Disconnect动作。