Why doesn't the Ethernet W5100 shield work on Gigabit switch?
The fix for this is to solder a 120 Ohm resistor between pins 1-2 and 3-6 of the RJ45 socket (where pin 1 is closest to the left side of the socket when looking at the top of the board. (Credit to keithsw1111 for the fix)

See https://forum.arduino.cc/index.php?topic=372779.0 for full details. 

I know this was asked a long time ago however this post comes up quite high on a google search of the issue so its good to have reference to the fix.