Webserver

I can't seem to get my webserver running, I'm using the default code, I have an atmega328, with a v1.1 ethernet shield. I've set the IP and MAC address, and im running a cat5 crossover cable from my shield to computer, but i cant load the webpage, what do you suppose is wrong? :'O

EDIT: This is the code im using

/*
  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
 
 */

#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 };
byte ip[] = { ***, ***, ***, *** };

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

void setup()
{
  // start the Ethernet connection and the server:
  Ethernet.begin(mac, ip);
  server.begin();
}

void loop()
{
  // listen for incoming clients
  Client client = server.available();
  if (client) {
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        // 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();

          // 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("
");
          }
          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();
  }
}

this is the shield i have: http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=150483034044

I assume you have changed *** for a valid IP address that is different to that of your computer?

byte ip[] = { ***, ***, ***, *** };

Next to your IP address, you should also define a subnetmask.
Good luck

Yeah I changed the ***s.

And do I set the subnetmask like:

byte subnetmask[] = { ];

? What IP do i put in there?

Most typically your subnet mask is 255.255.255.0. So for the arduino that would be entered as:

byte subnet[] = { 255, 255, 255, 0 };

This CAN vary depending on your network setup. If you need to check it in a Windows PC, open a command prompt (type "cmd" in the run box). Then type "ipconfig" in the displayed window. Within the text that results should be your Subnet Mask for the PC. If the Arduino is on the same network, it should be the same value.
Not sure but I think the related command in a linux terminal window is "ifconfig".

yep for linux it is ifconfig. it will show the ethernet devices and the subnet mask will be listed as Mask:xxx.xxx.xxx.xxx. although I don't believe you need to set the submask.

you should change the mac address

try pinging the ip address of the shield

Have you set your PC to have an IP rather than trying to get one from DHCP?