ESP32-POE wired ethernet not working

Started by itisnt, February 22, 2019, 01:50:05 am

Previous topic - Next topic


Hi LubOlimex,

thanks for your response.

In my opinion a hardware issue is not out of question - but my first guess is a buggy library and/or problems in my toolchain.

I do not have any problems with pfSense nor the ESP32. The network is working fine and i can upload sketches to to ESP32 which also work as expected. the problem is solely with wired ethernet..

but for the sake of testing all i can, i hooked up the ESP32-PoE to a MikroTIK RouterBOARD 2011U (directly and via a netgear gs105e switch) -> no ethernet connection as well..

after ~100 different uploads to the esp board, not even the green ethernet activity LED is blinking on most uploads - only on rare occasions (changed patch cable, changed router, changed ESP32 board)

did you take a look at my tests ( is my setup ok? can you also provide me the bootloader.bin for the ESP-IDF example and the boot_app0.bin and bootloader_dio_40m.bin file for the Arduino example? is it possible to extract them from the *.elf file?

python /home/stif/.esp-idf/esp-idf/components/esptool_py/esptool/ --chip esp32 --port /dev/ttyUSB0 --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 /home/stif/workspace/arduino/Olimex/Olimex-Github/ESP-IDF/ESP32_PoE_Ethernet/build/bootloader/bootloader.bin 0x10000 /home/stif/workspace/arduino/Olimex/PoE-ethernet-binaries/ESP-IDF/ESP32-PoE.bin 0x8000 /home/stif/workspace/arduino/Olimex/PoE-ethernet-binaries/ESP-IDF/partitions_singleapp.bin

# Arduino
/home/stif/.arduino15/packages/esp32/tools/esptool_py/2.6.1/ --chip esp32 --port /dev/ttyUSB0 --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0xe000 /home/stif/.arduino15/packages/esp32/hardware/esp32/1.0.2-rc1/tools/partitions/boot_app0.bin 0x1000 /home/stif/.arduino15/packages/esp32/hardware/esp32/1.0.2-rc1/tools/sdk/bin/bootloader_dio_40m.bin 0x10000 /home/stif/workspace/arduino/Olimex/PoE-ethernet-binaries/Arduino/ESP32_PoE_Ethernet_Arduino.ino.bin 0x8000 /home/stif/workspace/arduino/Olimex/PoE-ethernet-binaries/Arduino/ESP32_PoE_Ethernet_Arduino.ino.partitions.bin

I also tried the "workaround" from the other thread; despite there is no if(ret == ESP_OK) in recent examples, the closest thing i found is in ethernet/olimex_ethernet.c where i inserted the printf commands:

if(ret != ESP_OK) {
  return ret;
else {
  /* Enable ethernet */
  printf("Ethernet initialized.");
  printf("Starting eth_task.");
  return esp_eth_enable();

As expected, no difference with these changes as well..

Thanks in advance for any help


And DHCP does not have to work necessarily, i also would be happy with a working static ip config..


Just as an update, i got a new ESP32-POE-ISO today and ..... it works like a charm.
So the original ESP32-POE has definitly some kind of a HW-issue.

The new one works out of the box with allmost all of my test programs for the ESP32-POE with DHCP.

ETH Connected
ETH MAC: 24:0A:C4:20:xx:xx, IPv4:, FULL_DUPLEX, 100Mbps

connecting to
HTTP/1.1 301 Moved Permanently
Content-Type: text/html; charset=UTF-8
Date: Thu, 25 Apr 2019 20:38:43 GMT
Expires: Sat, 25 May 2019 20:38:43 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<H1>301 Moved</H1>
The document has moved
<A HREF="">here</A>.
closing connection


April 29, 2021, 01:11:03 pm #18 Last Edit: April 29, 2021, 01:23:46 pm by miro
Just seeing this, I am having similar issue. I have ESP32-POE-ISO module. It was working fine for past week or two since I had it and was configuring it. But in last days, I had it just sitting and today, coming back to continue with development, it is just not able to get an IP.

I have done Wireshark capture and I can see it sends DHCP discover, the DHCP server (I tried 2 different ones) sends DHCP offer and that's it. Next message is again DHCP discover.

I have debugged this on Fortigate router I have where I can see the same, discover coming and offer leaving. From the module itself, the LAN is active and link is up. It just does not get any IP at all.

Code wise, it was working fine even with temporary link down or no DHCP as I programmed it to check these things and wait and check again. So this is pretty much what is happening now, just waiting for IP that never comes.

I tried flashing it with fresh esp32-idf3-20210202-v1.14.bin, but did not help.

Nothing was done with the module apart from it just sitting and being on. I have no idea what is wrong. Can anyone share any ideas? 


In addition to the above, I have also purchased a product from another manufacturer with the LAN8720 module and similar problem happened. After reaching out to the 3rd party, it was confirmed that these LAN8720 modules seem to be dying for multiple customers without any reason. This is more likely the cause we are seeing here.