A common question we get around the farm revolves around which driver supports what silicon.  In the old days, it was pretty easy, we had one driver and it did everything.  But that turned into a sustaining, development and release nightmare.  With three separate vectors (client development, server development and sustaining) all trying to act on the code at once, it became clear we needed to break it up.  Leaving the PCI-X generation to be in its own driver allowed most drivers to have some really neat code (like MSI-X) that would be extra and distracting for a lot of adapters.  Plus some of the Operating System (O/S) guys are really selective about what they put into the kernel.  By breaking it up we didn’t have to worry about getting all of our products kicked out if one hardware combination had problems.

 

Warning: HTML tables!

        Linux*(sourceforge.net/projects/e1000)

Family

Driver Name

Supported   Silicon

10GbE PCIe

ixgbe

82598, 82599

10Gbe PCI-X

ixgb

82597

1GbE PCIe Server

igb

82575, 82576, 82580, i350

1GbE PCIe Client

e1000e

82574, ICH10, 82567, 82571, 82563, 82573E/V, 82573L, 82567, 82577, 82578, 82583, 82579

PCI/PCI-X

e1000

82544, 82545, 82546, 82540, 82541, 82547, older stuff

 

Microsoft* Windows is a little bit messier because of the need for WHQL certification and some extra requirements that place on driver model.

 

Windows (networking.intel.com)

Family

Driver Name

Supported   Silicon

10GbE PCIe

ixe

82598

10 GbE PCIe

ixn

82599

10Gbe PCI-X

Ixgb

82597

2007+ 1GbE PCIe

e1q

82575, 82576, 82574, 82583

1GbE Server

e1r

82580, i350

1 GbE Client

e1c82579V, 82579LM

1 GbE Client

e1y

82567

1 GbE Client

e1k

82577, 82578

1GbE PCIe

e1e

82573E/V, 82573L, 82571, 82563

 

FreeBSD* driver does things its own way, just like the OS guys

 

                                            FreeBSD

Family

Driver Name

Supported   Silicon

10GbE PCIe

ixgbe

82598, 82599

10Gbe PCI-X

ixgb

82597

1GbE PCIe Server

igb

82575, 82576, 82580, i350

1GbE PCIe   Client, PCI/  PCI-X

em

ICH 8, ICH9, 82574, ICH10,   82567, 82571, 82563, 82573E/V, 82573L,   82546, 82541, 82540, 82545, older stuff like 82547, 82543, 82544, etc.

 

There are some extras supported in some of these, like the 82543, but that pretty old and I don’t want be too verbose.   For stuff that old, there aren’t any newer drivers.  I only list the 82597 because it’s on Sourceforge.   Otherwise I wouldn’t list it. 

The following list of Operating Systems are supported by the O/S vendor, please see them for the driver for our products.  You may have to upgrade the O/S version in some cases to get support.   These drivers are created by the O/S vendor, but we do provide guidance and access to our best known methods.  If you want your custom O/S added to this list, drop me a private e-mail and I’ll be sure to add it!

 

Solaris*
OpenSolaris*

VxWorks*

QNX*

Vmware*

 

Time to wrap it up:

1)      Using our handy chart, it’s easy to map driver to silicon product

2)      Intel® and others provide a sizable number of drivers for numerous operating systems

3)      Operating system vendors that elect to provide their own driver usually get assistance from Intel

4)      Thanks for using Intel® Ethernet

 

(Updated on Feb 9, 2010 to clean up the table layout and add in 82580)

(Updated again on June 3, 2011 to add the i350 product and 82579 products into all three tables.)