W5100 ethernet shield - can't upload sketches

I have a W5100 Ethernet Shield. When I connect it to my Arduino Mega 2560 I can't upload any sketches, or connect to the com port.

I do see the Arduino in the list of serial ports, but when I try to upload the sketch, I get the following errors:

Arduino: 1.8.4 (Mac OS X), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

Sketch uses 2326 bytes (0%) of program storage space. Maximum is 253952 bytes.
Global variables use 359 bytes (4%) of dynamic memory, leaving 7833 bytes for local variables. Maximum is 8192 bytes.
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
An error occurred while uploading the sketch

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Has anyone had to deal with something like this?

EDIT:
When searching the forum, I came across a hack for older versions of the shield:
http://mcukits.com/2009/04/06/arduino-ethernet-shield-mega-hack/

However, my shield has "MEGA compatible" written on it.

Screen Shot 2017-09-23 at 17.29.39.png

How are you powering Arduino?
If you are repeatedly able to upload and communicate with just the bare Mega and only have a problem when you plug in the W5100 shield, it could be simply down to inadequate power. If you are powering just via a USB cable, try using a proper 9v 1A wall wart.

That ancient hack is just for even more ancient shields that don't have the ICSP pin cluster, and is nothing to do with your problem.

You're right - I am powering it only via USB. I'll give your suggestion a try. Thank you so much :slight_smile: