New ESP8266 Arduino core ver. 2.6.0

Dear friend,
a very new I hope we’ll cooked version of the ESP8266 Arduino core just released.
It’s supposed to solve many of the 2.5.2 problems.
See here and update.

Best Regards,
Mike Kranidis

6 Likes

thanks. I reflashing my nodemcu and share the result.

update:

working without any problem:

the spiff data can not be uploading ! I installed the latest python for windows but not working. any idea to fix ?

@mikekgr @PeteKnight
compiled error for me
IPAddress remoteIP() const override;

IPAddress is not supported by 2.6.0, only works with 2.5.0

//*************** Static IP list *********************//
IPAddress dns_ip     (  8,   8,   8,   8);
IPAddress gateway_ip ( 192,  168,   0,   254);
IPAddress subnet_mask(255, 255, 255,   0);
IPAddress ipMCU60 (192, 168, 0, 60);
IPAddress ipMCU56 (192, 168, 0, 56);
IPAddress ipMCU55 (192, 168, 0, 55);
IPAddress Server1 (192, 168, 0, 1);
IPAddress Server2 (192, 168, 0, 100);

//********************************* Setup ***************************************//
void setup()
{
  Serial.begin(115200);
  WiFi.config(ipMCU, gateway_ip, subnet_mask);
  Blynk.connectWiFi (ssid, pass); // connect to wifi network
  Blynk.config(auth, server_ip, port);
  Blynk.connect();

I check (using Ubuntu, not Windows) and IPAddress is still working OK, from 2.5.2 to 2.6.0.
You might check your code / installation. If still not OK,try reinstalling the library core then restart the IDE.

@Blynk_Coeur I’m still using v2.4.2
It works well for me, so why change?

Pete.

2 Likes

I downgraded to 2.5.0 and its ok
IPAdress issue is a known issue since 2.5.2 but never resolved.
Its due to ESP8266WiFi.h

Because @mikekgr told us they resolved 2.5.2 problems. :wink:

and introduced 2.6.0 problems :thinking:

Pete.

3 Likes

I just tried that example and it works, I can’t see what is the difference with my scketch :thinking:

#include <ESP8266WiFi.h>

const char* ssid = "********";
const char* password = "********";

IPAddress staticIP(192,168,1,22);
IPAddress gateway(192,168,1,9);
IPAddress subnet(255,255,255,0);

void setup(void)
{
  Serial.begin(115200);
  Serial.println();
  Serial.printf("Connecting to %s\n", ssid);
  WiFi.config(staticIP, gateway, subnet);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
  }
  Serial.println();
  Serial.print("Connected, IP address: ");
  Serial.println(WiFi.localIP());
}

void loop() {}

Can you put the original / not-working code to see the difference.?

I compile your modified code and it’s OK using IPAddress with 2.6.0

 #include <ESP8266WiFi.h>
 
//*************** Static IP list *********************//
IPAddress dns_ip     (  8,   8,   8,   8);
IPAddress gateway_ip ( 192,  168,   0,   254);
IPAddress subnet_mask(255, 255, 255,   0);
IPAddress ipMCU60 (192, 168, 0, 60);
IPAddress ipMCU56 (192, 168, 0, 56);
IPAddress ipMCU55 (192, 168, 0, 55);
IPAddress Server1 (192, 168, 0, 1);
IPAddress Server2 (192, 168, 0, 100);
IPAddress server_ip (192, 168, 0, 200);

uint32_t  test;

#define port    8080
char  auth[] = "xxxx";
char  ssid[] = "xxxx";
char pass[] = "yyyy";

//********************************* Setup ***************************************//
void setup()
{
  Serial.begin(115200);
  WiFi.config(ipMCU60, gateway_ip, subnet_mask);
  Blynk.connectWiFi (ssid, pass); // connect to wifi network
  Blynk.config(auth, server_ip, port);
  Blynk.connect();
}

void loop()
{
  
}

It’s not Blynk related, but this is a bug I just found in 2.6.0

For anyone who gets compiling error about uint32_t in esp8266com/esp8266/cores/esp8266/core_esp8266_features.h , just add

#include <stdint.h>

in front of

#include <stdlib.h> // malloc()
#include <stddef.h> // size_t
2 Likes

Still same issue:
libraries\ESP8266WiFi\src/WiFiServer.h:52:14: error: invalid abstract return type for member function ‘WiFiClient WiFiServer::available(uint8_t*)’
WiFiClient available(uint8_t* status = NULL);

#include <ESP8266WiFi.h>
#include <stdint.h>
#include <stdlib.h> // malloc()
#include <stddef.h> // size_t

const char* ssid = "********";
const char* password = "********";

IPAddress staticIP(192,168,0,22);
IPAddress gateway(192,168,0,254);
IPAddress subnet(255,255,255,0);

I simplified the code :

  WiFi.config("192,168,0,100", "192,168,0,254", "255,255,255,0");

conversion from ‘const char [14]’ to ‘IPAddress’ is ambiguous
there is a problem with the string in V2.6.0

I think it is due to IPV6 update :thinking:

Can you use

WiFi.config(IPAddress(192,168,0,100), IPAddress(192,168,0,254), IPAddress(255,255,255,0));
1 Like

WiFiServer.h:52:14: error: invalid abstract return type for member function ‘WiFiClient WiFiServer::available(uint8_t*)’
WiFiClient available(uint8_t* status = NULL);

Problem solved !
Thank you for your help. :wink:
I ignored information about duplicates libraries !
I deleted all redundant libraries and now it’s ok for me with core 2.6.0 :rofl:

1 Like

I think the core 2.4.2 has vulnerabilities KRACK issue. It’s fixed in 2.5.1 and above.

1 Like

I think the WPA2 KRACK vulnerability was fixed in 2.4.0-rc2 and above.

Pete.

2 Likes