W5500 not working with some ethernet-switches

I am developing a device that should transmit data on any networks that can transmit data over Ethernet.The problem is this:
The device works fine with most of my network devices (all routers: mikrotik, dlink, tplink; switches: 3com baseline 2024, any switches cisco; PC, laptop), but does not work with the switch 3com baseline 2016.
The PC and laptop work correctly with this switch, which makes me think.
Any w5500 packets are lost on the switch; I can not ping the device (if ip and mask are set manually), I cannot get the host settings via DHCP (Dhcp discovery dropped on switch).
The MAC address is set correctly.

Maybe you know if there are similar problems with other network equipment? And are there any solutions to this problem?
Thank you

W5500 isn’t support Auto mdix.

If your switch not support the Auto mdix, you have to use the Crossover Cable(TX-RX, RX-TX).

best regards

Hi, Irina!
Thank you for reply,
bot it’s too easy.
switch supports auto-mdix.

I tried to connect devices with any valid cable configurations.
No results.
The PC and laptop work with the switch, the device does not work.
I tried to enable and disable autonegotiation. - No results.
I tried to select 10Mbit / 100Mbit data and duplex / half duplex - no results.
In any phy-level configuration, the PC and laptop work with the network, my device does not.
And the problem is only with one of the switches I have.
A different Ethernet controller is installed in the PC and laptop, not the W5500.
If the PC and laptop did not work with this switch, I would consider that the problem is in the switch. But they work. So, my device should work.
Or there should be a list of devices incompatible with this ethernet controller.

W5500 link LED is on when cable is plugged in?
When W5500 tries reaching DHCP, does its TX LED flash?
Does its RX LED flash some times at all?

There could be a kind of “portfast” setting in the switch which does not allow switch’s port to initialize quickly. Simple test: turn on the W5500, wait for a minute with link LED being on (switch’s port must have detected and brought up so far), and then perform DHCP query.

  • yes;
  • yes;
  • no;

  • The device does not respond to ping-request; independently of switch port (Ip, subnet mask, and other host settings applied mannualy)

  • The device does not receive any packets (including broadcast); independently of switch port; Independently of UDP / TCP mode; The socket-port is assigned.

  • Packets from device not forwarded from switch

  • PC and laptop works correctly in same environment;

  • Has no effect;

Put a simple hub in between the switch and W5500 and see if it will change anything.

If I add any intermediary between the switch and the W5500 - everything works correctly.
Only the operation of this chip when connecting directly to the switch is incorrect.

Sounds like sucb behavior may be caused by:

  • logical incompatibility: see if you can update switch’s firmware;
  • physical (electrical) incompatibility. You do not detail if device is your custom board or board provided by WIZnet or its partners.

The switch does not have the ability to update the software.
The switch does not have any settings.

PCB is developed by our engineers, but according to the reference design;
I am inclined to reject electrical incompatibility. Oscillograms of data exchange with a PC or device do not differ: the fronts are correct, the pulse duration too, up to noise.
Logical incompatibility - maybe. I want to know more precisely about this, I don’t have official information, but the facts show that any network devices work correctly with the switch, except for the W5500.

The only way is to monitor and intercept packets at the switch’s port level. I suspect it is not possible. You can run Wireshark on the DHCP server to see if it gets DHCP requests.

When DHCP request is sent - eimmediatel after device is powered up? Can you issue DHCP request during chip operation?

Before creating this topic, I did an experiment:

  1. I connect the switch and the device through a special cable with a gap.
  2. In the gap I connect a hardware traffic listener.
  3. I launch Wireshark on the Dhcp-server.
  4. I launch Dhcp - client on the device.

I see the following:

  1. The device sends the packet. The switch confirms the activity by flashing the LED.
  2. Dhcp-server does not receive packets from Dhcp-client;
  3. Dhcp-client does not receive any data from the dhcp-server.
    The switch does not forward (!) Packets from the device, ignores packets.
    With any other device (PC, laptop, routers from different vendors), the switch works correctly, there are no problems.

With all the hardware I have, except for this switch, the w5500 chip also works correctly.

The problem is as follows:

  • Switch and W5500 do not work together.
  • The switch with other network devices works correctly.
  • other network equipment correctly works with this microcircuit.
    and I need to understand why. I don’t need workarounds. I need a root solution, and for this I need to know the root of the problem.
    I also tried to connect devices from WIZnet, the same problem with them.

In the start message I indicated the switch model with which problems: 3com baseline 2016

Other devices may logically work differently - e.g. PC with Windows or Linux may send packet each second, and if previous packet got lost due to switch issues, next packet will be replied to. As a test set W5500 sending requests in loop each second and see if any of the packets will go through.

You judge at the user interface level? Or at the packet exchange level?

MAC addresses of these devices, including the one you currently use?

Swiths drops all packets from my device;

Mac, for example:
and any Mac-addresses with cleared multicast-bit;


This sounds a lot like the issue we had with our W5500 equipped device when it was plugged into a RJ45 wall jack at one corner of the office building and the company’s network switch was located at the other end of the same building. PHY detection was fine but DHCP wouldn’t happen. Adding another network device in between, such as another switch or a network sniffer (TAP) device, would make this problem go away. My hardware guy did something to circuit board to enhance the driving capability and that seemed to fix the problem.

Please share what did he do.
Shorted damping resistors?

The termination resistors on our PCBs were soldered with a 49 kΩ rating. Although should be 49 ohms.

And that shield, which is made by reference design, did not work because of a factory defect, which distracted from the true problem.

Banal inattention stole the weeks of my time.

Thank you all for your feedback.

There was certainly one other case I recall with the absolutely same cause :slight_smile:
Great that you have solved the issue!


@voroshilov which one is the termination resistor on the w5500 board? is there any number or pin name that is connected with it? I am using the w5500 ethernet shield and this is working well with all routers except switches.

I also face the same problem. after that I follow these steps now it’s working good.

There may be a form or “portfast” setting in the switch that does not permit the ports to be initialized quickly by the switch. Simple test: power on the W5500 then wait for one moment with the link LED turned on (switch’s port has to have been detected and been brought up) then run DHCP query.
Are you willing to buy an ethernet switch?. Some websites offer refurbished IT parts with warranty options. sites like amazon, xfurbish, flipkart

1 Like

I was testi the W5500 module with Stm32f051 discovery board . in have an issuse to getting ip module was auto disconnect with internet (meane ethernet ) and dont get the ip

thanks an regard