Electronic – W5500 with POE functionality Link status ON with nothing plugged in

debuggingethernetmicrocontrollerrj45tcp/ip

I am working on a design that uses a W5500 for networking. I followed a reference schematic and believe all my connections are correct, however I am facing issues with the network connectivity.

Basically, the device thinks that the link is always on. The Link LED turns to yellow about 1 sec after booting and stays on, even if I plug in an Ethernet cable from a router or if there is nothing plugged in.

Schematic:

Schematic

Wiznet W5500 Reference Schematic:

Wiznet W5500 Reference Schematic

I've included the schematic here. I am using a Chinese HANRUN RJ45 connector with POE functionality.

RJ45 Connector

Does anyone know why this is or could be happening? I have followed the reference schematic and the only thing I can think that is different from the reference is the reset and the RJ45 connector.

I checked reset. It's sitting HIGH at 5 V. It needs to go low for >500 us to reset. Hitting the reset button correctly resets the device.

I should mention I did my testing with Arduino software. I used Examples -> Ethernet -> Link Status. Even when there is nothing plugged in, I get Link: ON.

Thanks for any help in advance. I will be checking back and trying to answer as many questions as possible

Best Answer

If you based your design off of WIZnet's "wizarduino" schematic, then I suspect you didn't notice the note on it that said not to actually populate the 3 pull down resistors On the PMODE pins. These are resistors R30, R31, and R32 on your schematic. The device will not work correctly until those 3 resistors are removed. With the pull down resistors populated, those 3 connections are just voltage dividers, ones that will ensure an undefined state (neither high nor low).

Considering they control auto-negotiation behavior, it does not seem like that big of a leap to think that undefined states on these pins would cause the chip to lock up in an unresponsive state with a link active LED on due to the logic getting screwed up. It would be about 1s after boot when it would begin trying to detect if there was a link or not.

This isn't necessarily the only issue, but any other problem discovered would not fix the problem until this undefined pin state problem is also fixed. Let me know in the comments if the problem persists after removing those 3 resistors. At least its just a quick desoldering job, right? We should all be so lucky to have those kinds of problems!