[ipxe-devel] can snponly.efi run without NII protocol installed?
丰立波
lbfeng at zd-tech.com.cn
Tue Aug 25 06:35:41 UTC 2020
Hello, Michael,
MAC(3C6A2CB0886A, 0x1) is a hardware device, but not on a PCIe bus. Can iPxe install its own SNP protocol on this kind of device? or iPxe just use the original SNP protocol on the hardware device?
Thanks
--
Best Regards
Feng Libo
ZD Technology (Beijing) Co., Ltd
发件人:"Michael Brown" <mcb30 at ipxe.org>
发送日期:2020-08-24 18:52:45
收件人:"丰立波" <lbfeng at zd-tech.com.cn>,"Christian Nilsson" <nikize at gmail.com>
抄送人:iPXE <ipxe-devel at lists.ipxe.org>
主题:Re: [ipxe-devel] can snponly.efi run without NII protocol installed?>On 20/08/2020 10:28, 丰立波 wrote:
>> I get a screenshot for debugging:
>> I think iPxe tried to replace the SNP protocol of my UEFI land with its
>> own SNP driver(the driver code is in the directory of
>> ipxe/src/drivers/net/efi/), first ipxe disconnect the my uefi driver,
>> then connect its own driver, but at this point, connection failed.
>>
>> There are two questions:
>> 1. why the new connection failed?
>> 2. Why iPXE try to replace my uefi driver, could iPxe just use the
>> original driver? Thanks.
>
>iPXE needs to disconnect other drivers (e.g. MnpDxe) from the SNP
>handle, so that it can have exclusive access to the network device.
>
> From the screenshot it looks as though your custom UEFI driver stack
>has the incorrect hierarchy of handles. My guess is that you may have
>some platform-specific driver providing the MAC(3C6A2CB0866A,0x1) handle
>as though it were a hardware device, and that your SNP driver then binds
>to this existing handle and installs EFI_SIMPLE_NETWORK_PROTOCOL as an
>additional protocol.
>
>This would be incorrect behaviour: the SNP driver should bind to a
>hardware device handle and then install EFI_SIMPLE_NETWORK_PROTOCOL onto
>a new handle. You can see this in action on a standard x86 UEFI system:
>the hardware device handle will be e.g.
>
> PciRoot(0x0)/Pci(0x3,0x0)
>
>and the SNP device handle will then be e.g.
>
> PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1).
>
>Try building with DEBUG=efi_driver:3 (which will dump additional
>information about the handle before and after disconnection).
>
>Michael
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20200825/841ceda2/attachment.htm>
More information about the ipxe-devel
mailing list