Anyone tried the Ethernet shield connecting using DHCP? Got the code from http://gkaindl.com/software/arduino-ethernet/dhcp but cannot comply with my Uno R3 and Ethernet R3. Dont know whether its because of version problem. Run the code from the example

// Copyright (C) 2010 Georg Kaindl// http://gkaindl.com//// This file is part of Arduino EthernetDHCP.//// EthernetDHCP is free software: you can redistribute it and/or modify// it under the terms of the GNU Lesser General Public License as// published by the Free Software Foundation, either version 3 of// the License, or (at your option) any later version.//// EthernetDHCP is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU Lesser General Public License for more details.//// You should have received a copy of the GNU Lesser General Public// License along with EthernetDHCP. If not, see// <http://www.gnu.org/licenses/>.//

// Illustrates how to use EthernetDHCP in polling (non-blocking)// mode.

// Initiate a DHCP session. The argument is the MAC (hardware) address that // you want your Ethernet shield to use. The second argument enables polling // mode, which means that this call will not block like in the // SynchronousDHCP example, but will return immediately. // Within your loop(), you can then poll the DHCP library for its status, // finding out its state, so that you can tell when a lease has been // obtained. You can even find out when the library is in the process of // renewing your lease. EthernetDHCP.begin(mac, 1);}

// poll() queries the DHCP library for its current state (all possible values // are shown in the switch statement below). This way, you can find out if a // lease has been obtained or is in the process of being renewed, without // blocking your sketch. Therefore, you could display an error message or // something if a lease cannot be obtained within reasonable time. // Also, poll() will actually run the DHCP module, just like maintain(), so // you should call either of these two methods at least once within your // loop() section, or you risk losing your DHCP lease when it expires! DhcpState state = EthernetDHCP.poll();