Packet Engines Gigabit Ethernet with Linux

logo

Packet Engines Gigabit Ethernet with Linux

This page contains information on using Linux with the Packet Engines "Yellowfin" G-NIC Gigabit ethernet adapter.

The master copy of this page resides on the Scyld web server.

Driver Availability

The driver for the Packet Engines "Yellowfin" G-NIC adapter is described on this web page. This driver is available for Linux kernel versions 2.0.0 through 2.5 on all Linux architectures.

The driver for the Packet Engines "Hamachi" GNIC-II adapter is available from the Hamachi web page. It is designed for kernel versions 2.0.* through 2.5 and tested on the x86, IA-64 and Alpha architectures.

To install these drivers follow the directions on the loadable modules instructions page.

Options

There were a few early production GNIC-I cards that need special configuration to work properly. To uses these cards you must do one of the following

  • Compile the driver with '-DYF_PROTOTYPE'
  • explicitly load the driver module with the options insmod yellowfin dma_ctrl=0x004A0263 fifo_cfg=0x0020
  • or, if using 'kerneld' to automatically load modules, put the following line in /etc/conf.modules options yellowfin dma_ctrl=0x004A0263 fifo_cfg=0x0020

Notes:

  • Some PCI performance (e.g. Read Multiple) commands were disabled because of chip errata -- these are pre-production boards. (Default changed in v0.07 of 10/20/97.)
  • My tests were run using only a 32 bit PCI bus (the card has a 64 bit PCI interface).
  • The current chip version must use a 33Mhz PCI bus if you are using the 32 bit rather than 64 bit interface.
  • Better performance numbers have gotten with later driver versions, but we don't have final numbers yet.

Support

Mailing lists

Support for the Yellowfin and Hamachi drivers is handled through the 'netdrivers' and 'driver-announce' mailing lists. Previously the support was handled through three 'yellowfin' mailing lists, and previous support responses are available through those archives. See http://www.scyld.com/mailman/listinfo for the driver support mailing lists information.

Thanks...

Thanks to Kim Stearns, formerly with Packet Engines, for providing the initial pair of Yellowfin cards and facilitating the NDA (Non-Disclosure Agreement) that allowed disclosing the device driver.

Revision History

v0.07 of 10/20/97
The settings now default to the non-prototype chips!
Changed defaults to enable all performance features.
Explicit support for compiling for the pre-production boards.
Made more values settable at module load time. Read the top of the driver source file for details.
Hopefully fixed Alpha alignment traps.
Fixed large MTU support.
Added 2.1.* support with test_and_set_bit() and MODULE_PARAM().
v0.08 of 10/28/97
Corrected value of BRANCH_IFTRUE pointed out by Chris Csanady .
v0.09 of 11/16/97
Changed default settings to enable only known-working PCI performance commands, rather than all commands. You can reenable them individually when loading the module if you have newer boards.
v0.10 of 12/5/97
Eliminated an old sanity check that caused a compile problem with 2.1.70.
Added an atomic lock to the dev->interrupt sanity check.
Cleaned up module support for more than 8 cards. You can still only pass parameters to the first eight.
v0.11 of 1/21/98
Added a private word-aligned interrupt lock, and did various minor clean-ups.
v0.12 of 4/7/98
Clean-ups in preparation for a 1.00 release.
v0.99A of 4/7/98
Further clean-ups.
v0.99.03 of 5/18/98
Removal of 1.2.* support.
Support the Symbios version of the chip core.
Changed to interrupt with every transmitted packet.

Contact:Donald Becker, becker@scyld.com.

Linux Network Drivers Page
SCYLD information.
Author: Donald Becker
See the drivers for the contact email address. Do not bother sending email to zinc.anode@scyld.com, as email to that address adds your domain or IP address to the known-spammer list.