I have two genuine boards, UnoR4Wifi and a Giga. I have two WIFI networks both 2.4 called House and Devices. House is standalone router and Devices is a network with multiple AP's using the same network name "Devices" that I reserve for IoT. The Giga board works fine on either House or Devices. Uno R4 wifi however will only work on House, but does not connect to Devices. both boards are the same distance from the routers, approximately 3 meters. There seems to be some difference between the internal wifi libraries for R4 and Giga that causes this. Same results using either Arduino Cloud or uploading simple sketches using IDE. Any suggestions how to get the Uno R4 to connect much appreciated. Already tried different wifi libraries i.e. Wifinina without success. Thx
Have you tried using the WiFiS3 example called ScanNetworks?
Does this sketch see the Device network?
Are you including WiFi.h or WiFiS3 in your sketch?
I wonder if it is the same problem as is described here, where it selects an arbitrary AP with a weak signal instead of the AP with the strongest signal?
Note the information at the link above is specific to the "NINA" firmware used by the radio module on the Nano 33 IoT board, and a different firmware is used on the radio module of the UNO R4 WiFi board. So this is purely speculation.
Yes I have used scannetworks and the UnoR4 does see it along with other networks. It sees multiple "Devices" networks but seems gets confused at that point and has difficulties connecting. Have been using WiFiS3.h in the sketches WiFiS3.h will show networks found, but WiFi.h doen't seem to work.
Starting Wi-Fi Test...
Connecting to Wi-Fi: Starlink
...........................................................
Failed to connect. Check Wi-Fi credentials.
Debugging Wi-Fi Connection:
WiFi.status(): 255
Current RSSI: 0
MAC Address: 0:0:0:0:0:0
Firmware Version:
Here's the sketch used:
#include <WiFi.h>
void setup() {
Serial.begin(9600);
delay(1000); // Allow time for Wi-Fi module initialization
Serial.println("Starting Wi-Fi Scan...");
int numNetworks = WiFi.scanNetworks();
if (numNetworks == 0) {
Serial.println("No networks found. Check Wi-Fi module.");
} else {
Serial.println("Networks found:");
for (int i = 0; i < numNetworks; i++) {
Serial.print(i + 1);
Serial.print(": ");
Serial.print(WiFi.SSID(i));
Serial.print(" (");
Serial.print(WiFi.RSSI(i));
Serial.println(" dBm)");
}
}
}
void loop() {
// Do nothing
}
It does seem somewhat similar. I also tried some sketches to try and connect by selecting the mac address of the network with strongest signal but wasn't able to get WiFiS3.h to cooperate as it could not see the mac addresses.