Hello Lee,

 

thank you for your advice. As you assumed the problem is that the Broadcom
network adapter doesn’t provide an UEFI driver. Therefor the NIC isn’t
listed as a device of the Simple Network Protocol and can’t 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,

 

I’m 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 can’t get access to that NIC.

 

In my application I’m 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

Reply via email to