[ipxe-devel] snponly.efi: unable to open SNP device

Heinrich Schuchardt xypron.glpk at gmx.de
Mon Aug 21 01:45:40 UTC 2017


On 08/20/2017 11:28 PM, Michael Brown wrote:
> 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
> 

Thanks that solved the problem. I am now able to send out a DHCP
discover package via the dhcp command.

Heinrich





More information about the ipxe-devel mailing list