Ethernet issues after 1 - 2 hours

I have a couple of boards using ENC28J60 with SC20260E and N modules.

  • Initially it works ok, but sometimes after 1 - 4 hours it does not respond to the application running on my PC. If I restart the board it start working again. There are no exceptions.

I tried to reset using the below every 30 minutes but it did not change anything.
I was expecting it would be like unplugging and plugging it back the network cable

networkController.Disable();
Thread.Sleep(10 * 1000);
networkController.Enable();

There is a networkaddress change event generated but still there is no response to the app on the PC.
The var address = ipProperties.Address.GetAddressBytes(); has the correct static IP address, I also tried DHCP. Is there something I am missing?

I am desperate so tried to restart the board using the below every 30 minutes

GHIElectronics.TinyCLR.Native.Power.Reset();

but it does not reset the board

What makes you think it is the Ethernet interface with the problem and not your program?

There is an LCD screen that is updating the temperature and I can step through the code using the debugger, while the Ethernet socket just sits there

Can the device be pinged?

I remember there is a known issue with ENC28J60 chip, it will stop working if getting hot.

Second

GHIElectronics.TinyCLR.Native.Power.Reset();

We will check but I don’t see why it not work.

What is the solution for the stop working when hot issue, is it the way the ENC28J60 is initialized. Do you have a way to detect this condition and may be I can reset the board using that

We have done extensive testing and research with the ENC28J60 chip but ultimately switched to a built in network with a DP83848 PHY instead.

You can find some of our research and tests here:

no response to ping

I put a hack fix by sending a message from another board every minute and if I do not receive the packet reset the board. It seems to do the job for now.

Not sure why I am not able to send to my own IP, then I do need to depend on another board. Any ideas would be appreciated