On 20/08/17 21:25, Heinrich Schuchardt wrote:
U-Boot exposes the Simple Network Protocol in the UEFI interface but no
underlying PCI devices.

As shown in the appended log the start routine of the binding protocol
gives up after finding no PCI device related to the SNP service
(EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_GUID_31 and
EFI_PCI_IO_PROTOCOL_GUID are not available).

Is there no SNP-only driver available in iPXE?
I thought this is what snponly.efi is made for.

Yes, snponly.efi (or snp.efi) will happily drive non-PCI SNP devices.

The problem is not due to the SNP device being a non-PCI device. The iPXE snpnet driver will try to get information about the underlying hardware device (by calling efi_device_info() in snpnet_start()), but any failures here will be ignored. (The practical effect of failures is just that hardware-specific settings such as ${net0/busloc} will not contain meaningful values.)

The actual problem preventing the snpnet driver from working occurs on line 354 of your log:

  SNP MAC(001e0633bcbf,0x0) has invalid hardware address length 0

i.e. the SNP exposed by U-Boot has

  Snp->Mode->HwAddressSize == 0

Change your SNP to report HwAddressSize = 6 (i.e. a standard Ethernet MAC address length), and it should work as expected.

Michael
_______________________________________________
ipxe-devel mailing list
ipxe-devel@lists.ipxe.org
https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel

Reply via email to