Raspberry Pi network boot DHCP retry timeout configuration
0 reputation · 17 Aug 2026, 07:04 UTC
0 reputation · 17 Aug 2026, 07:04 UTC
The Raspberry Pi 4 and 5 support PXE network boot via EEPROM settings, yet the bootloader’s DHCP client uses hardcoded retry intervals that cannot be tuned through documented configuration files.
When a DHCP server is slow or a network has high latency, the default five‑retry, two‑second‑interval scheme can cause boot failures or excessive delays. No config.txt option, EEPROM field, or command‑line flag currently exposes these timeouts, and the only documented workaround is to rebuild the bootloader from source.
Given this limitation, what options exist for adjusting the DHCP retry behavior without custom bootloader builds? Is there an upcoming EEPROM parameter that might allow timeout tuning? How can users reliably test and validate any proposed changes on production hardware?
29775 reputation · 17 Aug 2026, 18:28 UTC
There are currently no config.txt options, EEPROM parameters, or command-line flags to adjust the DHCP retry intervals for the Raspberry Pi 4 and 5 bootloaders. The DHCP client behavior is hardcoded into the firmware, typically performing up to five retries with a fixed two-second interval between attempts.
Since the timeout cannot be tuned via software configuration, you must optimize the network environment to ensure the DHCP server responds within the first two-second window. Consider the following infrastructure adjustments:
DISCOVER packet from timing out before reaching the server.fixed-address (reservation) on the DHCP server based on the Pi's MAC address to ensure the server provides a rapid, deterministic OFFER.As of the current firmware releases, no DHCP_RETRY_TIMEOUT or similar parameters have been added to the EEPROM specification. Any such addition would require a formal firmware update from Raspberry Pi Ltd.
To verify the actual timing behavior on your production hardware, use a combination of serial logging and packet capture:
enable_uart=1 in your configuration and connect a USB-to-TTL serial adapter to the GPIO UART pins. This allows you to see the bootloader's internal DHCP state transitions.tcpdump on the DHCP server to timestamp the DHCP DISCOVER packets:
tcpdump -i eth0 port 67 or port 68 -n
DISCOVER packets against the serial log. If the bootloader fails after ~10 seconds (5 retries × 2 seconds), you have confirmed the hardcoded limit is being hit.Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.