wiced_wifi_scan_networks does not run

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

cross mob
Anonymous
Not applicable

Using V 3.2.2 SDK on BDM943341WCD1

I have an app that brings up a soft ap for configuration.  I use the wiced_wifi_scan_networks to get a list of SSIDs in the neighborhood so I can validate the SSID that I collect from the user over a UDP socket  that a client app uses send the configuration info the the soft AP server.

My scanning code that uses the wiced_wifi_scan_networks api works fine if I run it before I bring the the soft ap (similar in concept to what the snip.scan demo code does.

But if I bring up the soft AP so I can collect configuration parameters, the wiced_wifi_scan_networks function returns WICED_SUCCESS when  I call it, but does not actually scan, so my callback function never gets executed.

I tried starting a worker thread to run the wiced_wifi_scan_networks in, but that behaves the same. 


I also shut down the soft AP prior to running the scan, but that has no effect.

Looking at the underlying library code, I don't see anything obvious that would cause it to fail if a soft ap were running, or had been running and shut down.

There must be some shutdown logic that is needed to make this work, but I don't see anything in the documentation that suggests a fix.

Anyone have a clue what is preventing the scanner from working?

0 Likes
1 Solution
Anonymous
Not applicable

Ok, I found the problem.

The reason that wiced_scan_wifi_networks was not working when I had the soft ap running and the udp server accepting messages was because I was calling it from the udp message received callback function.

Moving this outside of the callback fixed the problem.

View solution in original post

2 Replies
Anonymous
Not applicable

After further investigation, what I have found is that it is OK to have the soft ap running, and have the UDP socket open with a callback assigned to pick up messages that come in on the port for the socket.

I can then scan repeatedly, until a message is sent to the socket.  In my code, I simply deleted the packet that came in to eliminate the possibility that handling of the packet was corrupting memory.  But once a message is received on the socket, the scanning no longer works.  All the functions that set up the scan (wiced_wifi_scan_networks and its calls to support functions)  return WICED_SUCCESS.  But no events happen.

So I am not sure if this is a bug in the SDK, or if there is some expectation of cleanup (I have tried shutting down the soft ap, removing callbacks and deleting sockets to no avail).

0 Likes
Anonymous
Not applicable

Ok, I found the problem.

The reason that wiced_scan_wifi_networks was not working when I had the soft ap running and the udp server accepting messages was because I was calling it from the udp message received callback function.

Moving this outside of the callback fixed the problem.