Hi all,
I've been attempting to get a UEFI application to use the PXE Base Code
Protocol (PxeBc) to get an IP (v4) using PxeBc->Dhcp(); testing is being
done on a commercial ASUS motherboard (M5A99FX Pro R2.0, firmware
version 2501) in the EFI Shell. During the DORA exchange, PxeBc->Dhcp()
is not sending a Request after getting the Offer from the router (I have
verified the Discover and Offer packets are transmitting with a packet
sniffer), causing a timeout after a few attempts.
Since I am testing on a commercial motherboard, and I know PXE boot
works on it in other situations, I can only assume something is wrong
with the way I am trying to use PxeBc. I've tried two methods of
locating/opening PxeBc: locating a handle that publishes
gEfiPxeBaseCodeProtocolGuid and opening PxeBc from a valid one, and
using gBS->LocateProtocol() to locate gEfiPxeBaseCodeProtocolGuid and
using that. In both cases, I call PxeBc->Start() before trying Dhcp,
and they both timeout in the same way.
I can't be sure what all is included in the ASUS PxeBc->Dhcp()
implementation, but if it follows the implementation in
MdeModulePkg/Universal/Network/UefiPxeBcDxe/PxeBcImpl.c, EfiPxeBcDhcp(),
the DHCP4 options should be set in the PxeBc->Dhcp() call. Are there
any other steps I am missing that need to be performed to get Dhcp to
complete? Any advice or pointers would be appreciated.
--
Thanks,
David
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel