<p>I work with embedded Linux systems that sometimes want to get their IP address from a DHCP server.  The DHCP Client client we use (<a href="http://www.phystech.com/download/dhcpcd.html" rel="nofollow noreferrer" title="DHCPCD">dhcpcd</a>) has limited retry logic.  If our device starts up without any DHCP server available and times out, dhcpcd will exit and the device will never get an IP address until it's rebooted with a DHCP server visible/connected.  I can't be the only one that has this problem.  The problem doesn't even seem to be specific to embedded systems (though it's worse there).  How do you handle this?  Is there a more robust client available?  </p>

[{'answer_id': 63719, 'author': 'Daniel Papasian', 'author_id': 7548, 'author_profile': 'https://Stackoverflow.com/users/7548', 'pm_score': 2, 'selected': False, 'text': '<p>The reference dhclient from the ISC should run forever in the default configuration, and it should acquire a lease later if it doesn\'t get one at startup.</p>\n\n<p>I am using the out of the box dhcp client on FreeBSD, which is derived from OpenBSD\'s and based on the ISC\'s dhclient, and this is the out of the box behavior.</p>\n\n<p>See <a href="http://www.isc.org/index.pl?/sw/dhcp/" rel="nofollow noreferrer">http://www.isc.org/index.pl?/sw/dhcp/</a></p>\n'}, {'answer_id': 63724, 'author': 'Jason Cohen', 'author_id': 4926, 'author_profile': 'https://Stackoverflow.com/users/4926', 'pm_score': 2, 'selected': False, 'text': '<p>You have several options:</p>\n\n<ol>\n<li>While you don\'t have an IP address, restart dhcpcd to get more retries.</li>\n<li>Have a backup static IP address. This was quite successful in the <a href="http://itwatchdogs.com" rel="nofollow noreferrer">embedded devices I\'ve made</a>.</li>\n<li>Use <a href="http://www.duxcw.com/faq/network/autoip.htm" rel="nofollow noreferrer">auto-IP</a> as a backup.  Windows does this.</li>\n</ol>\n'}, {'answer_id': 64746, 'author': 'jpbarto', 'author_id': 8511, 'author_profile': 'https://Stackoverflow.com/users/8511', 'pm_score': 1, 'selected': False, 'text': "<p>Add to <code>rc.local</code> a check to see if an IP has been obtained.  If no setup an 'at' job in the near future to attempt again.  Continue scheduling 'at' jobs until an IP is obtained.  </p>\n"}]
['https://Stackoverflow.com/questions/63690', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/7685/']