TCP send problem with direct connection to PC


I use W5500 as TCP server. When I connect W5500 to PC via ethernet Switch everything works file. But when I connect W5500 directly to PC (use crossover cable for that) send() function doesn’t work. I can ping W5500, I can see that eth link os ok from PC side:


eth0: negotiated 100baseTx-FD, link ok

But send() function can’t send data properly. I send 1200 bytes per package. Tx socket buffer size is 2k. After first send() call send returns normally. Second send() call takes too much time (about 20 sec) and finally return SOCKERR_SOCKSTATUS. PC client usually doesn’t get any data, but sometimes (rarely) it can receive some data.

I use latest ioLibrary_Driver from GitHub. I took loopback_tcps() example from the ioLibrary_Driver and use only “send” park from it.

What can be a problem in that case? What should I check?

And I just noticed that with some ethernet cables everything is working well. But I can’t see difference in cables: all of them are cat5, all of them have the same connnection scheme

hello, MOHOMAX

Thank you for your interest in W5500.

So sorry, I could not find any other problem with etherner cable so far.

I wish you try to connect other PC or check it the cable normally working.

W5500 supports auto negotiation . So, It is hard to find any issues with cat5.

thank you


maybe turn automdi off on the adapter?

I already tried a lot of different cables and connection variants. I tried different W5500 boards so it can’t be board defect (if schematic done right).

I have 3 PC to test my board:

  1. Dell laptop
  2. HP netbook
  3. Single board computer Advantech (main PC in the system)

All of them have Linux installed. I also have ethernet switch MOXA EDS-205

To connect our W5500 board I use two pairs cable. 4 pairs cable also was tested.

  1. If I connect W5500 directly to Dell laptop, do “nc IP PORT” I can see data flow from our board
  2. If I connect W5500 directly to HP netbook, netbook doesn’t see ethernet link at all
  3. If I connect W5500 directly to Advantech, do “nc IP PORT” and I see that data flow from device goes slow, then stoped, then again get some data, stop again and so on. During “stops” on the W5500 side I see that send() function hangs.

If I put ethernet switch between W5500 and any PC - works fine all the time.

I tried to disable automdi - didn’t help.

We found the problem. Problem was in Rx and Tx pull-up resistors: instead of 49.9 Ohm resistors 49.9K were installed. :laughing:

We have just had the same problem! 49K9 instead of 49R9 - although our symptoms were slightly different - we could connect to just about anything except a MOXA EDSP206 switch :laughing:

Good to hear that!!

If there are any questions, please feel free to ask!