EthernetWebserver and Ethernet_Generic discontinued?

The EthernetWebserver library is useful if you want to port projects using the ESP WebServer library to other platforms using Ethernet.

The Library has the dependency Ethernet_Generic. This library does not work with Arduino Uno R4 boards. The change needed to make it work is easy and I have the change ready for a pull request on github, however, both projects are archived on github and accept no pull requests anymore.

Have these projects been discontinued? Is there another replacement available, which offers the same or similar functionality for use on Ethernet, or are the projects maintained somewhere else?

I can’t speak for khoih-prog, the owner of the libraries mentioned, but in general an archived repository means that the owner will no longer maintain that repository.

Arduino R4 WiFi is just an arm based MCU with an ESP32 as “coprocessor”.
I recommend to use an ESP32 / ESP32-S series or ESP32-C series based board directly. They are much cheaper than an Arduino R4 WiFi and there are a lot of libraries.

yes its true that esp32 hardware seems more logical to use. But the EthernetWebserver library is useful for the case when you want the same functionality as the ESP webserver library, but use the classic arduino ethernet shields (or any other ethernet hardware).

I also have a project that can be compiled for both a wifi and an ethernet enabled hardware (an ESP board or an arduino with ethernet shield). In that case, the server part can be kept identical (server.on() function calls and so on).

Use ESP32Async/ESPAsyncWebServer. Afaik this can run via WiFi as well via Ethernet. Same code base :slight_smile:

Thank you very much for your suggestions.

ESPAsyncWebServer seems not to be compatible with Arduino without changes to the library:

#ifdef ESP32
  #include <AsyncTCP.h>
  #include <WiFi.h>
#elif defined(ESP8266)
  #include <ESP8266WiFi.h>
  #include <ESPAsyncTCP.h>
#elif defined(TARGET_RP2040)
  #include <AsyncTCP_RP2040W.h>
  #include <HTTP_Method.h>
  #include <WiFi.h>
  #include <http_parser.h>
#else
  #error Platform not supported
#endif

Anyway, for now, I manage to get EthernetWebserver running on the R4 board by adding the define USING_RAW_ADDRESS to the build flags:

build_flags = -D USING_RAW_ADDRESS=true

not an ideal situation due to the discontinued library, but good enough for now.