Lantz, Philip <philip.lantz@...> writes: > > > On Friday 01 Jul 2011 19:23:29 Lantz, Philip wrote: > > > > Under EFI, iPXE can either use a built-in iPXE driver (i.e. something > > > > under drivers/net), or use an existing EFI network device via an EFI SNP > > > > interface. Your driver needs to provide an EFI SNP interface, or rely > > > > upon components that consume an EFI UNDI interface and provide an EFI SNP > > > > interface. > > > > > > I suspected this -- thanks for confirming it -- and I have tried loading an > > > SNP interface on top of my UNDI driver before running iPXE, but iPXE still > > > doesn't find it. Do you have any more suggestions for why this might > > > happen? Can you point me toward the code in iPXE that is supposed to > > > locate the SNP interface and connect to it? > > > It's in drivers/net/efi/snponly.c. From a quick look at the code, it seems as > > though it will only attach to the SNP from which the iPXE binary was loaded > > (i.e. it's the functional equivalent of arch/i386/drivers/net/undionly.c). > > > > It should be possible to create an iPXE EFI driver that will attach to any SNP > > device within the system and call snpnet_probe(). You could model this on the > > code in interface/efi/efi_pci.c, which attaches to any PCI device within the > > system and calls pci_probe(). > > Thanks! This is what I did. I changed snpbus_probe to call LocateHandle to find a handle that supports SNP > and it now connects to my driver. > > > > After I got some debugging output enabled, iPXE prints > > > EFIPCI DRIVER_SUPPORTED 0x3de92f90 (0x0) > > > EFIPCI device 0x3de92f90 is not a PCI device > > > In fact, 0x3de92f90 isn't even a valid handle; as far as I know, EFI > > > handles are small integers, not memory addresses. > > > UefiBaseType.h: typedef VOID * EFI_HANDLE; > > > > (Type checking? Who needs type checking? Let's make one of the most > > frequently used EFI data types transparently cast to or from any pointer > > type!) > > I'm with you there. (Though with the frequency of casts in the EDK code, it hardly matters.) > > I still don't understand why the 'dh' command only lists handles with small integer values. But it doesn't > matter to me now--that code isn't part of snponly. > > I appreciate the assistance. > > Philip >
basically I'm trying to get the same result as Philip. I boot from a USB key on a Mac. I can get the shell ipxe but I can not go any further: "No more network devices". "ifstat" shows no interface available. "Forcedeth" should support my network card but it appears that no appeal to this driver is done. I need help to change the snpbus_probe. My network card is an Nvidia card (MCP89 10DE0D7D). I will rebuild the ipxe.efi with debbugs options to see if I get the same message as Philip. Thank you for your help. _______________________________________________ ipxe-devel mailing list [email protected] https://lists.ipxe.org/mailman/listinfo/ipxe-devel

