Page 1 of 3

【已解决】涂鸦BLE配网成功率问题

Posted: 2022年 Nov 21日 10:30
by dongyun

涂鸦BLE配网已经对接成功,但是测试发现配网有时候会失败,通过打印信息发现,IPC这边 BLE打印 有停顿现象。
如果停顿超过10s左右,然后App就超时断开连接了。停顿7s左右,配网还能继续下去。
请问是什么原因出现 停顿呢,每次停顿都会出现一个 gethostbyname_r 失败的打印,请问和这个打印有关吗?


下面这个截图是配网失败,停顿11s左右,然后BLE断开连接了。通过BLE抓包发现是App主动断开的,应该就是App判断超时了。

微信图片_20221121102208.jpg

下面这个截图是配网成功,停顿7s左右。

微信图片_20221121102215.jpg

Re: 涂鸦BLE配网成功率问题

Posted: 2022年 Nov 21日 11:00
by chenjing

从日志看,域名解析失败引起无法正常激活。
可以尝试排查一下这个过程中,网络连接是否正常,比如可以简单点添加个同步ping特定域名的debug日志看看

PS: 本主题转移到对应的多媒体设备开发版面中了


Re: 【求助】涂鸦BLE配网成功率问题

Posted: 2022年 Nov 21日 13:57
by dongyun

在这个配网过程中需要 执行 域名解析吗?此时还没有配网,是没有连接网络的,执行域名解析肯定就被阻塞失败了,
从log来看,此时BLE配网才刚刚开始,刚刚收到App的数据,还没到 配置SSID和密码 那个阶段,


Re: 【求助】涂鸦BLE配网成功率问题

Posted: 2022年 Nov 21日 15:42
by chenjing

提供一下异常场景下的完整的开启debug的日志文件?我们分析一下


Re: 【求助】涂鸦BLE配网成功率问题

Posted: 2022年 Nov 21日 15:43
by chenjing

使用的SDK版本号也提供一下


Re: 【求助】涂鸦BLE配网成功率问题

Posted: 2022年 Nov 21日 16:19
by dongyun
chenjing 2022年 Nov 21日 15:42

提供一下异常场景下的完整的开启debug的日志文件?我们分析一下

SDK版本是 5.3.26, 附件是log文件,该文件的 3600行左右,有 Disconnect 和 gethostbyname_r error

微信图片_20221121161751.jpg
11-18.log
(4.05 MiB) Downloaded 192 times

Re: 【求助】涂鸦BLE配网成功率问题

Posted: 2022年 Nov 21日 20:49
by 愚者千虑必有一得
dongyun 2022年 Nov 21日 16:19
chenjing 2022年 Nov 21日 15:42

提供一下异常场景下的完整的开启debug的日志文件?我们分析一下

SDK版本是 5.3.26, 附件是log文件,该文件的 3600行左右,有 Disconnect 和 gethostbyname_r error
微信图片20221121161751.jpg
11-18.log


从你提供的log里,蓝牙配网已经拿到了路由信息:

企业微信截图_1669034472974.png

连接路由器也是正常的,wifi status到6已经连接成功:

企业微信截图_16690346126406.png

但是没有外网,dns失败,使用静态dns的时候,tcp connect也失败,errno:

企业微信截图_16690348802188.png
企业微信截图_1669034910408.png

Re: 【求助】涂鸦BLE配网成功率问题

Posted: 2022年 Nov 22日 09:12
by dongyun
愚者千虑必有一得 2022年 Nov 21日 20:49
dongyun 2022年 Nov 21日 16:19
chenjing 2022年 Nov 21日 15:42

提供一下异常场景下的完整的开启debug的日志文件?我们分析一下

SDK版本是 5.3.26, 附件是log文件,该文件的 3600行左右,有 Disconnect 和 gethostbyname_r error
微信图片20221121161751.jpg
11-18.log


从你提供的log里,蓝牙配网已经拿到了路由信息:
企业微信截图
1669034472974.png
连接路由器也是正常的,wifi status到6已经连接成功:
企业微信截图16690346126406.png
但是没有外网,dns失败,使用静态dns的时候,tcp connect也失败,errno:
企业微信截图
16690348802188.png
企业微信截图_1669034910408.png

需要关注的不是配网成功,而是那个配网失败的信息,也就是 3600行左右的断开连接。
因为 配网有时成功,有时失败,而失败时,可以看到中间有几秒卡顿,卡顿超过10s,App就判定超时了。


Re: 【求助】涂鸦BLE配网成功率问题

Posted: 2022年 Nov 22日 10:25
by 愚者千虑必有一得
dongyun 2022年 Nov 22日 09:12
愚者千虑必有一得 2022年 Nov 21日 20:49
dongyun 2022年 Nov 21日 16:19

SDK版本是 5.3.26, 附件是log文件,该文件的 3600行左右,有 Disconnect 和 gethostbyname_r error
微信图片20221121161751.jpg
11-18.log


从你提供的log里,蓝牙配网已经拿到了路由信息:
企业微信截图
1669034472974.png
连接路由器也是正常的,wifi status到6已经连接成功:
企业微信截图16690346126406.png
但是没有外网,dns失败,使用静态dns的时候,tcp connect也失败,errno:
企业微信截图
16690348802188.png
企业微信截图_1669034910408.png

需要关注的不是配网成功,而是那个配网失败的信息,也就是 3600行左右的断开连接。
因为 配网有时成功,有时失败,而失败时,可以看到中间有几秒卡顿,卡顿超过10s,App就判定超时了。

蓝牙断开问题不大,因为蓝牙此时已经完成了任务,拿到了ssid passwd,已经可以断开了。app配网成功、失败是通过轮询云端设备是否上线来确定的。这里的问题可以分开看:
1,蓝牙断开的问题,蓝牙连接维护是在协议层做的,你们的蓝牙适配的地方可以跟踪看看:rx BT event: 0x5,可以打一下协议栈的错误码。这个蓝牙断开不影响配网。
2,配网的问题:如上面的分析,网络可能有问题。


Re: 【求助】涂鸦BLE配网成功率问题

Posted: 2022年 Nov 22日 15:59
by dongyun
愚者千虑必有一得 2022年 Nov 22日 10:25
dongyun 2022年 Nov 22日 09:12
愚者千虑必有一得 2022年 Nov 21日 20:49

从你提供的log里,蓝牙配网已经拿到了路由信息:
企业微信截图1669034472974.png
连接路由器也是正常的,wifi status到6已经连接成功:
企业微信截图
16690346126406.png
但是没有外网,dns失败,使用静态dns的时候,tcp connect也失败,errno:
企业微信截图16690348802188.png
企业微信截图
1669034910408.png

需要关注的不是配网成功,而是那个配网失败的信息,也就是 3600行左右的断开连接。
因为 配网有时成功,有时失败,而失败时,可以看到中间有几秒卡顿,卡顿超过10s,App就判定超时了。

蓝牙断开问题不大,因为蓝牙此时已经完成了任务,拿到了ssid passwd,已经可以断开了。app配网成功、失败是通过轮询云端设备是否上线来确定的。这里的问题可以分开看:
1,蓝牙断开的问题,蓝牙连接维护是在协议层做的,你们的蓝牙适配的地方可以跟踪看看:rx BT event: 0x5,可以打一下协议栈的错误码。这个蓝牙断开不影响配网。
2,配网的问题:如上面的分析,网络可能有问题。

从3600行的打印来看,BLE Disconnect 时,还没有配网完成,没有拿到ssid/pwd,BLE 才刚刚建立连接,App 才发了第一笔数据过来,在等待 SDK这边发送数据,但是 SDK这边卡顿了10s左右,所以App等待超时了,配网失败,所以才说关注点在这里。

后面也有配网成功的log,对比也可以看出整个配网过程的交互还是很多的,拿到 ssid/pwd 之前已经交互很多次了。
所以配网失败时,仅仅是App发送了一笔数据,SDK还没有回复数据,App等待超时。