1. 有些安卓手机在legacy配对时,在pairing后会自动进行server list(服务)的读取过程,在更新完毕之前进行ATT指令操作会造成状态机死机;且此自动更新未有完毕的标志等,所以配对完要等一会儿再进行ATT的操作。
2. 有些安卓手机在legacy配对时,在从端返回的SMP Pairing Respones中如果主支持了IRK特性,但是从不支持IRK特性时,会造成配对后断开连接后无法重新连接的问题,可能是手机按照私有地址解析的方式进行设备的找寻了,但是从端并未进行私有地址广播,所以主端找不到设备。所以可以将SMP Pairing Respones中双方的IRK特性全去掉,假如用不到的话。
例如:
如下为正确的:
如下的为错误的:
3. 有些安卓手机发起了CONNECT_IND,但是其CRC可能是错误的,导致有些从端设备不会理睬该CONNECT_IND,最终手机发起连接失败。在手机端的现象是,调用了连接函数,但是很快收到一个timeout的回调。这个问题可能是手机的问题也可能是从端设备的问题,但一般都很可能和两端蓝牙晶体的频偏有关,可能是某一方的频偏过大,导致双方概率性没在一个频率上讲话,导致数据出错。