CC2541 配对绑定过程问题
大家好,
我这边以 simple peripheral 为基础,参照 simple central,增加了 PasscodeCB 以及 PairStateCB 两个回调。
从机如下
pairMode = GAPBOND_PAIRING_MODE_INITIATE;
mitm = TRUE;
ioCap = GAPBOND_IO_CAP_DISPLAY_ONLY;
bonding = TRUE;
从机密码自己设定的,并在 PasscodeCB 中打印到串口可以查看。
此配置下,用 IOS 的 lightblue ,可以连接,输入配对密码,成功配对。
问题是,我用另一个 CC2541 做主机,来连接上边的从机,从机端 PairStateCB 回调中在进入完成配对的分支里,显示配对失败……
主机的配置如下
pairMode = GAPBOND_PAIRING_MODE_WAIT_FOR_REQ;
mitm = TRUE;
ioCap = GAPBOND_IO_CAP_KEYBOARD_ONLY;
bonding = TRUE;
经过查找发现,从机端 GAPBondMgr_ProcessGAPMsg( gapEventHdr_t *pMsg ) 中,会进入 GAP_AUTHENTICATION_COMPLETE_EVENT 事件分支,但是 pPkt->hdr.status 的值不为 SUCCESS 。想请问,这个值什么条件下会为 SUCCESS。还想请问,有没有配对绑定流程的详细说明或者协议说明,可以详细地了解这个过程中主从机的交互。
希望大家指点一二,谢谢。
主机这边写的是支持键盘,所以应该是要交换密码的吧
请问是否有输入密码交换密码的过程呢?