The error on http://ipxe.org/err/040ee1 is generic, basically saying “No Configuration Methods Succeeded).
This was a pretty useless generic error code.
In this situation, I was chain loading from pxelinux into ipxe.
The boot code (in pxelinux.cfg) is
LABEL iPXEServer
MENU LABEL iPXE boot
MENU DEFAULT
KERNEL ipxe.lkrn
APPEND sleep 10 && dhcp || goto retry_dhcp && chain http://192.168.0.22/pxeboot.php
Interestingly, the first PXE boot worked, which means DHCP etc are working fine.
In this situation, the 040ee119 error was due to firewall blocking the http access to 192.168.0.22. There are other things which could cause this error too, it is essentially saying it can't proceed with its defined boot method for an unspecified reason.