Second stage PXE ignore DHCP offer in Pi 3B
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 25/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Stale
- Domain
- embedded-iot, networking
Research direction
Start by comparing the Pi 3B and Pi 3B+ second-stage PXE behavior using the supplied UART output, DHCP server log, and tcpdump observations. Check the bootcode.bin version and commit identified in the report, then trace why the second-stage DHCP query ignores the offer. Done means the Pi 3B accepts the second-stage DHCP offer and continues PXE booting.
Written by the indexing model from the issue text.
Description
I am PXE booting a Pi 3B without any SD card or disk. Sometimes the ROM-program successfully downloads a bootcode.bin, but then when ROM hands over, the second stage DHCP query fails. I'm working around the network flush bug with dummy broadcasts so that's likely not the issue(?). Plus, the problem is in a recent bootcode.bin where I guess the flush bug has been fixed? Only my Pi 3B seems affected though. A parallel Pi 3B+ works.
Here is the second stage serial UART console:
Raspberry Pi Bootcode
USB ethernet boot
Sending DHCP request
Waiting for dhcp_reply
Sending DHCP request
Waiting for dhcp_reply
Sending DHCP request
Waiting for dhcp_reply
Sending DHCP request
Waiting for dhcp_reply
Sending DHCP request
Waiting for dhcp_reply
Sending DHCP request
Waiting for dhcp_reply
According to the console log bootcode.bin query DHCP endlessly (it never stops). But this is not true. Network querys are only sent for about one minute and then ends, as can be seen below in the DHCP server log. (Verified with tcpdump as well).
Mar 25 04:28:54 dhcpd: DHCPDISCOVER from b8:27:eb:5d:5d:74 via eth1
Mar 25 04:28:59 dhcpd: DHCPOFFER on 192.168.1.253 to b8:27:eb:5d:5d:74 via eth1
Mar 25 04:28:59 xinetd[2024]: START: tftp from=192.168.1.253
Mar 25 04:28:59 in.tftpd[31426]: RRQ from 192.168.1.253 filename bootcode.bin
Mar 25 04:28:59 in.tftpd[31427]: RRQ from 192.168.1.253 filename bootsig.bin
Mar 25 04:29:04 dhcpd: DHCPDISCOVER from b8:27:eb:5d:5d:74 via eth1
Mar 25 04:29:04 dhcpd: DHCPOFFER on 192.168.1.253 to b8:27:eb:5d:5d:74 via eth1
Mar 25 04:29:09 dhcpd: DHCPDISCOVER from b8:27:eb:5d:5d:74 via eth1
Mar 25 04:29:09 dhcpd: DHCPOFFER on 192.168.1.253 to b8:27:eb:5d:5d:74 via eth1
Mar 25 04:29:14 dhcpd: DHCPDISCOVER from b8:27:eb:5d:5d:74 via eth1
Mar 25 04:29:14 dhcpd: DHCPOFFER on 192.168.1.253 to b8:27:eb:5d:5d:74 via eth1
Mar 25 04:29:19 dhcpd: DHCPDISCOVER from b8:27:eb:5d:5d:74 via eth1
Mar 25 04:29:19 dhcpd: DHCPOFFER on 192.168.1.253 to b8:27:eb:5d:5d:74 via eth1
Mar 25 04:29:24 dhcpd: DHCPDISCOVER from b8:27:eb:5d:5d:74 via eth1
Mar 25 04:29:24 dhcpd: DHCPOFFER on 192.168.1.253 to b8:27:eb:5d:5d:74 via eth1
Mar 25 04:29:29 dhcpd: DHCPDISCOVER from b8:27:eb:5d:5d:74 via eth1
Mar 25 04:29:29 dhcpd: DHCPOFFER on 192.168.1.253 to b8:27:eb:5d:5d:74 via eth1
Mar 25 04:29:34 dhcpd: DHCPDISCOVER from b8:27:eb:5d:5d:74 via eth1
Mar 25 04:29:34 dhcpd: DHCPOFFER on 192.168.1.253 to b8:27:eb:5d:5d:74 via eth1
Mar 25 04:29:39 dhcpd: DHCPDISCOVER from b8:27:eb:5d:5d:74 via eth1
Mar 25 04:29:39 dhcpd: DHCPOFFER on 192.168.1.253 to b8:27:eb:5d:5d:74 via eth1
Mar 25 04:29:44 dhcpd: DHCPDISCOVER from b8:27:eb:5d:5d:74 via eth1
Mar 25 04:29:44 dhcpd: DHCPOFFER on 192.168.1.253 to b8:27:eb:5d:5d:74 via eth1
Mar 25 04:29:49 dhcpd: DHCPDISCOVER from b8:27:eb:5d:5d:74 via eth1
Mar 25 04:29:49 dhcpd: DHCPOFFER on 192.168.1.253 to b8:27:eb:5d:5d:74 via eth1
Mar 25 04:29:54 dhcpd: DHCPDISCOVER from b8:27:eb:5d:5d:74 via eth1
Mar 25 04:29:54 dhcpd: DHCPOFFER on 192.168.1.253 to b8:27:eb:5d:5d:74 via eth1
Versions used:
- bootcode.bin: 1.20190215 (98997f363e3683ead4f50c37902169248628303a)
- ISC DHCP server: v3
- Pi 3B, board revision a02082
- Dominant language
- No language data
- Stars
- 5.6k
- Forks
- 1.7k
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from raspberrypi/firmware
-
Difficulty 4/5 3-5 days Newbie friendliness 38/100
raspberrypi/firmware#2042 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
raspberrypi/firmware#2040 · 2 comments ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
raspberrypi/firmware#2039 · 6 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 42/100
raspberrypi/firmware#2038 · 4 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 38/100
raspberrypi/firmware#2037 · 4 comments ·
All issues in raspberrypi/firmware
Similar issues
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
[adam] AdamNet network read doesn't cap to MAX_ADAM_PACKET_LEN, overflows client receive buffers Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
FujiNetWIFI/fujinet-firmware#1649 · 2 comments ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
espressif/esp-iot-solution#786 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100