If your Intel ethernet adapter is experiencing odd connectivity problems you can update the Linux kernel module for your product to avoid some common problems. Generally this only applies to 1000Mbit/s or faster Intel ethernet adapters where the code is constantly being updated by the developers. In this example the ethernet card is an Intel Pro/1000 GT requiring the e1000 Linux kernel module. Some newer 1000Mbit/s adapters may require the e1000e driver so ensure you find the correct driver that you need. A simple way to find which Intel driver module youre currently using is to execute the following commands.
# lsmod | grep e1000
e1000 163708 0
# modinfo e1000 | grep version
version: 7.9.3-NAPI C554BA2BC1D5EBFA4168B82
If you need the e1000e driver module you would see the following instead.
# lsmod | grep e1000e
e1000e 138188 0
# modinfo e1000e | grep version
version: 1.0.2.5-NAPI DDEDB7A50AA70D823257BD7
The source code to the modules you need are located here:
http://downloadmirror.intel.com/9180/eng/e1000-8.0.13.tar.gz
http://downloadmirror.intel.com/15817/eng/e1000e-1.0.2.5.tar.gz
To start the upgrade of your kernel module ensure that you have the proper tools to compile the software with the following commands. Each set of commands depend on your Linux distribution.
RedHat, CentOS or Fedora
# yum install kernel-devel rpm-build gcc make automake autoconf gcc-g++
Debian
# apt-get update
# apt-get install build-essential module-assistant
# m-a update
# m-a prepare
Next you will need to download, extract and build the new kernel module using the following commands. Remember that this is written for the e1000 kernel module only. Adjust as necessary if you require the e1000e module for your specific ethernet adapter. Again each set of commands depend on your distribution.
RedHat, CentOS or Fedora
# cd /usr/src/
# mkdir -p /usr/src/redhat/SPECS && mkdir -p /usr/src/redhat/SOURCES && mkdir -p /usr/src/redhat/BUILD && mkdir -p /usr/src/redhat/RPMS
# wget http://downloadmirror.intel.com/9180/eng/e1000-8.0.13.tar.gz
# rpmbuild -tb e1000-8.0.13.tar.gz
# rpm -ivh /usr/src/redhat/RPMS/`uname -i`/e1000*.rpm
Debian
# cd /usr/src/
# wget http://downloadmirror.intel.com/9180/eng/e1000-8.0.13.tar.gz
# tar xvf e1000-8.0.13.tar.gz
# cd e1000-8.0.13/src/
# make install
Now on any system you can load the kernel module and double check if the new version has indeed been installed. Use the following commands:
# modprobe e1000
# modinfo e1000 | grep version
version: 8.0.13-NAPI CB2BBFADC4168B15E554A82