You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
During the IPv6 network boot the bootloader does not respond to IPv6 "neighbor solicitation" (NS) packets. This blocks the boot process as dnsmasq (and radvd) needs know the MAC address of the Pi 5 before it can send the "neighbor advertisement" (NA) packet with the MAC address of the Pi 5. If the address of the Pi 5 is manually added to the kernel of the dnsmasq server the the boot process proceeds as expected.
Here is the relevant tcpdump trace of the failed boot (full tcpdump attached). Note the repeating "neighbor solicitation" (NS) packets that are not responded to. The dnsmasq machine is at fe80::da3a:ddff:fe47:a110 the target is at d8:3a:dd:98:09:77.
The workaround to add the MAC address to the Pi server kernel is as follows
ip neigh replace fe80::da3a:ddff:fe98:977 dev eth0 lladdr d8:3a:dd:98:09:77
Steps to reproduce the behaviour
Setup a Pi server running bookworm with the networking on wlan0 and install dnsmasq (be sure to disable it in systemd). Connect the Pi5 and the Pi server on an empty switch (or use a direct connection).
As root and with the following dnsmasq.conf
## DHCPv6
interface=eth0
dhcp-range=fd00:0400:3::2:01,fd00:0400:3::2:FF,600s
dhcp-option=option6:bootfile-url,tftp://[fd00:400:3::8]/
#dhcp-option=option6:ntp-server,[fd00:400:3::1]
dhcp-leasefile=./dnsmasq.leases
## RA v6
enable-ra
## tftp
enable-tftp
tftp-root=/data
## run forground to stdout
#keep-in-foreground
no-daemon
log-facility=-
Run dnsmasq server with
dnsmasq --conf-file=dnsmasq.conf | tee 1-pi5-no-na-dnsmasq.txt
On another terminal on the Pi server run
tcpdump -n -vvv -i eth0 not port 22 |tee 1-pi5-no-na-tcpdump.txt
Describe the bug
During the IPv6 network boot the bootloader does not respond to IPv6 "neighbor solicitation" (NS) packets. This blocks the boot process as dnsmasq (and radvd) needs know the MAC address of the Pi 5 before it can send the "neighbor advertisement" (NA) packet with the MAC address of the Pi 5. If the address of the Pi 5 is manually added to the kernel of the dnsmasq server the the boot process proceeds as expected.
Here is the relevant tcpdump trace of the failed boot (full tcpdump attached). Note the repeating "neighbor solicitation" (NS) packets that are not responded to. The dnsmasq machine is at
fe80::da3a:ddff:fe47:a110
the target is atd8:3a:dd:98:09:77
.The workaround to add the MAC address to the Pi server kernel is as follows
Steps to reproduce the behaviour
Setup a Pi server running bookworm with the networking on wlan0 and install dnsmasq (be sure to disable it in systemd). Connect the Pi5 and the Pi server on an empty switch (or use a direct connection).
As root and with the following
dnsmasq.conf
Run dnsmasq server with
On another terminal on the Pi server run
Device (s)
Raspberry Pi 5
Bootloader configuration.
System
Bootloader logs
USB boot
No response
NVMe boot
No response
Network (TFTP boot)
0-commands.txt
Failed boot
1-pi5-no-na-serial.txt
1-pi5-no-na-tcpdump.txt
dnsmasq.conf.txt
Successful boot with workaround
5-pi5-static-serial.txt
5-pi5-static-tcpdump.txt
The text was updated successfully, but these errors were encountered: