esp-idf: ip101: ip101_init(175): failed to init PHY (IDFGH-10747)

Answers checklist.

  • I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
  • I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
  • I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.

v5.2-dev-1709-g4fc2e5cb95

Operating System used.

Windows

How did you build your project?

VS Code IDE

If you are using Windows, please specify command line type.

None

Development Kit.

Custom board

Power Supply used.

External 5V

What is the expected behavior?

Init PHY always okay, not 1 time is okay, and 1 time failed to init PHY. Following is sdkconfig and log for more details. sdkconfig.log 0727_Failed_to_init_PHY.log

What is the actual behavior?

ESP32 firmware restart, 1 time is okay, and 1 time failed to init PHY.

Steps to reproduce.

  1. Init ethernet PHY
  2. Restart

Debug Logs.

[Failed to init PHY]
W (13:38:53.683) esp_eth: Call read_phy_reg
W (13:38:53.685) eth_phy_802_3: bmcr.val:65535
W (13:38:53.690) eth_phy_802_3: After write bmcr.val:63487
W (13:38:53.696) eth_phy_802_3: bmcr.power_down:0, bmcr.val:63487
W (13:38:53.712) esp_eth: Call read_phy_reg
W (13:38:53.712) eth_phy_802_3: After bmcr.power_down:1, bmcr.val:65535
W (13:38:53.722) esp_eth: Call read_phy_reg
W (13:38:53.722) eth_phy_802_3: After bmcr.power_down:1, bmcr.val:65535
W (13:38:53.732) esp_eth: Call read_phy_reg
W (13:38:53.732) eth_phy_802_3: After bmcr.power_down:1, bmcr.val:65535
W (13:38:53.742) esp_eth: Call read_phy_reg
W (13:38:53.744) eth_phy_802_3: After bmcr.power_down:1, bmcr.val:65535
W (13:38:53.752) esp_eth: Call read_phy_reg
W (13:38:53.756) eth_phy_802_3: After bmcr.power_down:1, bmcr.val:65535
W (13:38:53.772) esp_eth: Call read_phy_reg
W (13:38:53.772) eth_phy_802_3: After bmcr.power_down:1, bmcr.val:65535
W (13:38:53.782) esp_eth: Call read_phy_reg
W (13:38:53.782) eth_phy_802_3: After bmcr.power_down:1, bmcr.val:65535
W (13:38:53.792) esp_eth: Call read_phy_reg
W (13:38:53.793) eth_phy_802_3: After bmcr.power_down:1, bmcr.val:65535
W (13:38:53.802) esp_eth: Call read_phy_reg
W (13:38:53.805) eth_phy_802_3: After bmcr.power_down:1, bmcr.val:65535
W (13:38:53.812) esp_eth: Call read_phy_reg
W (13:38:53.817) eth_phy_802_3: After bmcr.power_down:1, bmcr.val:65535
E (13:38:53.824) eth_phy_802_3: eth_phy_802_3_pwrctl(166): power up timeout, to:10, phy_802_3->reset_timeout_ms / 10:10
E (13:38:53.835) eth_phy_802_3: esp_eth_phy_802_3_basic_phy_init(333): power control failed
E (13:38:53.844) ip101: ip101_init(175): failed to init PHY

[Init PHY okay]
W (13:38:56.136) esp_eth: Call read_phy_reg
W (13:38:56.138) eth_phy_802_3: bmcr.val:65535
W (13:38:56.143) eth_phy_802_3: After write bmcr.val:63487
W (13:38:56.149) eth_phy_802_3: bmcr.power_down:0, bmcr.val:63487
W (13:38:56.165) esp_eth: Call read_phy_reg
W (13:38:56.166) eth_phy_802_3: After bmcr.power_down:0, bmcr.val:12544
W (13:38:56.175) esp_eth: Call read_phy_reg
W (13:38:56.176) esp_eth: Call read_phy_reg
W (13:38:56.177) esp_eth: Call read_phy_reg
W (13:38:56.182) esp_eth: Call read_phy_reg
W (13:38:56.187) esp_eth: Call read_phy_reg
I (13:38:56.193) esp_eth.netif.netif_glue: 90:38:0c:5e:bf:0f
I (13:38:56.199) esp_eth.netif.netif_glue: ethernet attached to netif
W (13:38:56.206) azp_eth: 0x3ffb4708   90 38 0c 5e bf 0f                                 |.8.^..|
W (13:38:56.215) esp_eth: Call read_phy_reg
W (13:38:56.315) esp_eth: Call read_phy_reg
W (13:38:56.415) esp_eth: Call read_phy_reg
W (13:38:56.515) esp_eth: Call read_phy_reg
W (13:38:56.615) esp_eth: Call read_phy_reg
W (13:38:56.715) esp_eth: Call read_phy_reg
W (13:38:56.815) esp_eth: Call read_phy_reg
W (13:38:56.915) esp_eth: Call read_phy_reg
W (13:38:57.015) esp_eth: Call read_phy_reg
W (13:38:57.115) esp_eth: Call read_phy_reg
W (13:38:57.215) esp_eth: Call read_phy_reg
W (13:38:57.315) esp_eth: Call read_phy_reg
W (13:38:57.415) esp_eth: Call read_phy_reg
W (13:38:57.515) esp_eth: Call read_phy_reg
W (13:38:57.615) esp_eth: Call read_phy_reg
W (13:38:57.715) esp_eth: Call read_phy_reg
W (13:38:57.815) esp_eth: Call read_phy_reg
W (13:38:57.915) esp_eth: Call read_phy_reg
W (13:38:58.015) esp_eth: Call read_phy_reg
I (13:38:58.017) azp_eth: Ethernet Started

More Information.

No response

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 31

Most upvoted comments

Hi kostaond, I tried this method “RMII Clock Sourced Externally by PHY” to init ethernet, it is okay. Just the vscode monitor will cause init mac to fail. Thanks so much and I closed it.

Hi kostaond, I tried X1 connected to GND, it works. Thanks so much and closed it.