ESP23-Gateway error: Timed out wating for PHY register

Started by Manuel, May 25, 2019, 07:56:53 AM

Previous topic - Next topic

Manuel

Hi.
I have the ESP-32Gateway Rev_E board.
When the access is by wifi, the examples that I have work correctly.
But when access is via cabled Ethernet, the following errors appear.

E (1036) emac: Timed out wating for PHY register 0x2 to have value 0x2000(mask 0xffff). Current value 0xfff

E (2036) emac: Timed out wating for PHY register 0x3 to have value 0xa210(mask 0xffff). Current value 0xfff

E (2036) emac: Initialise PHY device Timeout

and the LEDs on the Ethernet connector do not light up.
To program the board I use the Arduino IDE 1.8.9.
Can you help me?
Greetings.

LubOlimex

#1
Hey,

Make sure to use the latest developer json of the official Arduino for ESP32 package. Select proper revision of the board and then load the ETH_LAN8720_internal_clock example (in package library "WiFi"). It should work out-of-the-box. I tested it today.

Refer the picture here: https://i.imgur.com/rthCQp8.png

Best regards,
Lub/OLIMEX
Technical support and documentation manager at Olimex

Manuel

Thanks for your answer.
I have compiled ETH_LAN8720_internal_clock.ino, with revision E. Also with revision F
I have tried changing the Flash frequency 80 to 40 MHz.
I have changed the Partition Scheme.
The same error reappears.
My plate will be wrong ?.
Greetings.

LubOlimex

#3
Some people solved the same error by using another USB port and USB cable. Exact same error message thread for ESP32-EVB: https://www.olimex.com/forum/index.php?topic=6000.0

I also recommend you to delete the ESP32 Arduino package manually and install only:

https://dl.espressif.com/dl/package_esp32_dev_index.json

I've had cases myself when having several different versions of the ESP32 package might break some of the libraries in the code.
Technical support and documentation manager at Olimex

Manuel

Hi.
I have done what you have told me, changed USB cable, USB computer port, I have fed it with a power supply and it gives the same error.
I send what the serial port shows, so you can see what it does when the device is reset.

etsRչ⸮ 8 20L⸮⸮Ғ⸮Ҫ⸮j

rst:⸮⸮ (POWER⸮⸮%MQ⸮,boot:0x1aB⸮A%}MQ}LASH_BO⸮⸮j
confi֥⸮⸮ 0, S⸮]A⸮0xeeC⸮,k⸮E⸮⸮⸮0x00,q_drv'⸮⸮0,d_d.⸮⸮x00,cs⸮⸮⸮⸮⸮0x00 ⸮}⸮⸮⸮⸮0⸮0,wp_drv'⸮⸮0
modY'T⸮ clk⸮ div:1⸮ets ⸮] ⸮⸮⸮⸮⸮ 00:2⸮⸮⸮SH⸮HH⸮t:0x1 ⸮⸮]I=9}IESET),⸮⸮⸮0x1⸮BSPI_F⸮*⸮e1M!}BOOT)
⸮⸮⸮˥⸮ͥ⸮: 0, S⸮R⸮⸮•⸮5
clk_d⸮⸮⸮0,⸮E⸮⸮⸮0x⸮bd_drv'⸮⸮0,cs⸮⸮⸮⸮⸮0x⸮bhd_dr⸮⸮x00,w}drv:0x⸮j
mode'T⸮⸮⸮⸮k div:LC!녑⸮0x3fff00Lblen:4C!⸮+⸮⸮0⸮fff001,⸮⸮⸮⸮92j
ho 0 W⸮⸮⸮12 ⸮⸮ ⸮j
⸮+⸮⸮0x4⸮⸮8000,⸮⸮⸮8424C!⸮ ⸮⸮⸮⸮l 12 r⸮ ⸮j
l+⸮⸮0x40‚400,lYK⸮²⸮j
entry 0⸮008069⸮H⸮E (1036) emac: Timed out waiting for PHY register 0x2 to have value 0x0007(mask 0xffff). Current value 0xffff
E (2036) emac: Timed out waiting for PHY register 0x3 to have value 0xc0f0(mask 0xfff0). Current value 0xffff
E (2036) emac: Initialise PHY device Timeout


Greetings. ::)

LubOlimex

The error usually appears when power pin is not properly defined. Hmm, can you test with the other example, again without changes, the "ETH_LAN8720" example? This one:

https://github.com/espressif/arduino-esp32/blob/1.0.3-rc1/libraries/WiFi/examples/ETH_LAN8720/ETH_LAN8720.ino

Technical support and documentation manager at Olimex

Manuel

Hello
Thanks for your answer, the example works correctly.
Greeting

LubOlimex

Oh, well I guess I mixed the two examples in my fist comments. Glad the default example works though and thanks for the update.
Technical support and documentation manager at Olimex