Linux* Base Driver for Intel(R) Network Connection ================================================== March 14, 2011 Contents ======== - In This Release - Identifying Your Adapter - Building and Installation - Command Line Parameters - Additional Configurations - Known Issues/Troubleshooting - Support In This Release =============== This file describes the igb Linux* Base Driver for Intel Network Connection. This driver supports kernel versions 2.4.x and 2.6.x. This driver is only supported as a loadable module at this time. Intel is not supplying patches against the kernel source to allow for static linking of the driver. For questions related to hardware requirements, refer to the documentation supplied with your Intel Gigabit adapter. All hardware requirements listed apply to use with Linux. The following features are now available in supported kernels: - Native VLANs - Channel Bonding (teaming) - SNMP Channel Bonding documentation can be found in the Linux kernel source: /Documentation/networking/bonding.txt The igb driver supports IEEE 1588 time stamping for kernels 2.6.30 and above. A basic tutorial for the technology can be found at: http://ieee1588.nist.gov/tutorial-basic.pdf The driver information previously displayed in the /proc filesystem is not supported in this release. Alternatively, you can use ethtool (version 1.6 or later), lspci, and ifconfig to obtain the same information. Instructions on updating ethtool can be found in the section "Additional Configurations" later in this document. Identifying Your Adapter ======================== For more information on how to identify your adapter, go to the Adapter & Driver ID Guide at: http://support.intel.com/support/go/network/adapter/idguide.htm For the latest Intel network drivers for Linux, refer to the following website. Select the link for your adapter. http://support.intel.com/support/go/network/adapter/home.htm Building and Installation ========================= To build a binary RPM* package of this driver, run 'rpmbuild -tb '. Replace with the specific filename of the driver. NOTE: For the build to work properly, the currently running kernel MUST match the version and configuration of the installed kernel sources. If you have just recompiled the kernel reboot the system now. RPM functionality has only been tested in Red Hat distributions. 1. Move the base driver tar file to the directory of your choice. For example, use /home/username/igb or /usr/local/src/igb. 2. Untar/unzip archive: tar zxf igb-x.x.x.tar.gz 3. Change to the driver src directory: cd igb-x.x.x/src/ 4. Compile the driver module: make install The binary will be installed as: /lib/modules//kernel/drivers/net/igb/igb.[k]o The install locations listed above are the default locations. They might not be correct for certain Linux distributions. 5. Load the module using either the insmod or modprobe command: modprobe igb insmod igb Note that for 2.6 kernels the insmod command can be used if the full path to the driver module is specified. For example: insmod /lib/modules//kernel/drivers/net/igb/igb.ko With 2.6 based kernels also make sure that older igb drivers are removed from the kernel, before loading the new module: rmmod igb; modprobe igb 6. Assign an IP address to the interface by entering the following, where x is the interface number: ifconfig ethx 7. Verify that the interface works. Enter the following, where is the IP address for another machine on the same subnet as the interface that is being tested: ping TROUBLESHOOTING: Some systems have trouble supporting MSI and/or MSI-X interrupts. If you believe your system needs to disable this style of interrupt, the driver can be built and installed with the command: make CFLAGS_EXTRA=-DDISABLE_PCI_MSI install Normally the driver will generate an interrupt every two seconds, so if you can see that you're no longer getting interrupts in cat /proc/interrupts for the ethX igb device, then this workaround may be necessary. To build igb driver with DCA: ------------------------------ If your kernel supports DCA, the driver will build by default with DCA enabled. Command Line Parameters ======================= If the driver is built as a module, the following optional parameters are used by entering them on the command line with the modprobe command using this syntax: modprobe igb [