I have an interesting event happen a board set I was testing. The boards and firmware had been running for several days, and I came in and saw that the LED on the USB Client DP was flashing and the unit not running. After much eliminating various modules I came to the conclusion that the ENC28 was at fault.
When I start the system, it works, but after a few minutes it stops working. I connected a separate metered power supply and saw that for the first minute or so, current drain is steady, then is starts increasing in an exponential fashion until overload. By carefully blowing canned air on the ENC28 chip, I could control the current, and keep it running longer, so I suspect that the chip is going into some kind of thermal runaway.
On the success side, the USB client DP very nicely detected the over current and did what the documentation says: “In case of overheating or over current, the module will automatically shut itself down. The on-board LED may turn off but, most likely, it will blink as the protection circuit is repeatedly trying to turn power on.”
The failure did not depend on whether an ethernet cable was connected, or whether the code was running or paused, although it is quicker to fail if the cable is connected. This happened with all components were electrically isolated to remove potential of ground loops from ethernet + USB. This happened with 2 Raptor board (same ENC28).
I pass this on as this kind of failure when connected to a non-current limited supply might have more adverse consequences.
Time to buy another ENC28.