Page 1 of 2

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

Posted: 2025年 Aug 21日 20:44
by mumu

您好,我们在使用 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状态或者网络连接(平台)状态的接口。
日志已放在附件中,请大佬们帮忙分析一下是什么原因,谢谢!!


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

Posted: 2025年 Aug 22日 14:41
by 郭老庄

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


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

Posted: 2025年 Aug 22日 15:34
by mumu

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


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

Posted: 2025年 Aug 22日 16:48
by 郭老庄

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


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

Posted: 2025年 Aug 22日 16:55
by mumu

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


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

Posted: 2025年 Aug 22日 17:07
by mumu
郭老庄 2025年 Aug 22日 16:48

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

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


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

Posted: 2025年 Aug 22日 17:48
by 郭老庄

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


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

Posted: 2025年 Aug 25日 11:51
by mumu

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


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

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

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

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


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

Posted: 2025年 Aug 25日 17:47
by mumu
郭老庄 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且内容是有效的