e1000e Linux* Base Driver for Intel(R) Network Connection ========================================================= May 15, 2019 ===================== Contents ======== - Overview - Identifying Your Adapter - Building and Installation - Command Line Parameters - Additional Features and Configurations - Speed and Duplex Configuration - Known Issues - Support - License Overview ======== This driver supports kernel versions 2.4.x, 2.6.x and later. Driver information can be obtained using ethtool, lspci, and ifconfig. Instructions on updating ethtool can be found in the section Additional Configurations later in this document. 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 drivers. For questions related to hardware requirements, refer to the documentation supplied with your Intel adapter. All hardware requirements listed apply to use with Linux. NOTE: The Intel(R) 82562v 10/100 Network Connection only provides 10/100 support. Upgrading --------- If you currently have the e1000 driver installed and need to install e1000e, perform the following: - If your version of e1000 is 7.6.15.5 or less, upgrade to e1000 version 8.x, using the instructions in the e1000 README. - Install the e1000e driver using the instructions in the Building and Installation section below. - Modify /etc/modprobe.conf to point your PCIe devices to use the new e1000e driver using alias e1000e, or use your distribution's specific method for configuring network adapters like RedHat's setup/system-config-network or SuSE's yast2. Identifying Your Adapter ======================== For information on how to identify your adapter, and for the latest Intel network drivers, refer to the Intel Support website: http://www.intel.com/support Building and Installation ========================= To build a binary RPM package of this driver -------------------------------------------- Note: RPM functionality has only been tested in Red Hat distributions. 1. Run the following command, where is the version number for the driver tar file. # rpmbuild -tb e1000e-.tar.gz 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 before building. 2. After building the RPM, the last few lines of the tool output contain the location of the RPM file that was built. Install the RPM with one of the following commands, where is the location of the RPM file: # rpm -Uvh or # dnf/yum localinstall NOTES: - To compile the driver on some kernel/arch combinations, you may need to install a package with the development version of libelf (e.g. libelf-dev, libelf-devel, elfutilsl-libelf-devel). - When compiling an out-of-tree driver, details will vary by distribution. However, you will usually need a kernel-devel RPM or some RPM that provides the kernel headers at a minimum. The RPM kernel-devel will usually fill in the link at /lib/modules/'uname -r'/build. To manually build the driver ---------------------------- 1. Move the base driver tar file to the directory of your choice. For example, use '/home/username/e1000e' or '/usr/local/src/e1000e'. 2. Untar/unzip the archive, where is the version number for the driver tar file: # tar zxf e1000e-.tar.gz 3. Change to the driver src directory, where is the version number for the driver tar: # cd e1000e-/src/ 4. Compile the driver module: # make install The binary will be installed as: /lib/modules//updates/drivers/net/ethernet/intel/e1000e/e1000e.ko The install location listed above is the default location. This may differ for various Linux distributions. 5. Load the module using the modprobe command. To check the version of the driver and then load it: # modinfo e1000e # modprobe e1000e [parameter=port1_value,port2_value] Alternately, make sure that any older e1000e drivers are removed from the kernel before loading the new module: # rmmod e1000e; modprobe e1000e 6. Assign an IP address to the interface by entering the following, where is the interface name that was shown in dmesg after modprobe: # ip address add / dev 7. Verify that the interface works. Enter the following, where IP_address is the IP address for another machine on the same subnet as the interface that is being tested: # ping Note: For certain distributions like (but not limited to) Red Hat Enterprise Linux 7 and Ubuntu, once the driver is installed, you may need to update the initrd/initramfs file to prevent the OS loading old versions of the e1000e driver. Use the dracut utility on Red Hat distributions: # dracut --force For Ubuntu: # update-initramfs -u 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 e1000e [