Hello Lee,
thank you for your advice. As you assumed the problem is that the Broadcom
network adapter doesnt provide an UEFI driver. Therefor the NIC isnt
listed as a device of the Simple Network Protocol and cant be addressed by
my application.
Regards,
Michael
Von: Leahy, Leroy P [mailto:[email protected]]
Gesendet: Mittwoch, 20. März 2013 15:39
An: [email protected]
Betreff: Re: [edk2] Question concerning PCI network card and UEFI network
features
Hi Michael,
There needs to be a UEFI driver for the Broadcom network adapter. This is
typically an UNDI driver. The network stack will share the single instance
of the Simple Network Protocol and Managed Network Protocol between the
multiple UNDI driver instances. You may use the shell command drivers to
verify that the Broadcom network driver is loaded.
Before running your test I suggest running the shell command connect -r or
calling the gBS->ConnectController function to ensure that all of the
network drivers are connected. You may use the shell command drivers to
verify that the Simple Network Protocol has a value listed under #D which
matches the number of network devices in the system.
Lee Leahy
(425) 881-4919
Intel Corporation
Suite 125
2700 156th Ave NE
Bellevue, WA 98007-6554
From: Michael Lorer [mailto:[email protected]]
Sent: Wednesday, March 20, 2013 6:58 AM
To: [email protected]
Subject: [edk2] Question concerning PCI network card and UEFI network
features
Hello,
Im developing an UEFI application that is using the UEFI networkstack.
I tested my application in the UEFI shell on a motherboard that has included
the UEFI networkstack.
Everything works fine if I use the network connector on the mainboard
itself.
But now I tried to get my application also running if I attach a
PCI-networkcard (Broadcom).
For me it seems that I cant get access to that NIC.
In my application Im doing that to check if a cable is attached to my NIC:
//
Status = pBS->LocateHandleBuffer(ByProtocol,
&gEfiManagedNetworkServiceBindingProtocolGuid, NULL, &HandleCount,
&Handles);
for (Index = 0; Index < HandleCount; Index++){
GetNicMediaStatus (Handles[Index]m &NicInfo->MediaPresentSupported,
&NicInfo->MediaPresent);
if(NicInfo->MediaPresent == 1)
// This I want to get
else
// Look for another handle with connected media
}
//
..
Basically this routine is out of the ifconfig.c file from the UDK and as
already said it works fine with the onboard NIC.
But when I insert the PCI network card I still only get one handle for the
gEfiManagedNetworkServiceBindingProtocolGuid.
Any thoughts on where to look to come to a solution for this problem?
Must the firmware of the PCI network card provide some special drivers to
work together with the UEFI network stack?
A PXE boot from this network card works just fine.
Regards,
Michael
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel