This error indicates that DHCP has timed out without receiving a response from a DHCP server. Things to try: * Check that your DHCP server is online and responding to requests. * Check your DHCP server logs. For example, if you are using ISC dhcpd, you should see something like dhcpd: DHCPDISCOVER from 00:18:f3:f0:9e:61 via eth0 dhcpd: DHCPOFFER on 10.0.0.171 to 00:18:f3:f0:9e:61 via eth0 dhcpd: DHCPREQUEST for 10.0.0.171 (10.0.0.6) from 00:18:f3:f0:9e:61 via eth0 dhcpd: DHCPACK on 10.0.0.171 to 00:18:f3:f0:9e:61 via eth0 * Watch traffic on the DHCP server in real time * tcpdump -i eth0 * After the failed DHCP attempt, check the output from the ''[[:cmd:ifstat]]'' command to see if iPXE is receiving any packets (the "''RX''" counter) or experiencing receive errors (the "''RXE''" counter). * Try configuring an appropriate static IP address on the iPXE client, using the iPXE [[:cmdline|command line]]. For example, to configure the static IP address 10.0.0.199/255.255.255.0: ifopen net0 set net0/ip 10.0.0.199 set net0/netmask 255.255.255.0 Check that you can ''ping'' this IP address from your DHCP server. * Try [[:howto:pcap|capturing a packet trace]]. * If you are using Cisco networking equipment, then verify that [[http://www.cisco.com/en/US/products/hw/switches/ps708/products_tech_note09186a00800b1500.shtml|portfast]] is enabled. * If you are using iPXE inside a virtual machine with a bridged network, then you must set the bridge spanning tree interface startup forwarding delay to zero (Normally 15 seconds). You can do this using the command brctl setfd br0 0 You may be able to configure this permanently via your system's network configuration files; e.g. by adding ''DELAY=0'' to ''/etc/sysconfig/network-scripts/ifcfg-br0'' (Redhat). On some systems the minimum delay is 2 seconds. * If your VM bridge network doesn't have multiple routes, then you may not need STP at all, in which case set bridge_stp off in ''/etc/network/interfaces'' (Debian). {{ :clipart:dragon.png?134x132 |Here be dragons}} === Advanced troubleshooting === You can use a [[:howto:pcap|packet trace]] to determine which types of DHCPOFFER have been received by looking at the "seconds elapsed" field in any DHCP packets transmitted by iPXE: ^ Bit 0 | Indicates that a DHCPOFFER containing PXE options has been received | ^ Bit 1 | Indicates that a DHCPOFFER containing an IP address has been received | For example, suppose that the packet trace shows a DHCPDISCOVER containing: {{ :screenshots:wireshark_dhcp_secs.png?339x168 |DHCP packet showing "Seconds elapsed: 14"}} The "seconds elapsed" value in this example is 14, which is 0b1110 in binary. Bit 1 is set, indicating that a DHCPOFFER containing an IP address has been received. Bit 0 is not set, indicating that no DHCPOFFER containing PXE options has been received.