ESP32 EVB Board Rev. H Phy Ethernet not working emac: Timed out waiting for PHY

Started by aoggateway, February 03, 2020, 09:56:48 AM

Previous topic - Next topic


I whant to install my Software, which is running on a ESP-32 EVB Rev. F Board
on a ESP-32 EVB Rev. H board.

I use PlatformI/O with Arduino Framework.
With Rev H. Bord the wired Ethernet is not running. On Startup following error message:
ESP32 Chip ID = 74509EA4AE30
E (1063) emac: Timed out waiting for PHY register 0x2 to have value 0x0007(mask 0xffff). Current value 0x0000
E (2064) emac: Timed out waiting for PHY register 0x3 to have value 0xc0f0(mask 0xfff0). Current value 0x0000
E (2065) emac: Initialise PHY device Timeout
[E][ETH.cpp:101] begin(): esp_eth_enable error: -1

What was changed at the phy Ethernet form Rev F oh Rev H ????



I don't think anything related to the Ethernet of ESP32-EVB was changed between those two revisions. But there are other changes that might have triggered the behavior. The hardware revision changes are described here:

Can you try to reset the board via the button and check again? How do you power the board?
Technical support and documentation manager at Olimex


Both boards are powerd with a external 5V supply. Wifi is working well on both boards.
Reset changes nothing . Which Arduino wired ethernet example did you test with the rev. H board successfully? What is the purpose of the GPIO0/XTAL1/CLKIN Connection? Which Level/Signal shall be present at this line at startup and operation? I think there is a general Problem with the Rev H Board regarding wired Ethernet.


Have you found a example (Arduino) where the wired Ethernet Rev H Board is running? Please share to me.


Hello LubOlimex,

can you pleasegive me a answer to my question. With example should run with the wired eathernet EVB Board Revision H ?
Have you found the error in your design? Should I return the rev H. Boards?


Well, we don't typically use PlatformIO, we use ESP32 for Arduino IDE and ESP IDF. There are a lot of environments for ESP32 and we can't cover them all. Will need some time to set the PlatformIO and test. Where can I find the code or the excerpt of the code that you use?

Can you test with this code in Arduino IDE, it works fine with ESP32-EVB:
Technical support and documentation manager at Olimex


How should work this example fine??

Please look at the first two lines:
#define ETH_CLK_MODE ETH_CLOCK_GPIO17_OUT    // Wrong Clock input
#define ETH_PHY_POWER 12                     // IR LED Pin
This example runns not on rev. F and H Boards.



I and my colleague did a video that shows how we test the latest revision of the board with the code from my previous post. Maybe there is a difference on how we proceed and how you proceed. Please check the video and try the same approach:

Let me know if you need more info or if something is not clear. Let me know the results when you do the same. I am suspecting that it might be some other issue in your case, not related to the software or the board revision.
Technical support and documentation manager at Olimex