【求助】网线拔出之后,sdk不调用__on_status_offline接口

IPC/NVR/可视门铃等具备多媒体能力的设备,扫地机/AGV等机器人设备


Post Reply
mumu
Posts: 12

您好,我们在使用 6.2.8 的SDK,出现的问题情况描述如下:
1.网线拔出之后(没有连接WiFi的情况下),sdk不调用on_status_offline接口(拔出有1-2分钟,始终没有调用),但是网线插上sdk有调用on_status_online接口。有线的状态是有通过link_status_thread线程实时上报的。
2.单独使用WiFi时,把路由器关掉,让设备离线,sdk则有调用__on_status_offline接口。
3.日志中从[08-21 20:27:53 ty D]开始,便是拔出网线的操作。
4.同时想请请教一下,6.2.8sdk中是否有在插入网线的状态下,能够主动获取mqtt状态或者网络连接(平台)状态的接口。
日志已放在附件中,请大佬们帮忙分析一下是什么原因,谢谢!!

Attachments
网线拔出sdk没有调用__on_status_offline.log
(597.73 KiB) Downloaded 19 times

Tags:
郭老庄
Posts: 299

Re: 【求助】网线拔出之后,sdk不调用__on_status_offline接口

任务队列阻塞了,sdk加了些打印,重新复现下

Attachments
libtuyaos.tar.gz
(2.11 MiB) Downloaded 19 times
mumu
Posts: 12

Re: 【求助】网线拔出之后,sdk不调用__on_status_offline接口

您好,对应的log已经提交在附件,还请大佬您帮忙分析一下,谢谢!
其中总共有两次拔出网线的操作:
第一次:[08-22 15:19:20 ty D]到[08-22 15:22:17 ty D]之间
第二次:[08-22 15:22:52 ty D]到文件结束

Attachments
网线拔出sdk没有调用__on_status_offline---更换库之后.log
(800.18 KiB) Downloaded 21 times
郭老庄
Posts: 299

Re: 【求助】网线拔出之后,sdk不调用__on_status_offline接口

看一下0x4e6e78 这个地址对应是哪个函数

mumu
Posts: 12

Re: 【求助】网线拔出之后,sdk不调用__on_status_offline接口

大佬,请问有什么方式可以来确定这个地址对应的函数呢,有什么对应的指令可以查询吗?

mumu
Posts: 12

Re: 【求助】网线拔出之后,sdk不调用__on_status_offline接口

郭老庄 2025年 Aug 22日 16:48

看一下0x4e6e78 这个地址对应是哪个函数

请您帮忙看一下,是像附件这样子查吗,前面提供的log是程序在ipc上跑的时候获取的,然后附件的图片实在Ubuntu中对相应的可执行程序进行查询,不知道这种方式是否正确?请您确认一下,若有操作错误的地方,还请指导一下正确的查询方式,谢谢!

Attachments
0x4e6e78---func.png
郭老庄
Posts: 299

Re: 【求助】网线拔出之后,sdk不调用__on_status_offline接口

你做的没问题。我怀疑是tkl_wifi_station_connect这个函数卡住了,这个函数前后你多加点儿打印

mumu
Posts: 12

Re: 【求助】网线拔出之后,sdk不调用__on_status_offline接口

确实是在tkl_wifi_station_connect这个地方卡住了。十分感谢!
大佬,我在调试这个问题的时候还发现一个比较奇怪的点:
配网阶段插着网线,我使用无线配网,相应的WiFi被作为sdk当作备用网络给保存了,设备上线之后,我把网线拔出之后,“sdk会发送2-3次空的字符串下来(间隔20s左右),直到1min左右才下发备用网络的信息下来”,而不是直接发送备用网络的信息。
您清楚这个是什么原因吗?

郭老庄
Posts: 299

Re: 【求助】网线拔出之后,sdk不调用__on_status_offline接口

mumu 2025年 Aug 25日 11:51

确实是在tkl_wifi_station_connect这个地方卡住了。十分感谢!
大佬,我在调试这个问题的时候还发现一个比较奇怪的点:
配网阶段插着网线,我使用无线配网,相应的WiFi被作为sdk当作备用网络给保存了,设备上线之后,我把网线拔出之后,“sdk会发送2-3次空的字符串下来(间隔20s左右),直到1min左右才下发备用网络的信息下来”,而不是直接发送备用网络的信息。
您清楚这个是什么原因吗?

没理解你描述的现象,比如“sdk会发送2-3次空的字符串下来”,sdk发给哪个接口?最好有完整日志

mumu
Posts: 12

Re: 【求助】网线拔出之后,sdk不调用__on_status_offline接口

郭老庄 2025年 Aug 25日 13:46
mumu 2025年 Aug 25日 11:51

确实是在tkl_wifi_station_connect这个地方卡住了。十分感谢!
大佬,我在调试这个问题的时候还发现一个比较奇怪的点:
配网阶段插着网线,我使用无线配网,相应的WiFi被作为sdk当作备用网络给保存了,设备上线之后,我把网线拔出之后,“sdk会发送2-3次空的字符串下来(间隔20s左右),直到1min左右才下发备用网络的信息下来”,而不是直接发送备用网络的信息。
您清楚这个是什么原因吗?

没理解你描述的现象,比如“sdk会发送2-3次空的字符串下来”,sdk发给哪个接口?最好有完整日志

好的,相应的log如附件,还请大佬您帮忙看一下,谢谢!
1.插着有线,使用AP配网的方式,相应的配网信息被当作备用网络,且当前设备在配网之后未重启过
2.第一次拔出网线时间[08-25 17:27:01 ty D]
[08-25 17:27:01 ty E]接口tkl_wifi_station_connect第一次收到了ssid,为空字符'\0',您可以使用tuya_adapter_wifi_station_connect return----->ssid is null搜索
[08-25 17:27:22 ty E]接口tkl_wifi_station_connect第二次收到了ssid,也是空字符'\0'
[08-25 17:27:44 ty E]接口tkl_wifi_station_connect第三次收到了ssid,也是空字符'\0'
[08-25 17:28:02 ty E]接口tkl_wifi_station_connect第四次收到了ssid,为有效的ssid,可以通过tuya_adapter_wifi_station_connect--->ssid:DGIOT 搜索到

3.第二次拔出网线时间[08-25 17:29:08 ty D]
[08-25 17:29:10 ty E]tkl_wifi_station_connect接收到ssid且内容是有效的

Attachments
拔出网线后,tkl_wifi_station_connect接口接收到2-3遍ssid为空字符串.log
(619.22 KiB) Not downloaded yet
Post Reply