Arduino Nano + WIZ550io - Can't connect to Blynk Cloud

I’m trying to connect my Arduino Nano to the Blynk Cloud to report some very basic sensor information. To connect the Nano to the Internet I went with the WizNet WIZ550io Ethernet board. I’ve wired this up to the Nano - and ran the basic WebServer example and was able to get this working on my local network. It is worth noting, I placed the “Ethernet” library from Wiznet (https://github.com/Wiznet/WIZ_Ethernet_Library) into my Libraries folder at Documents\Arduino\libraries as per instructions from the WizNet github and some other sources. I had to comment out these lines:


if (Ethernet.hardwareStatus() == EthernetNoHardware) {
    Serial.println("Ethernet shield was not found.  Sorry, can't run without hardware. :(");
    while (true) {
      delay(1); // do nothing, no point running without Ethernet hardware
    }
  }
  if (Ethernet.linkStatus() == LinkOFF) {
    Serial.println("Ethernet cable is not connected.");
  }

As I would get an error when compiling:

exit status 1
'class EthernetClass' has no member named 'hardwareStatus'

However, once I removed these lines the webserver example worked fine.

Now when I try to connect the device to the Blynk Cloud using the Quickstart function - my nano gets an IP address from my network which I can also ping, but in the Serial Monitor all I can see is:

[5211] Connecting to blynk.cloud:80
[37394] Connecting to blynk.cloud:80
[69574] Connecting to blynk.cloud:80
[101754] Connecting to blynk.cloud:80

And the device won’t connect or show any updates either on the Blynk Cloud or on my Serial Monitor.

I copied my code from the Blynk Cloud - but leaving below in case it helps. Any suggestions/advice greatly appreciated:

/*************************************************************

  This is a simple demo of sending and receiving some data.
  Be sure to check out other examples!
 *************************************************************/

// Template ID, Device Name and Auth Token are provided by the Blynk.Cloud
// See the Device Info tab, or Template settings
#define BLYNK_TEMPLATE_ID           "TMPLpvuQBTV9"
#define BLYNK_DEVICE_NAME           "Quickstart Device"
#define BLYNK_AUTH_TOKEN            "NrKBboxuAChO3ZY8CJLSPcakKTDE4oFI"


// Comment this out to disable prints and save space
#define BLYNK_PRINT Serial


#include <SPI.h>
#include <Ethernet.h>
#include <BlynkSimpleEthernet.h>

char auth[] = BLYNK_AUTH_TOKEN;

#define W5100_CS  10
#define SDCARD_CS 4

BlynkTimer timer;

// This function is called every time the Virtual Pin 0 state changes
BLYNK_WRITE(V0)
{
  // Set incoming value from pin V0 to a variable
  int value = param.asInt();

  // Update state
  Blynk.virtualWrite(V1, value);
}

// This function is called every time the device is connected to the Blynk.Cloud
BLYNK_CONNECTED()
{
  // Change Web Link Button message to "Congratulations!"
  Blynk.setProperty(V3, "offImageUrl", "https://static-image.nyc3.cdn.digitaloceanspaces.com/general/fte/congratulations.png");
  Blynk.setProperty(V3, "onImageUrl",  "https://static-image.nyc3.cdn.digitaloceanspaces.com/general/fte/congratulations_pressed.png");
  Blynk.setProperty(V3, "url", "https://docs.blynk.io/en/getting-started/what-do-i-need-to-blynk/how-quickstart-device-was-made");
}

// This function sends Arduino's uptime every second to Virtual Pin 2.
void myTimerEvent()
{
  // You can send any value at any time.
  // Please don't send more that 10 values per second.
  Blynk.virtualWrite(V2, millis() / 1000);
}

void setup()
{
  // Debug console
  Serial.begin(115200);

  pinMode(SDCARD_CS, OUTPUT);
  digitalWrite(SDCARD_CS, HIGH); // Deselect the SD card

  Blynk.begin(auth);
  // You can also specify server:
  //Blynk.begin(auth, "blynk.cloud", 80);
  //Blynk.begin(auth, IPAddress(192,168,1,100), 8080);

  // Setup a function to be called every second
  timer.setInterval(1000L, myTimerEvent);
}

void loop()
{
  Blynk.run();
  timer.run();
  // You can inject your own code or combine it with other sketches.
  // Check other examples on how to communicate with Blynk. Remember
  // to avoid delay() function!
}