Wiznet W5100 Ethernet shield Manual Speed

Hello!

I have a problem with ethernet shields- They won`t work with my TP-Link SF1008D network switch. As I found on the net it could be caused by speed autonegotiation issue. Same ethernet shield works good with TP-Linktl wr740n router. Connection cables are also good (I checked crossover and straight cables). As i found, there is hardware trick to manually set speed at 100Mbit/s by cutting copper track conneccted to 65 leg of wiznet chip.

Datasheet: https://www.sparkfun.com/datasheets/DevTools/Arduino/W5100_Datasheet_v1_1_6.pdf


(Ethernet shield on the left on image works good)

I have few "types" ethernet shields. The one marked on a sticker with number 09/44 works good with switch mentioned before, but one marked with number 14/31 has connection issues. Ethernet shield is not physicially domaged, because I checked few of them, every with the same result. Ethernet shield marked 14/16 has the same problem as 14/31 shield.
My question is: is there any possibility to manually set speed of ethernet shield by making changes in arduino code or in ethernet library?

Sorry for my english.
Greetings from Poland!

TP-Link routers and switches are notorious for this kind of fail. Do your ethernet shields in question work ok using another brand of switch or router?

AFAIK, there is no register in the w5100 that you can use to manually set the negotiation.

Have you tried bypassing the switch and just connecting direct to your PC?

hawker11:
Hello!


(Ethernet shield on the left on image works good)


add jumper

On my 3 shield, which didn't work, these jumper is made in layout. These jumper only connect together Reset of Arduino and W5100.

This topic is old, but may be this will be usefull for some other.
The problem is an hardware error of resistor near ethernet socket. 511 (510ohm) is a wrong value should be 510 (51ohm) replacing the resistor should solve the problem.