Hi all,
I’ve recently got a FOG server up and running and am having problems with some models of computer failing to PXE boot. (Specifically, Dell Vostro 220, which the wiki reports as working). I’ve had other models of computer go to the iPXE menu no problem.
On the affected PC the error is
PXE-T01: File not found
PXE-E3B: TFTP Error - File Not Found
PXE-M0F: Exiting PXE ROM
Doing some digging, I ran a pcap on the FOG server’s host, and discovered that for the affected computer model, the source file name in the TFTP read request has a bunch of garbage bytes appended to it, which are not there for the computers that behave normally. I have attached an excerpt of the packet capture, showing first the TFTP traffic for a “good” computer, trimmed after the first data block, and after that the traffic for the “bad” computer.
Our environment is DHCP provided by a Unifi Security Gateway, FOG running in an Ubuntu 18.04 LXC container on Proxmox.
I updated the affected PC to the latest available BIOS and that didn’t help.
How can I resolve this problem? The idea that comes to my mind is to make a copy of undionly.kpxe named to match what the computers are requesting, but that seems like a kludge and I’m wondering if there’s any better way.
excerpt.pcap
(PS: It seems like every packet is quadruplicated in the capture. I think that’s just a quirk of running tcpdump on Proxmox, I probably used the wrong tcpdump options.)