Go Down

Topic: Ethernet Shield connectivity (Read 2 times) previous topic - next topic

halcyon

Hmmm.. ok.. well, then I'm pretty much at a loss.  Would the Link, FD, RX and 100Mb lights be lit even if the chip was somehow damaged?  Maybe I shorted something and screwed it up.

davekw7x

#16
Aug 27, 2010, 06:22 pm Last Edit: Aug 27, 2010, 06:23 pm by davekw7x Reason: 1
@halcyon
Quote
Would the Link, FD, RX and 100Mb lights be lit even if the chip was somehow damaged?

My observation from my Linux experience: Those indicate that the physical layer stuff on the Wiznet chip is lnking up with the workstation, and they give that indication even if there is no sketch loaded (doesn't depend on IP address or other software stuff).

After uploading the WebServer example, here's my Linux Wireshark output for  "ping -c1 10.10.5.177"

(The only mod that I made to the WebServer sketch was to change the IP address to 10.10.5.177.)


No.     Time        Source                Destination           Protocol Info
     1 0.000000    10.10.5.1             10.10.5.177           ICMP     Echo (ping) request

Frame 1 (98 bytes on wire, 98 bytes captured)
Ethernet II, Src: AsustekC_77:24:1d (00:1a:92:77:24:1d), Dst: de:ad:be:ef:fe:ed (de:ad:be:ef:fe:ed)
Internet Protocol, Src: 10.10.5.1 (10.10.5.1), Dst: 10.10.5.177 (10.10.5.177)
Internet Control Message Protocol

No.     Time        Source                Destination           Protocol Info
     2 0.000000    10.10.5.177           10.10.5.1             ICMP     Echo (ping) reply

Frame 2 (98 bytes on wire, 98 bytes captured)
Ethernet II, Src: de:ad:be:ef:fe:ed (de:ad:be:ef:fe:ed), Dst: AsustekC_77:24:1d (00:1a:92:77:24:1d)
Internet Protocol, Src: 10.10.5.177 (10.10.5.177), Dst: 10.10.5.1 (10.10.5.1)
Internet Control Message Protocol





I have no way of testing with MacBook or MacAnythingElse.


Regards,

Dave

gdr

well i have tried @pluggy's script - (stripped down to the the html stuff)
and I cannot get this board to reply.

The DHCP sketch works and it gets an ip address.

I can use the client sketch and telnet in

but as a server using the supplied sample code nothing ( i do not have any analog devices which should not matter I think )  it does not  interact  beyond the first ACK.

I have watched the 'majestic81' on wireshark and cannot see why it replies and mine does not. (Thanks for that link.)

Do I need to short the INT or add any other mods to either of these boards?

halcyon

I've tried as well, and I have tried the DHCP sketch too, and it doesn't work.  I never get an IP.

pluggy

My sketch was based on the server example, I just added all the other stuff to it. It will probably behave exactly like the server example stripped down to the HTML bit.  Theres nothing special I've done hardware wise, its a 'real' duemilanove, a DFRobot clone ethernet shield and a custom made shield (stripboard) that stacks onto the ethernet with all the connections to sensors & stuff.  I think I carried out a capacitor mod to get the board to start up after a power failure, but it ran for many months without it.
http://pluggy.is-a-geek.com/index.html

pluggy

#20
Aug 29, 2010, 05:30 pm Last Edit: Aug 29, 2010, 06:02 pm by stephen_t Reason: 1
In case it helps anyone, this is a video of my working Duemilanove + Ethernet shield running the standard IDE server example (IP address modified to suit my system).

http://www.youtube.com/watch?v=X3_AgOpsdKA

I'm just clicking the refresh icon in the browser. Its powered by USB and the ethernet is connected to a switch shared by my PC & gateway etc. The IP address of the PC is 192.168.0.7, the subnet is 255.255.255.0, gateway (not that its relevant in this application is 192.168.0.254. IP of the arduino is 192.168.0.150 (in video and sketch)

In case theres any doubt about the sketch :  Standard other than the IP address.

Code: [Select]

/*
* Web Server
*
* A simple web server that shows the value of the analog input pins.
*/

#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192,168,0,150 };

Server server(80);

void setup()
{
 Ethernet.begin(mac, ip);
 server.begin();
}

void loop()
{
 Client client = server.available();
 if (client) {
   // an http request ends with a blank line
   boolean current_line_is_blank = true;
   while (client.connected()) {
     if (client.available()) {
       char c = client.read();
       // if we've gotten to the end of the line (received a newline
       // character) and the line is blank, the http request has ended,
       // so we can send a reply
       if (c == '\n' && current_line_is_blank) {
         // send a standard http response header
         client.println("HTTP/1.1 200 OK");
         client.println("Content-Type: text/html");
         client.println();
         
         // output the value of each analog input pin
         for (int i = 0; i < 6; i++) {
           client.print("analog input ");
           client.print(i);
           client.print(" is ");
           client.print(analogRead(i));
           client.println("<br />");
         }
         break;
       }
       if (c == '\n') {
         // we're starting a new line
         current_line_is_blank = true;
       } else if (c != '\r') {
         // we've gotten a character on the current line
         current_line_is_blank = false;
       }
     }
   }
   // give the web browser time to receive the data
   delay(1);
   client.stop();
 }
}


Pinging :

Code: [Select]

sv@sv-desktop:~$ ping 192.168.0.150
PING 192.168.0.150 (192.168.0.150) 56(84) bytes of data.
64 bytes from 192.168.0.150: icmp_seq=1 ttl=128 time=5.39 ms
64 bytes from 192.168.0.150: icmp_seq=2 ttl=128 time=0.100 ms
64 bytes from 192.168.0.150: icmp_seq=3 ttl=128 time=0.097 ms
64 bytes from 192.168.0.150: icmp_seq=4 ttl=128 time=0.097 ms
64 bytes from 192.168.0.150: icmp_seq=5 ttl=128 time=0.097 ms
64 bytes from 192.168.0.150: icmp_seq=6 ttl=128 time=0.109 ms
64 bytes from 192.168.0.150: icmp_seq=7 ttl=128 time=0.096 ms
64 bytes from 192.168.0.150: icmp_seq=8 ttl=128 time=0.096 ms
64 bytes from 192.168.0.150: icmp_seq=9 ttl=128 time=0.099 ms
64 bytes from 192.168.0.150: icmp_seq=10 ttl=128 time=0.098 ms
64 bytes from 192.168.0.150: icmp_seq=11 ttl=128 time=0.099 ms
64 bytes from 192.168.0.150: icmp_seq=12 ttl=128 time=0.101 ms
64 bytes from 192.168.0.150: icmp_seq=13 ttl=128 time=0.098 ms
64 bytes from 192.168.0.150: icmp_seq=14 ttl=128 time=0.098 ms
64 bytes from 192.168.0.150: icmp_seq=15 ttl=128 time=0.099 ms

http://pluggy.is-a-geek.com/index.html

halcyon

Thanks Pluggy!  I'm on my way to New York for a couple of days and will try that as soon as I'm back home.

Jason Goldenberg

Anyone know if some of the pins on the wiznet chip are supposed to be soldered together?  I have some pictures of mine, but I dont know how to upload them here.

halcyon

Jason, go to http://www.imageshack.us and upload your picture, then attach the permalink to it in the post.

Go Up