user27957: I bought a Chipdot Ethernet shield from Amazon. It does not have any MAC address on it. I connected this shield to an Arduino Uno. I tried to run the DHCPAdressPrinter code from Ethernet library on it, using the default MAC address of this code. And Serial monitor shows

Failed to configure Ethernet using DHCP

I have tried all the MAC IDs one by one as suggested on reviews but nothing worked. Is there any way to configure or assign a MAC ID to the Ethernet shield? Or is there are any way to know the Ethernet shield's  MAC address?
Thanks in advance.

user30198: The W5100 chip doesn't have a mac address by itself. You can assign any mac address to it that you want. With Ethernet.begin(mac); you assign the mac address to the W5100 chip.
The official Arduino Ethernet shield comes with a paper with a unique mac address. That is a nice service, but that is just a number, the Ethernet shield hardware is without any mac address.
There has been complaints about wrong resistor values near the ethernet connector. Can you read the numbers on those resistors ? They should be labeled as "510" and not as "511" : Arduino forum about ethernet resistors.
The Ethernet Shield uses more power than most other shields, and the W5100 can get pretty hot. Do you have enough power ? Is the 5V pin still above 4.5V ?
It is possible that your router does not accept the old W5100.
If the resistors are okay, I suggest to try an example with both mac and ip: Ethernet.begin(mac, ip);

27957: <p>I bought a <a href="http://www.amazon.in/Chipdot-3-01-0441-2-Ethernet-Network-Expansion/dp/B00AXVX5D0/ref=sr_1_2?ie=UTF8&amp;qid=1487141745&amp;sr=8-2&amp;keywords=arduino%20ethernet%20shield%20for%20mega%22,%22http://www.amazon.in/Chipdot-3-01-0441-2-Ethernet-Network-Expansion/dp/B00AXVX5D0/ref=sr_1_2?ie=UTF8&amp;qid=1487141745&amp;sr=8-2&amp;keywords=arduino%20ethernet%20shield%20for%20mega" rel="nofollow noreferrer">Chipdot Ethernet shield</a> from Amazon. It does not have any MAC address on it. I connected this shield to an Arduino Uno. I tried to run the <code>DHCPAdressPrinter</code> code from Ethernet library on it, using the default MAC address of this code. And Serial monitor shows</p>

<blockquote>
  <p>Failed to configure Ethernet using DHCP</p>
</blockquote>

<p>I have tried all the MAC IDs one by one as suggested on reviews but nothing worked. Is there any way to configure or assign a MAC ID to the Ethernet shield? Or is there are any way to know the Ethernet shield's  MAC address?</p>

<p>Thanks in advance.</p>
 30198: <p>The W5100 chip doesn't have a mac address by itself. You can assign any mac address to it that you want. With <code>Ethernet.begin(mac);</code> you assign the mac address to the W5100 chip.<br>
The official Arduino Ethernet shield comes with a paper with a unique mac address. That is a nice service, but that is just a number, the Ethernet shield hardware is without any mac address.</p>

<p>There has been complaints about wrong resistor values near the ethernet connector. Can you read the numbers on those resistors ? They should be labeled as "510" and not as "511" : <a href="https://forum.arduino.cc/index.php?topic=351477.0" rel="nofollow noreferrer">Arduino forum about ethernet resistors</a>.</p>

<p>The Ethernet Shield uses more power than most other shields, and the W5100 can get pretty hot. Do you have enough power ? Is the 5V pin still above 4.5V ?</p>

<p>It is possible that your router does not accept the old W5100.</p>

<p>If the resistors are okay, I suggest to try an example with both mac and ip: <code>Ethernet.begin(mac, ip);</code></p>
