TI中文支持网
TI专业的中文技术问题搜集分享网站

CC3235SF: CC3235 STA无法获取到IP地址

Part Number:CC3235SF

目前使用环境是2个AP带四个STA,反复切换入网,AP做TCP Server,STA做TCP Client。当四个STA同时连上1号AP时,连上1号AP的TCP服务器,之后断开所有STA连接,同时连接2号AP的TCP服务器,如此反复操作,一段时间后会出STA无法从AP获取IP地址的情况,且重启STA依然不能获取,但是主机没有相关的状态打印,不知道哪个环节出了问题,请问从何从AP端获取此异常,并处理该问题

Yolande Wang:

您好,

抓 Log 看一下 AP 设备上的系统日志输出,确定一下是 STA 连接问题还是 IP 地址分配的错误。

,

?? ?:

DebugMsg打开了,AP这边没有任何异常信息打印,STA那边打印client can not connect:-114或者sl disconnect reason 200,然后通过对 

void SimpleLinkNetAppEventHandler(SlNetAppEvent_t *pNetAppEvent)这个函数里面来看,switch(pNetAppEvent->Id)会进入default。然后IP地址也是通过指针pNetAppEvent->Data.IpAcquiredV4获取的

,

Yolande Wang:

-114  通常表示WiFi连接失败,可能由于信号强度不够或者身份验证失败引起。

200 错误表示simplelink 断开连接,原因可能是超时,网络配置变化等网络错误。

检查一下网络设备和路由器设置。

另外,DHCP 服务器您是如何配置的。

,

Yolande Wang:

您好,

那么,所有 4 个站的连接和断开连接在大部分时间都有效,但有时会失败?

基本上,连接时每个站应该获得两个事件,SL_WLAN_EVENT_CONNECT 后跟 SL_NETAPP_EVENT_IPV4_ACQUIRED。与 AP 断开连接时,您应该收到 SL_WLAN_EVENT_DISCONNECT。

您能显示每个站获得的事件吗?-114 是当您尝试以非阻塞模式连接到服务器时需要重试,而 200 原因是 WLAN 断开连接。

您还可以使用带有选项 SL_WLAN_CONNECTION_INFO 的 sl_WlanGet() API 主动探测 WLAN 状态。

另一种选择是从内部 NWP 获取日志并查看幕后发生的情况。

另外我认为您也应该尝试:

在 STA 端使用地址释放选项SL_NETCFG_IPV4_STA_ADDR_MODE -> SL_NETCFG_IF_ENABLE_DHCP_RELEASE
在 AP 端减少租用时间并检查 DHCP 池范围的大小

,

?? ?:

有时会失败,通过状态打印,出现该问题后则会出现SL_NETAPP_EVENT_IP_COLLISION事件,表示IP相撞,至于你说的SL_WLAN_EVENT_CONNECT 以及SL_NETAPP_EVENT_IPV4_ACQUIRED事件,均做了状态打印处理,但异常情况下,这两者不打印。

然后昨天发现的情况,之前出现IP不分配情况时,手机仍然可以连接,但是现在出现问题后,手机也无法连接WIFI。仅打印SL_NETAPP_EVENT_IP_COLLISION以及SL_WLAN_EVENT_STA_REMOVED事件

,

?? ?:

主要是现在出现例如IP相撞事件,或者IP用完的情况下,是否有接口可以清空这些IP,或重启WIFI,达到AP主动检测异常这一行为,但这些都需要AP达成某一条件,也就是未获取IP的这种情况下发生,通过AP这边的打印,并未找到异常情况发生时所发生的事件

,

Yolande Wang:

您好,

我已经将这个问题升级,如有补充您目前调试结果的进展可以直接点击此链接与 E2E 论坛工程师进行沟通:https://www.ti2k.com/wp-content/uploads/ti2k/DeyiSupport_WIFI_5094115

赞(0)
未经允许不得转载:TI中文支持网 » CC3235SF: CC3235 STA无法获取到IP地址
分享到: 更多 (0)