Ethernet sheild(W5100) not working with Uno

sorry psyazax, I didn't notice your post (noobie) - glad to hear you got it working. BTW HanRun (who make the ethernet Tx/Socket, show 75 ohms - so 68R looks like a good compromise. I haven't got a network resistor, but do have separate SMD resistor, so will try this amanha. Regards, Joe.

psyazax: I replace mine with 680=68ohm and start to working. its not 49.9 but i think will do the job.

The Ethernet twisted-pairs are transmission lines that really need 100 ohm differential termination, 2 each 49.9, per the reference schematic, or 2 each 51 would be ok too. But without proper termination, it is easy to be on (or beyond) the fringe of workability. On the fringe, one cable might appear to make things work, where another doesnt. As noted, the problematic boards are coming with 2 each 510 ohm, per measurement and per their 511 marking, 51*10^1. An easy and satisfactory solution is to come up with a couple of 100 to 120 ohm resistors to tack across the HanRun connector pins. One goes between pins 1 and 2, the other between pins 3 and 6. Leave the bogus resistor pack in place, it works to supply the necessary bias. No need to fiddle with sourcing and changing the tiny pack. I just received additional boards from a US ebay vendor whose picture showed 510 marking (51 ohm), but 511 on the batch received. Added the discrete resistors (100 ohm on hand) and the Ethernet waveforms are close to picture perfect. The built-in 75 ohm resistors in the HanRun mag jack are not differential signal terminating resistors, they are involved with common-mode behavior, tied to the center taps of the transformers. Ed

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.

Terminations.png|1362x524

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