I sometimes encounter an unusual problem with my Pico-W device where it cannot connect to wifi with the ‘STAT_NO_AP_FOUND’ error. To troubleshoot this issue, I have written some code and discovered that the Pico-W is only able to detect a few wifi networks out of the numerous ones in my surrounding area. Despite my modem being only a meter away, the Pico-W still cannot detect the wlan. Do you happen to know of any known problems when using the Pico-W with Telstra Gen3 modems? I would appreciate your insights on this matter.
Are they 5GHz networks? The Pico W is only 2.4 so wont pick up those using higher frequency WiFi.
The default network is set to support both 2.4 & 5 GHz (not split). The guest network is set to 2.4GHz to support legacy devices. The Pico can see neither. it is a bit confusing as the board can see different numbers of wlans each time I call scan() method.
MicroPython v1.20.0 on 2023-04-26; Raspberry Pi Pico W with RP2040
SSID is not hidden
My modem is about a meter away
That is a strange problem since I can see some networks are showing up in your scan more frequently than others so I’d assume they would just be the ones with the strongest signal and likely the closest.
It shouldn’t matter for that scan function, but does the network you were trying to connect to have a hidden SSID or is it set to be publicly visible.
Also, not relevant to your problem, but your neighbours have some seriously boring WiFi network names.
I think you are correct. The second number I think is signal strength, probably dbm looking at the levels. If they were dbmV -54 would be 2µV and -74 would be 0.2µV which would require a very sensitive receiver for this and lower levels. Now I don’t know what the sensitivity is like with these receivers but this level is very low hence my assumption of dbm.
The top one is always the same and strongest working its way down to the -80s and 90s.
You will get a similar thing if you look at what networks are around your computer. I have neighbouring networks around that come and go seemingly at random.
Don’t know why the close up one (1M) doesn’t show though.
Just had a thought. That top one on the lists would not be the close one would it. It has a strong and reliable signal, -54dbm equates to almost 0.5mV or 500µV. Worth checking.
The SSID is not hidden, and the scan is successful once in a blue moon. On the modem, security is set to WPA2-WPA3-PSK (I have tested WPA2-PSK only but to no avail).
In the screenshot, both SSIDs at the bottom are my networks. It shows I have a security level of 5 and a hidden value of 3. RSSI=>30 means a very good signal.
In the documentation here, I have seen only refer to four security levels and two hidden values.
The SSID is not hidden. Not sure why, but the board has decided not to see the network abruptly.
If those negative numbers are dbm those last 2 networks at -26 and -30 are a pretty strong signal and equate to 11mV and 7mV respectively. A figure I could believe at about 1M range as you stated.
I don’t know much about this but could this availability problem have anything to do with the number of devices using the network at any one time, there surely has to me a limit of some kind.
Edit: Part of post deleted due to incorrect signal strength calc.
Thank you for your support!
I have discovered that the chip cannot detect the SSIDs when the router’s selected channel is higher than 11. I manually set the router to use a channel between 1 and 11 and the Pico board has started working as expected.
If the PicoW is not seeing the higher numbers you need to set the country code.
Have a read through network — network configuration — MicroPython latest documentation
Look for the network.countrycode() call.
Excellent pickup - I’ll add a note to get that added to our guides!
@Farhad164597 if you add the country parameter are you able to get all of your WiFi bands working?
Thanks Liam, not sure where I gleaned this from, possibly somewhere totally un-related like trying out ESP-NOW and having to set the WiFi channel so the devices don’t have to scan APs.