Ethernet Communication Problem With W5500 MACRAW

Hi,

I have designed a device using W5500 chip as network interface. The problems I have are these:

  • Auto negotiation does not work. I have to set the PHYCFGR register OPMD and OPMDC bits manually to the 10MB Full Duplex or Half duplex. When I set the mode to 10MBit *-duplex. Device detects link and link led flashes. Also PHYCFGR register shows correct state meaning link is up. I thought this may be related with the switch but I have some Chinese w5500 modules and they work well with the same switch and the same setup. I mean auto-negotiation works with Chinese modules.

  • When I try to send packets MACRAW, link and activity leds go off for some seconds. And then comes back but no packet is sent as I check with wireshark.

  • I configure Interrupts, activate SENDOK interrupt and then try to send MACRAW packet. First packet causes the link and activity leds go off and some seconds later they come back. Although i see leds go off device asserts int pin and Sn_IR register shows SENDOK. When I continue to send packets leds stay normal, w5500 issues SENDOK but nothing received on the other end. (Wireshark)

  • Although no MAC filter is set, and the activity led blinks, device receives nothing. The register Sn_RX_RSR is always 0.

  • Edit: By comparing the Chinese W5500 chip with the one on my design, the W5500 chip on my design gets hotter than the Chinese module W5500.

As a summary: I can talk with the W5500 via SPI but W5500 does not talk with ethernet.

My Setup:

  • MCU: Atmel Sam4s, arm cortex M4 at 120Mhz.
  • SPI: 4 MHz
  • My design is a copy of the reference schematic in wiznet wiki.

Schematic

Layout

There is copper pour ın both sides except under the rj45 jack.

I would appreciate any help.
Thank you.

No Ideas? Nobody?