Arduino Uno WiFi R2 WiFi Won't Connect WPA2 (WL_CONNECT_FAILED)

Hi, I am unable to get my Uno WiFi R2 to connect via WPA2. The only error message I am able to dig out is “WL_CONNECT_FAILED” which isn’t very helpful. Is there a way to get more details on why the connection is failing? My code is below, but it is essentially the sample WPA2 connection code that comes with the library. I tried extending the connection timeout, which didn’t help.

Thanks in Advance.

----- code -----

/*

This example connects to an unencrypted Wifi network.
Then it prints the MAC address of the Wifi module,
the IP address obtained, and other network details.

created 13 July 2010
by dlf (Metodo2 srl)
modified 31 May 2012
by Tom Igoe
modified 02 Oct 2020: Added textual printout of WiFi connection status. Added timeout parameter set.

*/
#include <SPI.h>
#include <WiFiNINA.h>

#include “arduino_secrets.h”
///////please enter your sensitive data in the Secret tab/arduino_secrets.h
char ssid = SECRET_SSID; // your network SSID (name)
char pass = SECRET_PASS; // your network password (use for WPA, or use as key for WEP)
wl_status_t status = WL_IDLE_STATUS; // the Wifi radio"s status

void setup() {
//Initialize serial and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}

// check for the WiFi module:
if (WiFi.status() == WL_NO_MODULE) {
Serial.println(“Communication with WiFi module failed!”);
// don"t continue
while (true);
}

String fv = WiFi.firmwareVersion();
if (fv < WIFI_FIRMWARE_LATEST_VERSION) {
Serial.println(“Please upgrade the firmware”);
}

// print your MAC address:
byte mac[6];
WiFi.macAddress(mac);
Serial.print("MAC address: ");
printMacAddress(mac);

// attempt to connect to Wifi network:
WiFi.setTimeout(120 * 1000);
WiFi.config(IPAddress(192, 168, 1, 180));
while (status != WL_CONNECTED) {
Serial.print("Attempting to connect to WPA SSID: ");
Serial.println(ssid);
// Connect to WPA/WPA2 network:
status = WiFi.begin(ssid, pass);
Serial.print("Status: ");
Serial.println(toStringWiFiStatus(status));

// wait 10 seconds to retry for connection:
delay(10000);
}

// you"re connected now, so print out the data:
Serial.print(“You’re connected to the network”);
printCurrentNet();
printWifiData();

}

void loop() {
// check the network connection once every 10 seconds:
delay(10000);
printCurrentNet();
}

void printWifiData() {
// print your board"s IP address:
IPAddress ip = WiFi.localIP();
Serial.print("IP Address: ");
Serial.println(ip);
Serial.println(ip);

// print your MAC address:
byte mac[6];
WiFi.macAddress(mac);
Serial.print("MAC address: ");
printMacAddress(mac);
}

void printCurrentNet() {
// print the SSID of the network you"re attached to:
Serial.print("SSID: ");
Serial.println(WiFi.SSID());

// print the MAC address of the router you"re attached to:
byte bssid[6];
WiFi.BSSID(bssid);
Serial.print("BSSID: ");
printMacAddress(bssid);

// print the received signal strength:
long rssi = WiFi.RSSI();
Serial.print(“signal strength (RSSI):”);
Serial.println(rssi);

// print the encryption type:
byte encryption = WiFi.encryptionType();
Serial.print(“Encryption Type:”);
Serial.println(encryption, HEX);
Serial.println();
}

void printMacAddress(byte mac) {
for (int i = 5; i >= 0; i–) {
if (mac < 16) {

  • Serial.print(“0”);*
  • }*
    _ Serial.print(mac*, HEX);_
    _
    if (i > 0) {_
    _
    Serial.print(":");_
    _
    }_
    _
    }_
    _
    Serial.println();_
    _
    }*_

String toStringWiFiStatus(wl_status_t status){
* String statusText;*
* switch(status){*
* case WL_NO_MODULE:
statusText = “WL_NO_MODULE”;
_
break;_
case WL_IDLE_STATUS:
statusText = “WL_IDLE_STATUS”;
_
break;_
case WL_NO_SSID_AVAIL:
statusText = “WL_NO_SSID_AVAIL”;
_
break;_
case WL_SCAN_COMPLETED:
statusText = “WL_SCAN_COMPLETED”;
_
break;_
case WL_CONNECTED:
statusText = “WL_CONNECTED”;
_
break;_
case WL_CONNECT_FAILED:
statusText = “WL_CONNECT_FAILED”;
_
break;_
case WL_CONNECTION_LOST:
statusText = “WL_CONNECTION_LOST”;
_
break;_
case WL_DISCONNECTED:
statusText = “WL_DISCONNECTED”;
_
break;_
case WL_AP_LISTENING:
statusText = “WL_AP_LISTENING”;
_
break;_
case WL_AP_CONNECTED:
statusText = “WL_AP_CONNECTED”;
_
break; _
case WL_AP_FAILED:
statusText = “WL_AP_FAILED”;
_
break;_
_
default :_
_
statusText = “UNKNOWN”;_
_
}*_
return statusText;

}

Update: RESOLVED: After pulling my hair out for a while I decided to try another WiFi router (my ZyXEL travel router), and the Uno is able to connect without issues. The problem is WPA2 between the Uno and my Asus AC-RT5300 router. I am logging the issue with Asus.