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