DSPS不能与某些平板电脑工作

⚠️
大家好. .谢谢你来参加论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,并包含在Dialog主网站中。所有的帖子和账户都已迁移。我们现在只接受新论坛的流量-请张贴任何新的线程//www.wsdof.com/support.我们将在未来几天修复漏洞/优化搜索和标签。
16个职位/ 0个新职位
最后发表
razp
离线
最后看到:1年7个月前
加入:2017-02-08 09:20
DSPS不能与某些平板电脑工作

嗨,对话框中,

我正在开发一个设备和应用程序,并使用DSPS进行通信。

一切都比较好,但我们的设备没有连接到一些Android平板电脑,我们没有很多平板电脑检查,但“联想TAB 4 10”(TB X704L)无法连接到我们的设备。大多数平板电脑和手机运行良好。

试图调试它,我正在使用你的DSPS应用程序。
我看到连接建立了,但又立即断开。
当使用android的蓝牙设置时,试图连接设备结果,弹出错误提示:“无法与BLE配对,因为PIN或passkey不正确”-我的设备配置是“只是工作”,没有身份验证,没有passkey,没有安全,所以这条消息令人费解....

我做了一些研究:向设备添加身份验证并没有改变行为,我尝试的其他配置更改也没有做出任何更改。

有一次,它成功连接了平板电脑,DSPS应用程序瞬间工作正常。我无法复制它。

我的问题:
你遇到过这样的问题吗?
似乎设备和平板电脑之间的最初“握手”失败了一些软件。有什么建议吗?

谢谢,
拉兹

设备:
TR_Dialog
离线
最后看到:2周5天前
工作人员
加入:2014-06-30 23:52
嗨razp:

razp

您能否清除平板电脑上周边设备的任何现有条目,然后再试一次。

否则,我们需要蓝牙嗅探日志。

谢谢,

TR_DIALOG

razp
离线
最后看到:1年7个月前
加入:2017-02-08 09:20
嗨,TR。

嗨,TR。

请详细说明。
1.什么是“清除平板电脑上周边设备的任何现有条目”
2.我如何得到蓝牙嗅探日志?

拉兹

TR_Dialog
离线
最后看到:2周5天前
工作人员
加入:2014-06-30 23:52
嗨razp:

嗨razp:

1.什么是“清除平板电脑上周边设备的任何现有条目”
[TR_DIALOG]这应该在你平板电脑的蓝牙设置下。我没有安卓设备,所以不知道具体的安卓设置信息。

2.我如何得到蓝牙嗅探日志?
[TR_DIALOG]使用商业蓝牙嗅探器,如前线或其他供应商的嗅探器。

谢谢,
TR_DIALOG

razp
离线
最后看到:1年7个月前
加入:2017-02-08 09:20
嗨TR,

嗨TR,

谢谢你的帮助。
这台平板电脑或任何其他安卓平板电脑/手机都没有这样的设置,但我做了“网络设置重置”。这并没有改变连接行为。
不幸的是,我们没有“商用蓝牙嗅探器”。
我可以在Dialog SDK中记录通信吗?

亲切的问候,
拉兹

MHv_Dialog
离线
最后看到:3个月3天前
工作人员
加入:15 2013-12-06
如果有机会

如果你的平板电脑有机会与之前使用的设备配对,进入设置/连接/蓝牙并清除配对(每个配对设备的右侧应该显示一个齿轮图标)。通过点击“取消配对”来清除配对/绑定)

/ MHv

razp
离线
最后看到:1年7个月前
加入:2017-02-08 09:20
它从来没有成功过

它从未成功连接到设备。

我正在调试设备端的问题。看看事件序列,这是我看到的。



t:14 m: 1 GAPC_CONNECTION_REQ_IND
设备连接
t:13 m: 0 GAPM_CMP_EVT
t:54 m: 3 SPS_SERVER_CREATE_DB_CFM . txt
t:54 m: 3 SPS_SERVER_CREATE_DB_CFM . txt
配置文件启用
GAPC_CMP_EVT:14 m: 0
t:12 m: 0 GATTC_CMP_EVT
t:12 m: 0 GATTC_CMP_EVT
t:14 m:17 GAPC_PARAM_UPDATED_IND . t:14 m:17
t:14 m:17 GAPC_PARAM_UPDATED_IND . t:14 m:17
t:14 m:23 GAPC_ENCRYPT_REQ_IND
t:14 m:23 GAPC_ENCRYPT_REQ_IND

不太好

t:14 m: 1 GAPC_CONNECTION_REQ_IND
设备连接
t:13 m: 0 GAPM_CMP_EVT
t:54 m: 3 SPS_SERVER_CREATE_DB_CFM . txt
t:54 m: 3 SPS_SERVER_CREATE_DB_CFM . txt
配置文件启用
t:14 m: 3 GAPC_DISCONNECT_IND
设备断开连接
GAPC_CMP_EVT:14 m: 0

关于日志
T:task_num m:消息num
消息名称是我基于代码的解释。

这些日志对我来说还没意义,也许你会。

我还不确定这是一个设备问题,平板电脑问题,或者可能是对BLE协议的不同解释。

希望你能帮忙
拉兹

MHv_Dialog
离线
最后看到:3个月3天前
工作人员
加入:15 2013-12-06
平板电脑显然决定了

平板电脑显然出于某种原因决定断开连接。DSPS将尝试协商更多可选的连接参数,平板电脑可能会因此而窒息。我建议我们后退一步,让您构建并将empty_peripheral_template加载到您的目标上。该项目是100%硬件不可知的,可以运行在任何硬件DA14580特色。请使用通用蓝牙应用程序(BlueLoupe或BLE Scanner)并验证平板电脑是否与目标连接并保持连接。

另外,请提供平板电脑上的android版本。

/ MHv

razp
离线
最后看到:1年7个月前
加入:2017-02-08 09:20
嗨MHv,

嗨MHv,

好主意,平板电脑与目标连接并保持连接。

平板电脑上的Android版本是7.1.1

我的下一步应该是什么?
我试图通过设备上的通信RX/TX来确定问题。在代码中哪里是放置RX和TX通信记录器的好地方?

亲切的问候,
拉兹

MHv_Dialog
离线
最后看到:3个月3天前
工作人员
加入:15 2013-12-06
让我们从移除

让我们从删除启动连接时发生的MTU交换开始。尝试在DSPS的user_on_connection()回调函数中注释对user_gattc_exc_mtu_cmd()的函数调用。如果这能“解决”问题,我们就能很好地知道下一步该往哪里看。

/ MHv

razp
离线
最后看到:1年7个月前
加入:2017-02-08 09:20
谢谢你MHv

谢谢你MHv

我按照建议做了,结果是不确定的:建立了一个成功的连接,但不是每次都成功。
为了获得成功的连接,我需要做多次尝试(单击列表中的项目),大多数时候我得到“连接失败”错误,偶尔我会成功。此外,我似乎需要在两次成功之间重新设定时间。

在android的蓝牙设置中,我不再得到错误弹出框:“无法与BLE配对,因为PIN或passkey不正确”

亲切的问候,
拉兹

MHv_Dialog
离线
最后看到:3个月3天前
工作人员
加入:15 2013-12-06
这仍然是不错的数据。下一个

这仍然是不错的数据。接下来,尝试注释对app_easy_gap_param_update_start()的调用——相同的函数。这应该允许平板电脑完全指定连接参数,而不需要任何协商。这也将极大地限制吞吐量,但它将告诉我们在哪里调整连接参数。

/ MHv

razp
离线
最后看到:1年7个月前
加入:2017-02-08 09:20
有了这个改变,就没有

有了这个改变,连接设备到平板电脑和传输数据就没有问题了。

拉兹

MHv_Dialog
离线
最后看到:3个月3天前
工作人员
加入:15 2013-12-06
我们肯定会得到

我们在这方面肯定有所进展……

我建议我们(嗯,你们)做以下几点:

  • 尝试再次允许MTU交换,看看是否连接参数协商是罪魁祸首。
  • 经过以上测试。开始调整从设备发送的更新请求中的连接参数。连接间隔是一个潜在的问题。一些(也许是大多数)Android设备似乎接受7.5毫秒的间隔。默认连接(其中外围设备不请求更新)通常在30毫秒建立,您可以尝试在更新请求中慢慢减少这个连接
  • 您还可以尝试使用app_easy_timer将更新请求延迟一两秒。在连接启动期间,有很多事情要做,当接收到更新请求时,平板电脑可能难以处理所有这些活动。延迟请求,可以解决问题。在实现延迟后尝试使用原始参数。

/ MHv

razp
离线
最后看到:1年7个月前
加入:2017-02-08 09:20
嗨MHv,

嗨MHv,

谢谢你的耐心。

第三点是有效的。我延迟了对user_gattc_exc_mtu_cmd()和app_easy_gap_param_update_start()的调用10毫秒,似乎平板电脑的一切工作都很好。

您建议延迟1-2秒。10毫秒是不是太短了?
你知道这一变化将如何影响大多数android / iOS设备,这些设备在最初的实现中运行良好吗?

亲切的问候,
拉兹

MHv_Dialog
离线
最后看到:3个月3天前
工作人员
加入:15 2013-12-06
这是个好消息。我不

这是个好消息。我不认为延迟的时间有多重要。平板电脑似乎无法处理之前的活动计时,任何事件分离都会有所帮助。

Android和iOS都以神秘的方式工作;o),但可以安全地保存您的代码更改使DSPS更具包容性,并且将比原始代码适用于更多设备。我将向我们的应用程序团队建议,他们应该将您的雷竞技安卓下载修复视为可能滚动到任何未来DSPS更新中的内容。

/ MHv