arduino / ArduinoCore-mbed

346 stars 199 forks source link

[Portenta_H7] Ethernet WebServer extremely slow from core v2.7.2 - v3.0.1 #438

Closed khoih-prog closed 2 years ago

khoih-prog commented 2 years ago

Describe the bug

The core's Ethernet Server speed is normal for core v2.6.1-

For core v2.7.2 to v3.0.1, the Ethernet Server speed is extremely slow and almost unusable.

For example, try from complex example AdvancedWebServer to the simplest one WebServer

MRE

Using the following core's Ethernet library example WebServer with

Related issue

[Portenta_H7] Ethernet not working in core v3.0.0 #436

facchinm commented 2 years ago

:wave: I pushed https://github.com/arduino/ArduinoCore-mbed/pull/439 to fix the issue (thanks for reporting btw ! ). To make sure we are not breaking anything it would be nice if you could test in some real world applications, both using wifi and ethernet. @hpssjellis maybe had some code lying around that could be useful for testing :wink:

khoih-prog commented 2 years ago

The #439 fixed the slow issue for Portenta Ethernet WebServer.

But Portenta WiFi still suffers the slowness from core v2.7.2 to v3.0.1, even with the #439 fix.

Core v2.6.1 is also tested and OK with Portenta WiFi.

To test

  1. Install WiFiWebServer releases v1.4.0
  2. Using AdvancedWebServer example then test with core v2.6.1, then core v2.7.2+

I'll open a new issue for this Portenta WiFi.

hpssjellis commented 2 years ago

@facchinm

To make sure we are not breaking anything it would be nice if you could test in some real world applications, both using wifi and ethernet. @hpssjellis maybe had some code lying around that could be useful for testing 😉

Using Arduino MBED 3.0.1 a student confirmed both the WiFi and Ethernet minimal examples are working as you mentioned. I am presently testing adafruit.io MQTT and HTTP (POST, GET) Webhook clients, so I should have more information next week.

I will probably be using the advanced async clients made by @khoih-prog, but open to suggestions for simple blocking MQTT and HTTP (POST GET) clients as well.