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" <mc...@ipxe.org> 发送日期:2020-08-24 18:52:45 收件人:"丰立波" <lbf...@zd-tech.com.cn>,"Christian Nilsson" <nik...@gmail.com> 抄送人:iPXE <ipxe-devel@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
_______________________________________________ ipxe-devel mailing list ipxe-devel@lists.ipxe.org https://lists.ipxe.org/mailman/listinfo/ipxe-devel