没有收到Exchange MTU响应时的指示

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.wsdof.com/support。我们将在未来几天修复bug /优化搜索和标记。
8个帖子/ 0个新
最后发表
rparkinson
离线
最后看到:两个月三个星期前
加入:2017-10-03 23
没有收到Exchange MTU响应时的指示

在我们使用DA14581的BLE外设中,在连接时外设发送一个Exchange MTU请求,通常接收一个Exchange MTU响应。我们已经在iOS设备上运行过,在DA14581发送Exchange MTU请求后,iOS设备发送一个Exchange MTU请求,DA14581发送一个Exchange MTU响应。此时iOS设备向DA14581特征发送写请求。DA14581发送一个写响应,然后通常会发送一个指示。在交换MTU序列发生的情况下,没有指示被发送,即使双方已经成功协商的MTU。

在此实例中,缺少接收Exchange MTU响应是否使DA14581处于不执行指示的状态?

谢谢你的帮助。

关键词:
设备:
PM_Dialog
离线
最后看到:1天18小时前
工作人员
加入:2018-02-08 11:03
嗨rparkinson,

嗨rparkinson,

谢谢你在网上提出的问题。能不能分享一份嗅探日志,这样我就能通过它了解广播里发生了什么?这种行为是否只发生在iOS上?

谢谢,PM_Dialog

rparkinson
离线
最后看到:两个月三个星期前
加入:2017-10-03 23
当然,我会装上嗅探器

当然,我会附上一个嗅探器文件。这种情况只出现在iOS上。我们广泛使用Android,从未见过这个问题。

每个嗅探器文件,这个有问题的MTU交换发生在帧1169250,169448和169460。第一个写请求到达第169758帧的DA14581,并有一个写响应。我们的系统将始终发送一个指示,但在这种情况下,它不。

附件:
PM_Dialog
离线
最后看到:1天18小时前
工作人员
加入:2018-02-08 11:03
嗨rparkinson,

嗨rparkinson,

谢谢你分享我的嗅探日志-我会去想的。你能不能也在日期SDK版本?SDK5.0.4吗?

谢谢,PM_Dialog

rparkinson
离线
最后看到:两个月三个星期前
加入:2017-10-03 23
是的,我们使用SDK 5.0.4

是的,我们使用SDK 5.0.4

PM_Dialog
离线
最后看到:1天18小时前
工作人员
加入:2018-02-08 11:03
嗨rparkinson,

嗨rparkinson,

谢谢你的暗示。我已经在内部升级了这件事,所以一旦有团队的反馈,我会尽快回复你。

谢谢,PM_Dialog

PM_Dialog
离线
最后看到:1天18小时前
工作人员
加入:2018-02-08 11:03
嗨rparkinson,

嗨rparkinson,

根据蓝牙LE 4.0规范,DA14580已经发送了一个MTU_exchange请求,并等待MTU交换响应。如果这个响应不是来自iPhone(客户端),那么发送一个安全请求不是一个好方法。

我们假设您需要解耦MTU交换请求和安全请求调用机制,以便首先进行MTU交换,然后从DA14580发送安全请求。

当一个MTU交换请求的响应处于等待状态时,设备不能发送指示或通知。显然,iOS堆栈由于可能与正在进行的安全进程发生冲突而错误地丢弃了请求。为了不混淆iOS栈,建议Exchange MTU请求与安全请求分离,先发出MTU请求,然后在安全请求完成后再发出。

谢谢,PM_Dialog

rparkinson
离线
最后看到:两个月三个星期前
加入:2017-10-03 23
你好,我们已经更新了我们的

你好,我们已经更新了我们的外围设备,它使用Dialog 14581按照你的建议运行,解耦MTU交换请求和安全请求调用机制,以便MTU交换首先进行,然后安全请求将从DA14580发送。”不幸的是,这一改变对我们在连接某些iOS设备时遇到的问题没有影响。我的具体问题是:在这个有问题的iOS案例中,在Dialog发送Exchange MTU请求后,iOS发送Exchange MTU请求,而Dialog发送Exchange MTU响应。虽然这不是规范所涵盖的序列,但MTU已经被成功协商过了,这应该足以允许Dialog开始发送indication。这样的Dialog中的设计更新可能处理这种情况吗?

谢谢你的考虑。