Linux Network Drivers

Notice: Due to the expiration of the USRA-CESDIS contract on July 5 2000 many of these pages have moved with Donald Becker and the Beowulf team to Scyld or the Scyld-hosted site.

Please update your links and text references before this host is removed from service. is the new primary site for information on and updates to the Linux Ethernet device drivers. This site may contain obsolete information.

Linux has driver support for all current production, mass-market PCI Ethernet and Fast Ethernet chips as of July 5, 2000. While a few specific boards are not supported because e.g. of unique transceiver interfaces, they are rare exceptions.

Most common Gigabit Ethernet adapters are supported as well.


Note: PCMCIA device drivers are tied to a particular Socket Services version and thus are separately distributed from Sourceforge or

A few of these drivers were not written by me, even though most include my name on the author list by virtue of starting from my skeleton driver or including generic code. You should contact the other listed authors for updates or bugfixes for those drivers.

--Donald Becker,

Other Major Sites for Linux Network Information

Quick index to driver pages by speed.

Gigabit Ethernet

Fast Ethernet (and FE boards with 10mbps-only transceivers)

Note: ISA boards based on the DP83800 are not supported due to the non-availability of documentation for this chip.

10mbps Ethernet Drivers (New and updated versions)

Many additional drivers are in the current kernel. If an update is available here it's probably to fix a specific problems, and not to make major unstable changes in a driver.

Note: ISA boards based on the DP83800 are not supported due to the unavailability of documentation for this chip.

Parallel Port "pocket" Ethernet Adapters

Cluster Drivers

The following adapters are designed for very high speed, short distance networking. They are typically used in computational clusters, server farms, or storage systems.

Common Problems and Fixes

Support Programs

Support Information

PCI Ethernet Device Drivers and Documentation

Digital "Tulip" driver for DEC 21*4*-based boards.
This page contains the instructions and updated drivers for SMC EtherPower and others PCI Ethernet and Fast Ethernet adatpers. Driver development is reported on the Tulip development.
3Com logo "Vortex" and "Boomerang" EtherLink III PCI/EISA (3c590 3c592 3c595 3c597 3c900 and 3c905) driver.
This is a driver for the 3Com 100Mbs PCI and EISA ethercards.
With a description and instructions.
Written by me, Donald Becker.
Intel EtherExpress Pro 100 driver.
This is a new driver for the Intel EtherExpress Pro 100B and PCI Pro/10+ boards with the i82557 chip.
Note that this is not for the older Pro 10 or Pro 100A boards.
Intel EtherExpress Pro/10 PCI (w/ i82596 chip) driver -- NEW!.
This is a driver for the Intel PCI EtherExpress Pro/10 with the i82596 chip written by John Stalba,
Note that this is not for the Pro/10+ boards that use i82557 chip (use the EEPro100 driver instead) , or for the ISA EEPro10 with the i82595 chip (see the ISA section below).
TI ThunderLAN driver (external link -- Caldera/James Banks).
The "TLAN" TNETE100PCE chip, rarely seen except on the Compaq "Integrated NetFlex-3 10 T UTP Module"
PCI NE2000 driver.
See also the PCI NE2000 updates (remote link).
Packet Engines "Yellowfin" G-NIC driver
SMC EtherPower II (EPIC/100 83c170 chip) driver.
RealTek RTL8129/8139 driver.
Adaptec DuraLAN (AKA "Starfire") driver.

Pointers to Other Ethercard Drivers

Intel EtherExpress Pro/10 ISA (i82595) updated driver
Crystal/Cirrus/IBM-EtherJet CS89[02] device driver.
A Linux driver for Crystal LAN Ethernet chips, as used on several IBM products, written for and maintained by Crystal Semiconductor. Written By Russell Nelson of Crynwr Software.
3Com logo Updated 3Com EtherLink (3c5*9) driver with Plug-and-Play patch.
With a description and instructions. This update is only needed with the 1.2.* kernel and the 3c509B.
Written by me, Donald Becker.
3Com logo A driver for the 3Com 3c515 ISA Fast EtherLink card.
Written by me, Donald Becker.
NI5010 driver
Written by Jan-Pascal van Best .
Updated SMC Ultra / SMC EtherEZ driver for 1.2.13.
Now with Programmed-I/O (in addition to the original ISA "high memory") support.
This driver update source file is for kernels 1.2.13 through 1.3.90. This is a drop-in replacement for drivers/net/smc-ultra.c. The 2.0.0 kernels already include these changes.
Written by me, Donald Becker.

Other Ethercard Drivers

These drivers are either unreleased, in alpha test, incorporated in some other package, or here for historical reasons.
3Com logo A driver for the 3Com 3c515 ISA Fast EtherLink card.
Written by me, Donald Becker.
A driver for SMC-91c92 PCMCIA ethernet adapters.
This driver supports the Megahertz X-Jack PCMCIA ethercard, and may support others with the SMC 9000 series chips as well.
This driver is now distributed as part of David Hind's PCMCIA package. You should use that version in preference to the one here.
HP PC-LAN+ (27247 and 27252A) driver.
This is a driver for the recent HP 8390-based ethercards. Don't confuse these with the PC-LAN-non-'+' or the HP2405J PCnet/LANCE card.
Details of the driver are here.
Written by me, Donald Becker.
Zenith Z-Note and IBM ThinkPad built-in network.
Written by me, Donald Becker.
Ansel Communications AC3200 EISA adaptor.
Written by me, Donald Becker.

Non License-Conforming Drivers

Several drivers have been distributed that are little more than renamed versions of my drivers. Some have my name, the copyright notice or the Gnu GPL license notice removed. The less flagrant violations merely fail to note that the driver has been modified from the original version. (The GPL requires such a note.) Here is a mapping from the bogus driver name to the official name:
mpx5030.c rtl8139.c
smc1211.c rtl8139.c
rtl8029.c ne2k-pci.c

Unsupported boards

Linux now supports almost every current-production PCI Fast and Gigabit Ethernet chip!

The exceptions are generally unique boards based on supported chips:

Of course we can't make any claims about not-yet-introduced chips.

Token Ring

The 2.0.* kernels include support for most common ISA adapters. All Token Ring information is now maintained at the Linux Token Ring Project web page at

1999 Half Year Summary

New driver work this year included completion of the Adaptec Starfire driver, converting additional drivers to support CardBus cards, and expanding existing drivers to support additional chips.

The AceNIC driver from Jes Sorenson and SysKonnect's internally written driver rounds out the Gigabit Ethernet support. Only Intel remains without a released driver, although rumor has it that they have one internally.

1998 Summary

My driver work in 1998 included new drivers for the Packet Engines "Hamachi" GNIC-II, VIA "Rhine" VT86c100, and Winbond W89c840. Most of my other PCI drivers were significantly reworked to support the new 2.2.* kernel structure.

The new probe structure not only allows forward compatibility with the new kernels, it makes it easier to support branded and work-alike (e.g. clones) of existing designs. As an example of the wide device support needed in a single driver, the Tulip driver currently supports six unique chips from Digital, and Tulip-like chips from Lite-On, Macronix, and ASIX. Branded versions of these chips are sold by LinkSys, Compex and Netgear.

1998 work also included tested CardBus support for two additional drivers (EPIC and Tulip), significant extentions to support new hardware with the 3Com PCI and Tulip drivers, and work-in-progress on the HAL Synfinity mesh adapter.

Other resources

Author:Donald Becker,

CESDIS is located at the NASA Goddard Space Flight Center in Greenbelt MD.