Ethernet sheild(W5100) not working with Uno

Hello guys,

I'm having a similar issue. I have the same cheap Chinese ethernet shield using the W5100 and when I first got it I used a long ethernet cable (around 10 meters) to connect it and everything was perfect. Today, (a month later - I used it only twice before) I used a different cable (15 meters exactly) to connect it in my modem/router and run a code I found for getting the local IP. For a few seconds everything was normal (all the LEDs where on) and suddenly it stopped working. The only LED that works is the red one (PWR). I tried everything, I changed arduinos, I used a 9V battery in case there was something wrong with my USB port, I checked the ethernet cable in case it wasn't working (It works), but nothing changed until I used a small cable I had. When I plugged it in, it was back to normal. I tried the method above mentioned by Ed and when I pressed the reset button it worked for 3-4 secs - until the yellow led on the ethernet port (made by HanRun) got burned. I used a second ethernet shield I had with the long ethernet cable and it was ok. Is there anything I could try to make it work with the long cable or should I give up? (By the way, the on board resistor is 511)

Thanks, Dimitris

For a few seconds everything was normal (all the LEDs where on) and suddenly it stopped working.

I'd suspect a poor/intermittent connection in the RJ45 connectors.

I have the same problem. I found that it works normally if the cable is plugged into an older router Encore ENHWI . I believe that is a difference between the two routers . Someone tried to cross cable ?

zoomkat: I'd suspect a poor/intermittent connection in the RJ45 connectors.

Unfortunately no. I checked it thoroughly.

Dimitris, Can you post a photo of how you installed the terminating resistors, just to be sue they are on the right pins? 15 meters of cat5e should work fine. Ed

k1ggi: Dimitris, Can you post a photo of how you installed the terminating resistors, just to be sue they are on the right pins? 15 meters of cat5e should work fine. Ed

Hi Ed,

Sorry for the delay!

This is the picture: |375x500

Dimitris

There is a slight misunderstanding here. It's not the shield pins 1 and 2, 3 and 6, but the pins on the 'Hanrun' Ethetnet socket.

/ffur

Hello. I signed up just to reply to this thread. I purchased a few of these chinese W5100 boards and have been going nuts trying to get them running. The resistor network is definitely the issue.

There are a few ways to re-work it without the 49ohm network.

I used 47ohm radial resistors and tried 2 different methods. Both were successful.

Hopefully my pictures and notes help.

First method:

  1. Remove the resistor network labeled 511 behind the RJ45 socket. I used a hotair station. Careful hand iron would work with some chipquick solder probably.
  2. On the bottom solder shortened leads to pins 1,2,3,6. (Watch pin3, space the lead carefully)
  3. combine the loose ends of 1,2 and then 3,4.
  4. Run hookup wire from the junction of 1,2 to the cap behind the rj45 socket, on the end closest to the socket.
  5. Run hookup wire from junction of 3,4 to the cap to the right of the 102 resistor network, also to the side closest to the RJ45 socket.

Second method: 1. Remove the resistor network labeled 511 behind the RJ45 socket. I used a hotair station. Careful hand iron would work with some chipquick solder probably. 2. Fold 4x 47 ohm resistors so they are radially configured. Snip the leads about 3mm from the bottom of the resistor. Then tin the ends with solder 3. Installing the resistors in an alternating pattern(for space) you can tack them to the surface mount pads. I was able to tack one side at a time and then go back to add more solder, being careful not to bridge any pads. I found removing the RJ45 socket made this much easier 4. The side of the pads away from the RJ45 socket are common to the capacitors, so you can double up and cross over the pads for each pair. Meaning pad1 and 2 can share the opposite side and 3,4 respectively.

The first method seems to be the easiest using 1/4w resistors. I have some 47ohm surface mount resistors at work that I may try, but with what I had at home, this worked quite well.

Here are some images of the re-work. I tested using the Webserver sample code and it worked immediately.

Link to Imgur gallery (images are larger than 1mb) http://imgur.com/a/JrPFD

Hope this helps!

Hello Dimitris,
Here is a photo of the terminations applied to the HanRun connector.

ffur: There is a slight misunderstanding here. It's not the shield pins 1 and 2, 3 and 6, but the pins on the 'Hanrun' Ethetnet socket.

/ffur

k1ggi: Hello Dimitris, Here is a photo of the terminations applied to the HanRun connector.

Damn! I feel like an idiot now, hahahah! Thanks guys I will try that!

It seems that there are many clones with wrong resistors. Almost all photos of this shield in ebay, have the 511 (510 Ohm) resistors.

I confirm that soldering of two 100 Ohm resistors at pins 1-2 and 3-6 resolves the problem with faulty shields

Thank you k1ggi you save me from hours of troubleshooting.....

Hi, having the same problem with a couple of W5100 eth shields (mounting 551 resistors instead of 550 ones) and I solved JUST soldering two 100 ohm resistors as indicated by K1gg - thanks! - on the bottom of Rj45 connector (pins 1-2 and 3-6) WITHOUT unsoldering the existing 551 resistor. The shields seem working but TX and RX LEDs are very brigth when on and I wonder if that could cause any damage (to LEDs or worse to the LAN ends:SWITCH and ETH SHield)

k1ggi: Hello Dimitris, Here is a photo of the terminations applied to the HanRun connector.

Hey, I resolved my problem following this. Thanks a lot :) :) Took 3 of my days :/ You saved my project.

I was working with HanRun 16/02 Ethernet Shield. I was facing the same problem that when i was connecting to the switch i couldn't ping on the ip that i set for the shield while it worked fine when i connected it on my pc. I removed the 511 and connected the 47 ohms resistor to the pins as suggested :)

Oh my god, I cant believe it! it finally woks! Spent 3 days to get this thing working and I never thought the resistor array would be the problem even though I read this thread. I thought its a problem with setting up a DHCP server since I used a cross over cable and my PC to connect the shield without a router.

I have finally replaced the 511 resistor array with 47R resistors and it works like charm!

Thank you very much everyone! you guys saved my time and my project!

Just registered to confirm the 100ohm resistor solution works and say thank you that info :D

I faced the similar problem. First I verified code by connecting arduino with pc and sharing internet with it. Then tried connecting it directly with the router. Unfortunately it didn’t work out. So got your suggestions and added two 100 ohm resistor. Now its working completely fine.

Hi.

Can somebody to prompt which type of SMD need i to book for excange this "511" net chip and how it must be marked? Or just place the pic of properly mounted SMD on this device? (I guess, that it's 1206 package, marked by 470 or 47R0, but afraid to mistake)

Thanks. And one more thing - can I just load the sketch to my Arduino Uno? or need something else? Because, when I just compile it I have some error messages.

G:\distributives\arduino_sources\arduino programs\arduino-nightly-windows\arduino-nightly\libraries\Ethernet\src\utility\socket.cpp:365:19: warning: unused parameter 's' [-Wunused-parameter]

void flush(SOCKET s) {

ANd i have error message at the end of compiling, in spite of I checked "AVR ISP" & "Arduino as ISP" in / TOOLS / PROGRAMMER section.

Using library SPI at version 1.0 in folder: C:\Users\vasya1\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.14\libraries\SPI 
Using library Ethernet at version 1.1.1 in folder: G:\distributives\arduino_sources\arduino programs\arduino-nightly-windows\arduino-nightly\libraries\Ethernet 

Sketch uses 13,636 bytes (42%) of program storage space. Maximum is 32,256 bytes.
Global variables use 920 bytes (44%) of dynamic memory, leaving 1,128 bytes for local variables. Maximum is 2,048 bytes.

avrdude: no programmer has been specified on the command line or the config file
         Specify a programmer using the -c option and try again

Can somebody advice, how to properly specify programmer in sketch (in which line) or where?

Because after compiling, there are "UPLOADING..." message, and never sop uploadig process , even within 5 minutes.

Thanks

Not really a cure, but mine wouldn't work with my TPLink desktop switch. It worked when I connected it directly to my TPLink Router. But my Arduinos (Uno plus HanRun Ethernet shield) weren't recognised, however my Raspberry Pi's (3 and 1) both worked fine.

I decided to try an old Intel Hub (note Hub against Switch) and it worked!

My assumption is that this old Hub is less sensitive to the impedence on the Ethernet card. It could even be the case that since the Hub is more "crude" then it accepts the mis matched impedence or maybe the Ethernet shield just doesn't do all of the handshaking that a Switch requires?

Anyone else got both a hub and a switch to try this out? Bruce

I got one of these Cheap Chinese Arduino Clone with the 511 resistor

Happen to me that is was working Fine at home , and not at my job

Force the router at my job to 10mb HalfDuplex or 10mb FullDuplex, and it is now working fine

100mb HalfDuplex or 100mb FullDuplex is not working at all

Seem to be related to this resistor Network too

Looking at Page 10-11

Seems possible to force speed at 10mps with pins OPMODE2-0 63-64-65

Not that hard to put a soldering blob at these 3 pins to gnd

Could be another easyer work around . but not as good as giving the right resistors

Thank for Sharing !