WiFi chip connection problem

Hello, I was trying to use the WiFi on my Arduino MKR Vidor 4000 but when I try the example sketch AP_SimpleWebServer it says Communication with WiFi module failed!. I don't know what to do. Please help.

Here's the code

/*

  WiFi Web Server LED Blink

  A simple web server that lets you blink an LED via the web.

  This sketch will create a new access point (with no password).

  It will then launch a new server and print out the IP address

  to the Serial monitor. From there, you can open that address in a web browser

  to turn on and off the LED on pin 13.

  If the IP address of your board is yourAddress:

    http://yourAddress/H turns the LED on

    http://yourAddress/L turns it off

  created 25 Nov 2012

  by Tom Igoe

  adapted to WiFi AP by Adafruit

 */

#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)
int keyIndex = 0;                // your network key Index number (needed only for WEP)

int led =  LED_BUILTIN;
int status = WL_IDLE_STATUS;

WiFiServer server(80);

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

  }

  Serial.println("Access Point Web Server");

  pinMode(led, OUTPUT);      // set the LED pin mode

  // 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");

  }

  // by default the local IP address of will be 192.168.4.1

  // you can override it with the following:

  // WiFi.config(IPAddress(10, 0, 0, 1));

  // print the network name (SSID);

  Serial.print("Creating access point named: ");

  Serial.println(ssid);

  // Create open network. Change this line if you want to create an WEP network:

  status = WiFi.beginAP(ssid, pass);

  if (status != WL_AP_LISTENING) {

    Serial.println("Creating access point failed");

    // don't continue

    while (true);

  }

  // wait 10 seconds for connection:

  delay(10000);

  // start the web server on port 80

  server.begin();

  // you're connected now, so print out the status

  printWiFiStatus();
}

void loop() {

  // compare the previous status to the current status

  if (status != WiFi.status()) {

    // it has changed update the variable

    status = WiFi.status();

    if (status == WL_AP_CONNECTED) {

      // a device has connected to the AP

      Serial.println("Device connected to AP");

    } else {

      // a device has disconnected from the AP, and we are back in listening mode

      Serial.println("Device disconnected from AP");

    }

  }



  WiFiClient client = server.available();   // listen for incoming clients

  if (client) {                             // if you get a client,

    Serial.println("new client");           // print a message out the serial port

    String currentLine = "";                // make a String to hold incoming data from the client

    while (client.connected()) {            // loop while the client's connected

      if (client.available()) {             // if there's bytes to read from the client,

        char c = client.read();             // read a byte, then

        Serial.write(c);                    // print it out the serial monitor

        if (c == '\n') {                    // if the byte is a newline character

          // if the current line is blank, you got two newline characters in a row.

          // that's the end of the client HTTP request, so send a response:

          if (currentLine.length() == 0) {

            // HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK)

            // and a content-type so the client knows what's coming, then a blank line:

            client.println("HTTP/1.1 200 OK");

            client.println("Content-type:text/html");

            client.println();

            // the content of the HTTP response follows the header:

            client.print("Click <a href=\"/H\">here</a> turn the LED on<br>");

            client.print("Click <a href=\"/L\">here</a> turn the LED off<br>");

            // The HTTP response ends with another blank line:

            client.println();

            // break out of the while loop:

            break;

          }

          else {      // if you got a newline, then clear currentLine:

            currentLine = "";

          }

        }

        else if (c != '\r') {    // if you got anything else but a carriage return character,

          currentLine += c;      // add it to the end of the currentLine

        }

        // Check to see if the client request was "GET /H" or "GET /L":

        if (currentLine.endsWith("GET /H")) {

          digitalWrite(led, HIGH);               // GET /H turns the LED on

        }

        if (currentLine.endsWith("GET /L")) {

          digitalWrite(led, LOW);                // GET /L turns the LED off

        }

      }

    }

    // close the connection:

    client.stop();

    Serial.println("client disconnected");

  }
}

void printWiFiStatus() {

  // print the SSID of the network you're attached to:

  Serial.print("SSID: ");

  Serial.println(WiFi.SSID());

  // print your WiFi shield's IP address:

  IPAddress ip = WiFi.localIP();

  Serial.print("IP Address: ");

  Serial.println(ip);

  // print where to go in a browser:

  Serial.print("To see this page in action, open a browser to http://");

  Serial.println(ip);

}

Start by posting the sketch here, using code tags when you do

I said it was the example sketch AP_SimpleWebServer (I forgot to say it's from WiFiNINA library), I don't think sketch is the problem.

I know what you said, but for those members who do not have the library installed but who may still have some suggestions, please post the sketch here

If the problem is not the sketch then it must be a hardware problem. How is the Arduino powered and what is connected to it ?

Click on the link

Why make things difficult for anyone trying to help you ? If you post your code copied from the IDE on your PC here in code tags it is immediately available to copy in its entirety with a single click.

Linking to the code as you have means it is more complicated to find the code and copy it to the IDE for examination. Not only that, the code in the linked page has unnecessary blank lines in it which makes it even more tedious to select and copy

You are the one seeking help, so if you can make it as easy as possible to provide that help then you will do yourself a favour

I added the code

Make sure that the WiFi module is working properly and by checking if you provided the correct credential for your network. In order to test the WiFi module of the board, you can use some of the example sketches from the WiFi Nina Library (Scan network, then SimpleWiFiWebServer). This way you can make sure that the WiFi module on the board is working properly.

I checked and nothing seem to change

Please get in touch with us through contact us page and we will have look at what is happening with your board.
Contact us: https://www.arduino.cc/en/contact-us/

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.