hello,everyone:
目前在蓝牙手机适配的问题上卡住了,希望大家能提供一下帮助,具体信息为:
蓝牙SDK:simplelink_cc2640r2_sdk_4_10_00_10
由于使用了LESC,ram不够,当时的项目打开了CACHE
具体的配置为:
uint8_t pairMode = GAPBOND_PAIRING_MODE_INITIATE;
uint8_t mitm = TRUE;
uint8_t ioCap = GAPBOND_IO_CAP_KEYBOARD_DISPLAY;
uint8_t bonding = TRUE;
uint8_t scMode = GAPBOND_SECURE_CONNECTION_ONLY;
uint8_t replaceBonds = TRUE;
GAPBondMgr_SetParameter(GAPBOND_PAIRING_MODE, sizeof(uint8_t), &pairMode);
GAPBondMgr_SetParameter(GAPBOND_MITM_PROTECTION, sizeof(uint8_t), &mitm);
GAPBondMgr_SetParameter(GAPBOND_IO_CAPABILITIES, sizeof(uint8_t), &ioCap);
GAPBondMgr_SetParameter(GAPBOND_BONDING_ENABLED, sizeof(uint8_t), &bonding);
GAPBondMgr_SetParameter(GAPBOND_SECURE_CONNECTION, sizeof(uint8_t), &scMode);
GAPBondMgr_SetParameter(GAPBOND_LRU_BOND_REPLACEMENT, sizeof(uint8_t), &replaceBonds);
看过官网的资料,LESC的配对推荐使用GAPBOND_PAIRING_MODE_WAIT_FOR_REQ。但是在实际项目中,配置成GAPBOND_PAIRING_MODE_WAIT_FOR_REQ是没有LESC的。使用蓝牙dongle抓包,抓的还是明文。
但是使用GAPBOND_PAIRING_MODE_INITIATE配对方式,会出现有些手机可以连接断开,有些手机出现连接断不开的情况。这些主要出现在安卓机上,有andriod13 和andriod 14