title: Cannot assign MAC address to Arduino uno Ethernet Shield
body: <p>I have been desesperately trying to run the Ethernet > DHCPAddressPrinter example on my Arduino uno mounted with an Ethernet Shield but to no effect, every time I run it it returns me the error</p>
  
  <blockquote>
    <p>Failed to configure Ethernet using DHCP</p>
  </blockquote>
  
  <p>I have tried all sorts of things, that are disabling the firewalls, resetting the board/shield, in start it gave me an ip but that was the only one time, i switched off the router and when i turned it on since then i cannot assign a MAC and IP to the Ethernet shield.</p>
  
  <p>Does anybody know how to solve this problem?</p>
  
  <p>Here is the sketch im trying to run</p>
  
  <pre><code>/*
    DHCP-based IP printer
  
   This sketch uses the DHCP extensions to the Ethernet library
   to get an IP address via DHCP and print the address obtained.
   using an Arduino Wiznet Ethernet shield. 
  
   Circuit:
   * Ethernet shield attached to pins 10, 11, 12, 13
  
   created 12 April 2011
   modified 9 Apr 2012
   by Tom Igoe
  
   */
  
  #include &lt;SPI.h&gt;
  #include &lt;Ethernet.h&gt;
  
  // Enter a MAC address for your controller below.
  // Newer Ethernet shields have a MAC address printed on a sticker on the shield
  byte mac[] = {  
    0xDE, 0xAD, 0xBD, 0xEF, 0xFE, 0xED 
  };
  
  // Initialize the Ethernet client library
  // with the IP address and port of the server 
  // that you want to connect to (port 80 is default for HTTP):
  EthernetClient client;
  
  void setup() {
   // Open serial communications and wait for port to open:
    Serial.begin(9600);
    // this check is only needed on the Leonardo:
     while (!Serial) {
      ; // wait for serial port to connect. Needed for Leonardo only
    }
  
    // start the Ethernet connection:
    if (Ethernet.begin(mac) == 0) {
      Serial.println("Failed to configure Ethernet using DHCP");
      // no point in carrying on, so do nothing forevermore:
      for(;;)
        ;
    }
    // print your local IP address:
    Serial.print("My IP address: ");
    for (byte thisByte = 0; thisByte &lt; 4; thisByte++) {
      // print the value of each byte of the IP address:
      Serial.print(Ethernet.localIP()[thisByte], DEC);
      Serial.print("."); 
    }
    Serial.println();
  }
  
  void loop() {
  
  }
  </code></pre>