Ethernet shield,Arduino UNO and 3 problems :)

Hello, this is my first topic here :slight_smile: I am sorry for may bad English.

I have Arduino UNO and Ethernet shield (Wiznet W5100).

Problem 1: When i want to upload a sketch while the shiled is pluged it says: avrdude: stk500_getsync(): not in sync: resp=0x00
when i unplug the the shield it uploads with no problems.
Problem 2: The serial monitor is not working while the shield is on. When i unplug only the ICSP , it starts to work immediately.
Problem 3: I cant ping the shield. when i ping it the RX blinks, but the TX is not. ( destination host unreachable )

I am trying to run DhcpChatServer, but it does nothing.
FULLD,100M,LINK and PWR led are always on. When i ping it RX starts to blink.

I am new in this thing. I am trying to fix it a few days already...

Share your code

When i want to upload a sketch while the shiled is pluged it says: avrdude: stk500_getsync(): not in sync: resp=0x00
when i unplug the the shield it uploads with no problems.

is TX and RX line connected to any other interface.???

Problem 2: The serial monitor is not working while the shield is on. When i unplug only the ICSP , it starts to work immediately.

How you uploading code. Ru using ICSP or USB to upload the code.

Problem 3: I cant ping the shield. when i ping it the RX blinks, but the TX is not. ( destination host unreachable )

can you share screen shot of error

Some ethernet shields have a manufacturing defect. They have solder bridges from pin to pin. That will cause the symptoms you describe.

Here is a link to a pic of a w5100 with 4 solder bridges. The red arrows point to them. There should be no solder bridges between any pins on your IC.

Thanks. I saw those bridges when open it but i was not shure if it is right. My mind was keep sayingme get them off. I will try to fix and replay. Thanks you both :slight_smile:
No other devices and I am using USB.

If using USB . why did you mention ICSP??

I have same shield , but i can upload code. I am doing like this way . i removed ethernet connection. upload program using USB. After that i connected Ethernet cable.

can you share your code so i can tryout once.

Thanks. I saw those bridges when open it but i was not shure if it is right.

@AMP-N: The device is faulty. It has solder bridges. The ICSP connector has the SPI data lines for the shield.

@knockouta: If the shield is new, you might consider returning it for a new shield. Contact your supplier to see if you can get a replacement before you try to repair the one you have.

But i am also having same solder bridge in shield . I am not getting any error.

AMPS-N:
But i am also having same solder bridge in shield . I am not getting any error.

Then you are lucky the solder bridges are not causing a fail. There should be no solder bridges on your IC.

As per me he should tried this code.

First remove your Ethernet shield. Upload the Example code. Then connect your Ethernet .
check it is working or not.

Add blink program, serialmonitor display .

/*
  Web Server
 
 A simple web server that shows the value of the analog input pins.
 using an Arduino Wiznet Ethernet shield. 
 
 Circuit:
 * Ethernet shield attached to pins 10, 11, 12, 13
 * Analog inputs attached to pins A0 through A5 (optional)
 
 created 18 Dec 2009
 by David A. Mellis
 modified 9 Apr 2012
 by Tom Igoe
 
 */

#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = { 
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1,177);

// Initialize the Ethernet server library
// with the IP address and port you want to use 
// (port 80 is default for HTTP):
EthernetServer server(80);

void setup() {
 // Open serial communications and wait for port to open:
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  // start the Ethernet connection and the server:
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());
}


void loop() {
  // listen for incoming clients
  EthernetClient client = server.available();
  if (client) {
    Serial.println("new client");
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");  // the connection will be closed after completion of the response
	  client.println("Refresh: 5");  // refresh the page automatically every 5 sec
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
          // output the value of each analog input pin
          for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
            int sensorReading = analogRead(analogChannel);
            client.print("analog input ");
            client.print(analogChannel);
            client.print(" is ");
            client.print(sensorReading);
            client.println("
");       
          }
          client.println("</html>");
          break;
        }
        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        } 
        else if (c != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);
    // close the connection:
    client.stop();
    Serial.println("client disonnected");
  }
}

This part is very important

byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1,177);

// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
EthernetServer server(80);

That is a very good idea. If you see "server is at 192.168.1.177", then your w5100 SPI is working ok. If you get any other iP, like "server is at 0.0.0.0", then your w5100 is failing.

I can try it beacouse my serial monitor is not working while the shield is on. I try it with LCD and lcd.print but no result. I thing that the shield is total fault. I remove the bridges but no result...
If i remove ICSP i get from serial monitor 0.0.0.0...

If that is the case, I will guess the 5 volt bus or the MOSI line is shorted on the shield. I can't think of anything else that would cause that fail. If you want to try one more thing, attach the shield with the ICSP pins connected and check the voltage on the 5v pin.

I dont know but the green LED on the port was always on, but the yellow one never worked. I wrote a email to the vendor. I try to take a new one :slight_smile: It is from ebay and takes a month :X A original one is for me to $)

I missed this:

I try it with LCD and lcd.print but no result.

What LCD are you using? How is it connected? Is it connected when the fail happens? Have you tried the ethernet shield with the LCD removed?

SurferTim:
I missed this:

I try it with LCD and lcd.print but no result.

What LCD are you using? How is it connected? Is it connected when the fail happens? Have you tried the ethernet shield with the LCD removed?

I try it first without the LCD. I read 1 week all forums and i tryed everything. I just put the LCD to see what happens. it uses A5 and A4.
The solutions is one: new and working shield.
Thank you all for the help i will try to fix it until i get new one.

knockouta:
I can try it beacouse my serial monitor is not working while the shield is on. I try it with LCD and lcd.print but no result. I thing that the shield is total fault. I remove the bridges but no result...
If i remove ICSP i get from serial monitor 0.0.0.0...

first do this . remove all your connection . upload just this code to arduino Board . make ensure serial monitor works. share screen shot.If you found code upload successfully but u cant get any monitor display. Then there might problem in IDE, SO kindly update your IDE.
Let us know which IDE your using with os. Before posting next time do this test.

void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println("welcome to arduino");
delay(1000);

}

Hi all, i have now new shield other model. Again with W5100.
The serial monitor is working without the shield. I update IDE to 1.0.6 and uploaded again the code. Again nothing on the Serial monitor and after pressing the restart button i get those erros. PWR and LINK leds are ON, sometimes i get and 100M.
I saw that on ICSP on my UNO the first pin is different with first pin on this on the Shield. I am not sure but...

1)That means Your ardunio Board working fine.
2) FOr second image you need to show me the First start image.
3)Before Uploading code of ethernet i shared remove your ethernet sheild , Upload the code, Then connect the ethernet sheild.

Make ensure that you use proper serial print statement each part of code.

I got it running with Leonardo with no problems... I am 100% that the ICSP on my China UNO has wrong firts pin.
Thank you all for helping me.

Hello, I am new to the Arduino experince and have run into a similar problem using a R3 uno and a Ethernet Shield. I have two arudinos and two Ethernet Shields. Both arudinos are R3's, and the Ethernet shields are Seeed V2.0 and Seeed V1.1 Rather than starting a new thread, I decided to post it as an addition. I hope this is appropriate.

Two days ago, I was working on the coding for the arduino to broadcast information to an Ip address (webserver experiment located in the per-established library). I was modifying it a bit to my personal needs, but everything was working perfectly. - This is really neat technology by the way!

Yesterday, The Seeed Ethernet shield V.20 (that I had been successfully working with in my experiment the day before) wouldn't connect to the Internet. When i pulled up the Serial Monitor after I downloaded the sketch it didn't say anything. When i attached my other Seeed Ethernet Shield V1.1 it worked though so I figured the V.20 may have overheated or something so I took it to Radio Shack and they gave me a different one. - The V1.1 was discontinued.

I noticed when I got home, when I pulled up the Serial Monitor after I downloaded the sketches in the library, the replacement immediately said "Failed to configure Ethernet using DHCP". I took the replacement back, and they didn't have any others so they gave me back the first one I had.

When I download the sketches, it still didn't say anything when i pull up the Serial Monitor though. According to my understanding of the code, if (mac) == 0, it should immediately say "failed to configure Ethernet using DHCP", but it didn't say anything.

Does anyone have any idea why this might happening or how to troubleshoot it? I tried it on both Arduinos with multiple sketches from the library and received the same results. As I mentioned, the V1.1 model works though, and it immediately sends the information to the Serial Monitor.

To help diagnose the potential problems that may be accruing, the V2.0 is able to stack the V1.1 on top, and when this happens, the V1.1 still works (when the Ethernet Cord is attached to the V1.1 and not the V2.0) The only noticeable difference I can find is that the V2.0 has two additional pins on both sides that connect to the arduino. One the right side (power side) these two pins are connected to the arduino IOREF and pin beside it (last pin) that that isn't labeled on the arduino.

On the left side (digital side) the two additional pins are connected to SDA and SCL. I am not sure if those pins could cause some kind of interference.

On the shield itself the PWR green light is on, and the light above C15 is bright red.

Another Unusual thing to note that that during the Ethernet Library experiment webserver, the Serial Monitor today will print off a random Server addresses (where as yesterday it wouldn't print anything. 0.40.0.0 was the first Server address it gave, in the second attempt there were no 0's, but it was way off from what the code said it should have been. The third attempt was 0.0.0.0
Yesterday it didn't print off anything.... In the experiment (WebClient) the serial monitor still doesn't print anything.

Other experiments that came in the Arduino library show (Failed to connect to Ethernet Using DHCT), where as yesterday it didn't print anything. But then again the V1.1 works fine, and I get the same results when I switch up the Arduinos.

Any suggestions are greatly appreciated.