[ipxe-devel] snponly.efi broken

Jarrod Johnson jarrod.b.johnson at gmail.com
Wed Aug 6 14:40:49 UTC 2014


iPXE initialising devices...EFIDRV connecting our drivers
EFIPCI 0x69589a18 PciRoot(0x0)/Pci(0x5,0x4) cannot read PCI configuration:
No such device (http://ipxe.org/2c044087)
EFIPCI 0x68ffe918 PciRoot(0x0)/Pci(0x1F,0x6) cannot read PCI configuration:
No such device (http://ipxe.org/2c044087)
EFIPCI 0x68ffb618 PciRoot(0x1)/Pci(0x5,0x4) cannot read PCI configuration:
No such device (http://ipxe.org/2c044087)
SNP 0x691db218 PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/MAC(5CF3FC6E4738,0x0)
is an SNP device
EFIDRV 0x691db218
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/MAC(5CF3FC6E4738,0x0) has driver
"SNP"
EFIDRV 0x691db218
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/MAC(5CF3FC6E4738,0x0) disconnecting
existing drivers
EFIDRV 0x691db218
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/MAC(5CF3FC6E4738,0x0) connecting new
drivers
SNP 0x691db218 PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/MAC(5CF3FC6E4738,0x0)
is an SNP device
EFIDRV 0x691db218
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/MAC(5CF3FC6E4738,0x0) has driver
"SNP"
EFIDRV 0x691db218
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/MAC(5CF3FC6E4738,0x0) DRIVER_START
EFIDRV 0x691db218
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/MAC(5CF3FC6E4738,0x0) could not open
device path: Error 0x7f37e08f (http://ipxe.org/7f37e08f)
HANDLE 0x691db218
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/MAC(5CF3FC6E4738,0x0) DevicePath
opened 315x (H) by 0x7da7ce98 DxeCore(?) for 0x0 <NULL>
HANDLE 0x691db218
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/MAC(5CF3FC6E4738,0x0) DevicePath
opened 80x (T) by 0x6a1d4d98 Emulex 10G NIC
HANDLE 0x691db218
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/MAC(5CF3FC6E4738,0x0) DevicePath
opened 11x (T) by 0x69bc1b98 Platform Console Management Driver
HANDLE 0x691db218
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/MAC(5CF3FC6E4738,0x0) DevicePath
opened 11x (T) by 0x69bc1718 Platform Console Management Driver
HANDLE 0x691db218
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/MAC(5CF3FC6E4738,0x0) DevicePath
opened 1x (G) by 0x69c7e418 VLAN Configuration Driver
HANDLE 0x691db218
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/MAC(5CF3FC6E4738,0x0) DevicePath
opened 1x (G) by 0x69c5c198 UEFI PXE Base Code Driver
HANDLE 0x691db218
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/MAC(5CF3FC6E4738,0x0) DevicePath
opened 7x (T) by 0x6ab6e898 BIOS[INT13] Block Io Driver
HANDLE 0x691db218
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/MAC(5CF3FC6E4738,0x0) DevicePath
opened 1x (T) by 0x69c7ef18 Simple Network Protocol Driver
HANDLE 0x691db218
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/MAC(5CF3FC6E4738,0x0) DevicePath
opened 1x (D) by 0x69c7ef18 Simple Network Protocol Driver
SNP 0x68b7ad18 PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x1)/MAC(5CF3FC6E473C,0x0)
is an SNP device
EFIDRV 0x68b7ad18
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x1)/MAC(5CF3FC6E473C,0x0) has driver
"SNP"
EFIDRV 0x68b7ad18
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x1)/MAC(5CF3FC6E473C,0x0) disconnecting
existing drivers
EFIDRV 0x68b7ad18
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x1)/MAC(5CF3FC6E473C,0x0) connecting new
drivers
SNP 0x68b7ad18 PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x1)/MAC(5CF3FC6E473C,0x0)
is an SNP device
EFIDRV 0x68b7ad18
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x1)/MAC(5CF3FC6E473C,0x0) has driver
"SNP"
EFIDRV 0x68b7ad18
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x1)/MAC(5CF3FC6E473C,0x0) DRIVER_START
EFIDRV 0x68b7ad18
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x1)/MAC(5CF3FC6E473C,0x0) could not open
device path: Error 0x7f37e08f (http://ipxe.org/7f37e08f)
HANDLE 0x68b7ad18
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x1)/MAC(5CF3FC6E473C,0x0) DevicePath
opened 273x (H) by 0x7da7ce98 DxeCore(?) for 0x0 <NULL>
HANDLE 0x68b7ad18
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x1)/MAC(5CF3FC6E473C,0x0) DevicePath
opened 80x (T) by 0x6a1d4d98 Emulex 10G NIC
HANDLE 0x68b7ad18
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x1)/MAC(5CF3FC6E473C,0x0) DevicePath
opened 11x (T) by 0x69bc1b98 Platform Console Management Driver
HANDLE 0x68b7ad18
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x1)/MAC(5CF3FC6E473C,0x0) DevicePath
opened 11x (T) by 0x69bc1718 Platform Console Management Driver
HANDLE 0x68b7ad18
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x1)/MAC(5CF3FC6E473C,0x0) DevicePath
opened 1x (G) by 0x69c7e418 VLAN Configuration Driver
HANDLE 0x68b7ad18
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x1)/MAC(5CF3FC6E473C,0x0) DevicePath
opened 1x (G) by 0x69c5c198 UEFI PXE Base Code Driver
HANDLE 0x68b7ad18
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x1)/MAC(5CF3FC6E473C,0x0) DevicePath
opened 7x (T) by 0x6ab6e898 BIOS[INT13] Block Io Driver
HANDLE 0x68b7ad18
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x1)/MAC(5CF3FC6E473C,0x0) DevicePath
opened 1x (T) by 0x69c7ef18 Simple Network Protocol Driver
HANDLE 0x68b7ad18
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x1)/MAC(5CF3FC6E473C,0x0) DevicePath
opened 1x (D) by 0x69c7ef18 Simple Network Protocol Driver
ok



iPXE 1.0.0+ (471f) -- Open Source Network Boot Firmware -- http://ipxe.org
Features: HTTP DNS TFTP EFI Menu

iPXE> ifstat
iPXE>

I guess my question on having to disconnect the protocols is how important
that is in the snp or snponly cases.  I was having a pretty nice experience
just by leaving the platform protocols in place and adding the download and
simple filesystem protocols to the device.  I will confess to having
thought about creating a simple filesystem device that in no way looks like
a network device to avoid triggering network behaviors in EFI bootloaders,
but that would probably be making a new device handle instead of trying to
use the network device.

That said, forgive me if this sounds stupid but I don't know better...
Would it make sense to chase the parentage of the device path of interested
looking for a managed network protocol device in this case?


On Wed, Aug 6, 2014 at 9:41 AM, Michael Brown <mcb30 at ipxe.org> wrote:

> On 06/08/14 14:03, Jarrod Johnson wrote:
>
>> Shell> dh 1ba
>> Handle 1BA (68FFA518)
>>     Dpath (691ED298)
>>        AsStr: 'PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/MAC(5CF3FC6E4738,
>> 0x0)'
>>     Net (691DF020)
>>     MNPSb (68E94640)
>>     ARPSb (69379720)
>>
>> Shell> dh 1da
>> Handle 1DA (68B87018)
>>     Dpath (68B86B18)
>>        AsStr:
>> 'PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/MAC(5CF3FC6E4738,
>> 0x0)/IPv4(0.0.0.0,0x0,DHCP,0.0.0.0,0.0.0.0,0.0.0.0)'
>>     Load (68B87128)
>>     Net (691DF020)
>>     Pxebc (68B88110)
>>
>
> OK.  We want to be driving handle 0x68ffa518.  We need to disconnect MNPSb
> etc, so that we can gain control of the network device.
>
> However, the SNP instance (0x691df020) is being exposed via both handles.
>  I'm not sure what logic we could sensibly apply in order to obtain the
> first handle as our designated handle.
>
> What happens if you try to load snp.efi (instead of snponly.efi) on this
> system?
>
> Michael
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20140806/b4d2b477/attachment.htm>


More information about the ipxe-devel mailing list