This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

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端获取此异常,并处理该问题

  • 您好,

    抓 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获取的

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

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

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

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

  • 您好,

    那么,所有 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这边的打印,并未找到异常情况发生时所发生的事件

  • 您好,

    我已经将这个问题升级,如有补充您目前调试结果的进展可以直接点击此链接与 E2E 论坛工程师进行沟通:https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1337494/cc3235sf-cc3235-sta-failed-to-get-ip-address/5094115#5094115