TI 工程师:
1,问题如标题所说,
2,背景资料:simplelink_cc2640r2_sdk_1_50_00_58, 角色为ihid peripherial 设备,
3, PAIRING_MODE:GAPBOND_PAIRING_MODE_INITIATE
4,配对到其中1个central 设备,出现安全链接失败,然后断链
5,如果把配对模式设置我为GAPBOND_PAIRING_MODE_WAIT_FOR_REQ等待对方配对,测可以正常配对。
6, 附件是抓包文件,发现响应出现有Attribute not found和 Insufficient Authenlicition错误,具体那个错误导致安全链接失败?
7,因为这个peripherial要兼容多个Central, 因为等着生产,特急需要知道原因。Z1_fail_3.zip
Kevin Qiu1:
之前有出现这个问题吗,有没有试过升级到最新的SDK试一下
bing zhou:
回复 Kevin Qiu1:
没有,这是新加的centrial设备,用SDK 3.4也不行,能分析下抓的包吗?看是否找出问题出现在那里
Kevin Qiu1:
回复 bing zhou:
可能是你那个设备不可读
No attribute found within the given attribute handle range.
The starting handle shall be less than or equal to the ending handle. If a server receives a Read By Type Request with the Starting Handle parameter greater than the Ending Handle parameter or the Starting Handle parameter is 0x0000, an Error Response shall be sent with the «Invalid Handle» error code; The Attribute Handle In Error parameter shall be set to the Starting Handle parameter. If no attribute with the given type exists within the handle range, then no attribute handle and value will be returned, and an Error Response shall be sent with the error code «Attribute Not Found». The Attribute Handle In Error parameter shall be set to the starting handle.
我刚试了下,输入密码配对成功后,不会断开连接,你是从机断开连接还是主机?
bing zhou:
回复 Kevin Qiu1:
从机断开链接,因为i安全链接有个10秒时间期限,10秒timeout就断链
Kevin Qiu1:
回复 bing zhou:
输入密码配对成功后还是会断开连接?
bing zhou:
回复 Kevin Qiu1:
配置测试如下:
DEFAULT_MITM_MODE: FALSE
DEFAULT_IO_CAPABILITIES:GAPBOND_IO_CAP_NO_INPUT_NO_OUTPUT
DEFAULT_PAIRING_MODE:GAPBOND_PAIRING_MODE_INITIATE
因此没有输入密码配对过程,调用默认B_APP_DEFAULT_PASSCODE: 0
Kevin Qiu1:
回复 bing zhou:
你想通过什么方式连接,不配对还是配对?
// Don't send a pairing request after connecting; the peer device must// initiate pairinguint8_t pairMode = GAPBOND_PAIRING_MODE_WAIT_FOR_REQ;// Use authenticated pairing: require passcode.uint8_t mitm = TRUE;// This device only has display capabilities. Therefore, it will display the// passcode during pairing. However, since the default passcode is being// used, there is no need to display anything.uint8_t ioCap = GAPBOND_IO_CAP_DISPLAY_ONLY;// Request bonding (storing long-term keys for re-encryption upon subsequent// connections without repairing)uint8_t bonding = TRUE;
bing zhou:
回复 Kevin Qiu1:
需要做配对并建立Secure Connect
DEFAULT_BONDING_MODE: TRUE如果从机和主机的配对模式都配置为DEFAULT_PAIRING_MODE:GAPBOND_PAIRING_MODE_INITIATE,从BLE协议的角度是怎么判断,取舍的,从机在GAPROLE_CONNECTED建立时是否知道主机的配对模式参数是GAPBOND_PAIRING_MODE_INITIATE 或者GAPBOND_PAIRING_MODE_WAIT_FOR_REQ?
Kevin Qiu1:
回复 bing zhou:
有个配对交换的过程,看下这里:dev.ti.com/…/node
bing zhou:
回复 bing zhou:
用第3方配对模式为GAPBOND_PAIRING_MODE_INITIATE,并能成功配对的peripherial设备,抓包比较发现如下差异,能分析什么原因导致的
我们设备如下:
第3方设备
我们错误相应包展开如下:
第3方相应包展开“
”