PHY/LAN8710 fault identification

PeterR
Posts: 621
Joined: Mon Jun 04, 2018 2:47 pm

PHY/LAN8710 fault identification

Postby PeterR » Thu Jul 09, 2020 4:27 pm

I have an issue when occasionally on power up the board will not connect to the Ethernet.
esp_restart() does not recover. esp_eth_stop()/esp_eth_start() do not recover. I have not tried recreating the MAC/PHY yet.
Board/ESP_EN (which also acts as LAN reset) resolves as does PSU off/on (unless unlucky!). I am able to trigger Board/ESP_EN using my watchdog.
No doubt this may well be a hardware transient but I wanted to see if I could find a short term software sticking plaster.

I use a LAN8710A-EZC in RMII mode. The site installation may or may not have Ethernet available. I need to find a clear fault symptom (other than lack of messages) as I cannot just reboot as there may not be Ethernet on site.
When the fault happens I can both read and write to the PHY. There do seem to be some interesting values in the PHY however:
FAIL: [1] = 0x7809, [6] = 0x0001, [17] = 0x0000
OK & CONNECTED: [1] = 0x782d, [6] = 0x000b, [17] = 0x0002

As I read the above the fail scenario is telling me that I have no energy ([17] = 0x0000) but Link Partner can auto negotiate ([6] = 0x0001).
It would seem acceptable to reboot in this scenario as I cannot have a link partner if there is no power?

So the question is for all the LAN8710 experts out there! Are there other ways in which I might legitimately get this 'fail' pattern or do you think that the pattern above represents a good fault indicator and provides just cause to reboot?
& I also believe that IDF CAN should be fixed.

deimos
Posts: 8
Joined: Thu Jul 09, 2020 5:36 pm

Re: PHY/LAN8710 fault identification

Postby deimos » Thu Jul 09, 2020 6:00 pm

Hi,

have a look at https://github.com/espressif/esp-idf/issues/5425
Maybe this solves your problem.

Alex

PeterR
Posts: 621
Joined: Mon Jun 04, 2018 2:47 pm

Re: PHY/LAN8710 fault identification

Postby PeterR » Fri Jul 10, 2020 4:09 pm

Thanks. 4.1-beta1 lacks your change but adding does not improve unfortunately.
I did not find your 10mS in the datasheet anywhere.
EDIT: Following your other LAN post & read your inference. No brainer really, add the delay and sleep easy, absence of evidence etc...
Does not improve for me but mine is a transient probably & 10/20mS+ initialisation is not a thing.
& I also believe that IDF CAN should be fixed.

Who is online

Users browsing this forum: No registered users and 75 guests