OLIMEX/ESP32-GATEWAY

Ethernet Example not working in espidf 3.40300.0 (4.3.0) (Board Rev. E)

derlucas opened this issue · 1 comments

Im hitting a problem where i'm compiling my old project with Platformio using the recent ESP platform. The Board does not get an IP anymore with the recent IDF SDK. To narrow it down, i made two examples to compare.

Example with current framework-espidf 3.40300.0 (4.3.0) not getting an IP Address:
https://github.com/derlucas/esp32_cubes/tree/ethernettesting/gateway_firmware

And an example with an older version framework-espidf 3.40001.200521 (4.0.1) which is working correctly:
https://github.com/derlucas/esp32_cubes/tree/ethernettesting-1.12.4/gateway_firmware

The minor changes are due to the API change from tcpipadapter to netif. In SDKconfig i turned on the Clock Output on Pin 17 for the Network Chip.

I tried fiddling with different timeouts in mac_config and phy_config without success. It does not matter, if phy_config.reset_gpio_num is "-1" or on "5".

It does not make a difference if the board is powered on (cold boot) or the RST1 button is pressed.
The green LED is steady on and the yellow LED is blinking. I tried different cables and an USB->ETH Adapter on my computer, it makes no difference. (I don't think it's a hardware issue, since the board is working with an older SDK Version).

I've seen this issue espressif/esp-idf#3998 but there is no helping information.

It would be very nice, if someone could figure out where the Problem is any maybe deliver a working Ethernet Example for espidf 4.3.0.

Lucas

I missed the command:

// Set default handlers to process TCP/IP stuffs
ESP_ERROR_CHECK(esp_eth_set_default_handlers(eth_netif));

found the Problem when trying the examples with a ESP32-POE board and had a look at the latest example on the corresponding repo of that other board.