Ethernet devices
Network Cards
There are many different network cards. Each one has specific documentation.
3C90x
3com 90x, 90xB, 90xC are PCI ethernet adapters which provide full bus-master operation, download/upload packet chains. All of them allow auto-negotiation. 90xB and 90xC have power management capabilities. Many 3com cards share the programming interface with these models, an example is the 3c556 10/100 LAN + 56k Modem MiniPCI adapter, 3c555 10/100 LAN MiniPCI.
DP83900/DP83901SNIC/DP83902SNIC/DP83905AT-LANTIC.
The DP83900, DP82901/SNIC, DP82902/SNIC, and DP82905 AT/LANTIC are network cards that have the same general functionality and only minor differences in there system level operation.
NE2000
The Ne2000 network card chipset was a reference design that was never meant to go into mainstream production, but after Novell used it as cheap hardware to go with their software it became popular. It is a good first network card to program because it follows a simple design (making it helpful for learning), they're probably dirt-cheap, and it is supported by most PC emulators. Both Bochs and QEMU provide ISA and PCI implementations.
Ne2000 is not technically a card, it is a standard that several implementers follow. The best available description of the initial standard is located DP8390D/NS32490D NIC Network Interface Controller and was published by National Semiconductor.
RTL8139
The RTL8139 Network Chip is used on many old Ethernet Network Devices. It supports 10 and 100 MBit.
RTL8169
The RTL8169 is Realtek's next generation of high-performance network cards. This particular chipset is designed to operate at 10/100/1000 Mbps speeds.
Broadcom BCM57xx card family
There are many ethernet cards from Broadcom, but, fortunately, they are very similar. Specifications are available on Broadcom page BCM57785 BCM5718