I’m setting up a PXE boot environment using a DHCP server and a Realtek RTL8168 NIC (bulit-in ethernet on my mainboard). I’ve configured DHCP Option 67 to send the boot file name (netboot.xyz.efi), but during the PXE boot process, the client is displaying the file name with a single weird character. This results in boot failure (file not found).
My PXE server is using tftpd-hpa/noble,now 5.2+20150808-1.4build1 amd64
I've verified that in the tftp root directory, netboot.xyz.efi existed (downloaded from netboot.xyz)
dhcptest v0.7 - Created by Vladimir Panteleev https://github.com/CyberShadow/dhcptest Run with --help for a list of command-line options. Listening for DHCP replies on port 68. Sending packet: op=BOOTREQUEST chaddr=BD:2E:47:6A:89:7C hops=0 xid=8B6211E2 secs=0 flags=8000 ciaddr=0.0.0.0 yiaddr=0.0.0.0 siaddr=0.0.0.0 giaddr=0.0.0.0 sname= file= 1 options: 53 (DHCP Message Type): discover Received packet from 10.0.1.1:67: op=BOOTREPLY chaddr=BD:2E:47:6A:89:7C hops=0 xid=8B6211E2 secs=0 flags=8000 ciaddr=0.0.0.0 yiaddr=10.0.1.68 siaddr=0.0.0.0 giaddr=0.0.0.0 sname= file= 8 options: 53 (DHCP Message Type): offer 54 (Server Identifier): 10.0.1.1 51 (IP Address Lease Time): 60 (1 minute) 1 (Subnet Mask): 255.255.255.0 3 (Router Option): 10.0.1.1 6 (Domain Name Server Option): 1.1.1.1, 1.0.0.1 66 (TFTP server name): 10.0.1.5 67 (Bootfile name): netboot.xyz.efi Here is my router configuration, it is a Huawei HG8145V5-20 (modified firmware by ISP).
Edit: This looks like a firmware bug. I give up.



echo 'bmV0Ym9vdC54eXouZWZp' | base64 -d | hexdump -C(it is the filename). Likewise,MTAuMC4xLjU=is the encoded IP address. Is it the fact that the values are base64-encoded that is the issue? Are those the weird characters that you mention? EDIT: sorry, I totally missed the photo that you added further up in the question. I can now see the character after the end of the filename.