Wiced roaming with LWIP

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Félix_T
Level 5
Level 5
10 sign-ins First comment on blog 50 replies posted

We are running a BCM43362 in conjunction with an STM32F415.  We are seeing an issue with roaming.  Every 2 to 8 roams causes the system to no longer be able to connect to the AP.  This is experienced with "wiced_wifi_scan" failing to return with WICED_SUCCESS. Sometimes the system, fails to jump to another ap and we can no longer send with no deauth being reported by the link_handler.  Other times the roam succeeds, but soon after the system fails to send with a deauth also never being reported.  When this occurs, "host_buffer_get" seems to always be failing on "pbuf_alloc".

The memory used for wiced and lwip buffers has a large number of fragments but still has a lot of space.  Once we get into this state, the only recovery is a system restart.

Has anyone also experienced this?

Our process for roaming is fairly simple.  We have the link_handler subscribed to the roamed event, which alerts us that a roam occured.  When this happens, we renew the DHCP lease but don't wait for it to complete.  Other than that, we don't stop any sockets or prevent them from send/receiving.

EDIT:  we are also not receiving the link events for WLC_E_ROAM_START.  This along with WLC_E_ROAM_PREP would be useful to manage our low power scheme, but even though they are added to the link_events list, they never seem to be reported by the platform. WLC_E_ROAM does get posted after a roam completes. 

Message was edited by: Felix Turgeon

0 Likes
1 Reply
Félix_T
Level 5
Level 5
10 sign-ins First comment on blog 50 replies posted

Removed the DHCP renew, because it's useless on a same subnet roam.  The issue immediately went away.  We also changed our initial DHCP request to try every 1 second for a few second in the event that we don't get a response immediately.

0 Likes