[ipxe-devel] Mac Mini EFI firmware breaks iPXE TFTP

Michael Brown mbrown at fensystems.co.uk
Fri Jul 27 12:35:28 UTC 2012


On Thursday 26 Jul 2012 17:59:31 Hilko Bengen wrote:
> I have been playing with iPXE (snponly) on a current Mac Mini, using the
> console initialization patches Stefan Dösinger posted in February. I
> have found that chainloading large files does not work because something
> causes ICMP "Destination port unreachable" messages to be sent to the
> TFTP server. The TFTP server then stops sending further blocks.
> 
> Curiously, these ICMP messages are also received by iPXE, which can be
> seen with DEBUG=icmp. As far as I am aware, there is no code in iPXE
> that generates such messages. Is that correct?

That's correct.  The only ICMP packet that iPXE can generate is an echo (ping) 
response.

> iPXE is loaded via TFTP (configuration below). At the moment I suspect
> that some part of the Mac's firmware is still interacting with the
> network adapter and thus interferes with iPXE's usage of the SNP API.
> 
> Workaround: Setting the start value of try_port in udp_bind() to
> something higher than 1023 resolved the issue here, but this is not a
> proper fix.

How much higher than 1023?

Does the same problem occur if you use a TCP-based protocol such as HTTP 
instead of TFTP?

Michael



More information about the ipxe-devel mailing list