[gPXE] Trying to extend TG3 driver

Nick Couchman Nick.Couchman at seakr.com
Mon Nov 23 09:15:32 EST 2009


> Just to clarify: UNDI is typically when a BIOS module (for 
> LAN-On-Motherboard NICs) or a NIC's ROM's code provides a NIC driver via 
> a standard API.  If your NIC currently has PXE code on its ROM, then 
> gPXE's UNDI driver should be able to use it.  Regardless of whether or 
> not gPXE uses the UNDI driver, gPXE itself then provides an UNDI 
> interface to further booted items.
> 
> For example, suppose you boot using the NIC's vendor-provided PXE stack 
> and chain-load undionly.kkpxe, then chain-load PXELINUX.  In this 
> instance, gPXE uses the vendor-provided UNDI internally, but PXELINUX 
> uses the UNDI provided by gPXE.

I'll try this...

> 
> Now suppose you do a fine job of porting the tg3 driver to the gPXE API, 
> then flash gPXE into your NIC's ROM.  Then suppose you boot PXELINUX via 
> gPXE.  In this instance, PXELINUX would use the UNDI provided by gPXE 
> (as in the last example), and gPXE would be using your driver internally.
> 
> If you are suggesting that there is an UNDI scenario that you've tried 
> which is not working, it would be great if you could pass along the 
> details here.  For example, some folks are not aware that gPXE's UNDI 
> driver cannot always find and use the NIC vendor-provided UNDI unless 
> gPXE is directly chain-loaded by that PXE stack.  As in:
> 
> Broadcom PXE -> undionly.kkpxe -- Should definitely work
> Floppy disk with SYSLINUX -> undionly.lkrn -- Doesn't necessarily work, 
> since the PXE stack might not be available as it was not used to boot from
> 

The scenario I was testing that was not working was PXE -> PXELINUX -> undi.lkrn.  This scenario works on many other network cards (for example, an Optiplex 755 with an Intel-based network interface), but didn't seem to work on this particular Broadcom model.

> As far building in UNDI support goes, that's already done with gPXE.  
> All you need is the driver for the NIC and gPXE provides UNDI; nothing 
> to code, there.
> 

Thanks for the explanation - I'll focus my efforts on getting tg3 re-written and submit that to the list when I finish that up.

-Nick



--------
This e-mail may contain confidential and privileged material for the sole use of the intended recipient.  If this email is not intended for you, or you are not responsible for the delivery of this message to the intended recipient, please note that this message may contain SEAKR Engineering (SEAKR) Privileged/Proprietary Information.  In such a case, you are strictly prohibited from downloading, photocopying, distributing or otherwise using this message, its contents or attachments in any way.  If you have received this message in error, please notify us immediately by replying to this e-mail and delete the message from your mailbox.  Information contained in this message that does not relate to the business of SEAKR is neither endorsed by nor attributable to SEAKR.


More information about the gPXE mailing list