T5 3.13.3 版本 4g 网络联通后,通过二维码绑定成功,ai 已经能正常对话,但是get_wf_gw_nw_status 返回的状态是 5,不正常啊

Wi-Fi 设备、蜂窝设备、WuKongAI、开发板、TuyaOS 移植等


Post Reply
tomcat0130
Posts: 7

T5 3.13.3 版本 4g 网络联通后,通过二维码绑定成功,ai 已经能正常对话,但是get_wf_gw_nw_status 返回的状态是 5,tuya_iot_reg_get_wf_nw_stat_cb 这个回调的状态也是 5

#define STAT_STA_DISC 5 // only station mode,disconnect
#define STAT_STA_CONN 6 // station mode connect
#define STAT_CLOUD_CONN 7 // cloud connect

正常应该是 7 才对,这是 bug 还是哪里没搞对,我用tuyaos_demo_wukong_ai这个 demo去二次开发调整的

愚者千虑必有一得
Posts: 889

Re: T5 3.13.3 版本 4g 网络联通后,通过二维码绑定成功,ai 已经能正常对话,但是get_wf_gw_nw_status 返回的状态是 5,不正常啊

根因:get_wf_gw_nw_status() 函数内部通过 tal_wifi_station_get_status() 检查WiFi物理连接状态。4G Only模式下,系统主动断开WiFi并停止重连(tal_wifi_reconn_stop()),WiFi状态不再是 WSS_GOT_IP,因此函数直接返回 STAT_STA_DISC(5),完全绕过了后续的MQTT连接状态检查。

关键发现:这不是网络故障。设备实际已通过4G链路成功连接MQTT云端(AI对话正常佐证了这一点),问题在于该API设计上仅面向WiFi场景。

推荐方案:4G场景下使用 tuya_iot_get_cellular_stat() 替代 get_wf_gw_nw_status(),或在应用层根据当前链路策略(LINKPOLICY_4G_ONLY)自动切换状态查询API。报告中也包含了SDK层面的增强建议供参考。

Post Reply