Wiznet woes!

This is really for follower/RancidBacon.

I'm having some real problems getting the wiz810mj working.

I got one of the SPI adaptor boards from nkc electronics, and everything's connected correctly.

I've tried all the example scripts, but can't get any of them working properly.

I've had a little success with a modified client example sketch, basically changed so that, instead of just finishing when a connection fails, it delays 5 seconds then attempts to reconnect.

So, a little success, meaning a handful of times I've got something, basically a 503 response. Thinking that this is 'coz it's making a HTTP/1.0 request, I've tried to change it ti HTTP/1.1. But with HTTP/1.1, I've never got anything. :-[

Here's the rub, my router. I'm connecting to the net through a Huawei D100 and the modems a E220. Now while I can connect to the net fine on my lappy, I'm thinking this may be the problem.

Has anyone else had any success with one of these?

Trying to track down the problem's really hard. The routers software is, well, basic to say the least. The firewall (just IP/MAC filtering) is turned off. Aside from that, it appears you can only see what devices are connected to the router if they've got a DCHP lease, which I'm not using. Did try the DCHP example, and it did show up a couple of times, but always got 'connection failed' on the Arduino.

So, back to the point. What I'm wondering is, is there any way I can get some more information from the arduino as to why the connection has failed? I've looked at the reference page for the library, but can't find any info on this.

Can you tell me at what point the IP is registered with the router? Is it at the Ethernet.begin stage or the client.connect stage?

Failing that, is there any software I can get that'll let me look deeper into what's going on? I'm using XP (stop laughing in the back there!).

Another couple of things, I've managed to ping the Arduino a couple of times, though, bizzarely, only when the sketch has crashed at the 'connecting..' point. :-?

Also, to try to narrow things down a little, I've tried pulling pages from my laptop by setting the server to my laptops IP (it's running WAMP), no luck whatsoever there though. Even tried to see if I could just get it to pull the login page from my router by putting its IP in, but again nothing.

Starting to lose the will to live now as I'm not sure what else to do.

Looking forward to your guidance.

Regards, The Cageybee

Looking forward to your guidance.

Perhaps you have bad code. If you don't post your code, nobody has a clue.

Divide and conquer....

Get a crossover cable, connect (using JUST the crossover cable) two "big" computers together, be sure you can ping one from the other reliably.

Replace one of the big computers with your Wiznet. Set the Wiznet to a fixed IP address. Get to where you can reliably ping the Wiznet from the big computer.

Lots of options for where you go from there. Which is best depends on ultimate destination. I'd probably next go to getting the Wiznet to serve a web page, still connected only to the big computer. Big computer would fire up a browser and "look" at the IP address of the Wiznet, and expect to get a page of HTML from it.

Thanks for the reply guys.

As said, the sketch is just basically the example sketch just edited to keep trying to connect. But just for zoomkat, here it is:

#include <Ethernet.h>

byte mac = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip = { 192, 168, 1, 101 };
byte server = { 192, 168, 1, 1 }; // Router

Client client(server, 80);

void setup()
{
Ethernet.begin(mac, ip);
Serial.begin(9600);
delay(3000);
}

void loop()
{
Serial.println(“connecting…”);
if (client.connect()) {
Serial.println(“connected”);
client.println(“GET /index.asp HTTP/1.0”); // Router admin page
client.println();
} else {
Serial.println(“connection failed”);
}
if (client.available()) {
char c = client.read();
Serial.print(c);

}

if (!client.connected()) {
Serial.println();
Serial.println(“disconnecting.”);
client.stop();

}
Serial.print(“Waiting to retry”);
for (int i = 0; i < 5; i++) {
delay(1000);
Serial.print(".");
}
Serial.println();
}

To tkbyd. Yeah I was thinking that myself. At least if it’s connected directly to the PC via a crossover cable I can look at what’s going on more closely.

Unfortunately, the vast majority of my PC stuff, cables and the like are at my folks place a few hundred miles away. There’s a box full of cables of different types, LOL. They wouldn’t know a crossover cable from a hose pipe prolly.

So, guess I gonna have to buy a new one. Off to order one now.

In the mean time, I was really hoping ‘follower’ would be able to give me some more insight into how the library works. He wrote it I believe. Wondering if there’s some Doxygen docs out there or anything. I can’t find where the library’s hosted, except on the Arduino site. The details on the library are a little sparse there unfortunately.

Anywho,
Cheers again,
The Cageybee

Something weirds going on. I downloaded the DCHP library from http://gkaindl.com not expecting anything, but it worked first time.

So, question is what up with the standard library?

The DCHP lease the router supplies me with is: (from serial monitor) A DHCP lease has been obtained. My IP address is 192.168.1.101 Gateway IP address is 192.168.1.1 DNS IP address is 192.168.1.1

But that's what I was entering in the webclient sketch, as you can see from the code snipit above. I'm guessing the code above's alright as no one posted to say there was anything wrong with it.

So, prey may I ask, now that I know that it's not my network causing the problems, the wiznet's connected correctly and the IP's are setup correctly, why would the standard library not be working?

I'd like to use the standard library as the DCHP one does take up quite a bit of space.

Any of you geniuses got any ideas?

The Cageybee