Just built a new machine with an ASUS Maximus VI Hero motherboard which happens to have a newer Intel ethernet controller, model Intel I217-V.

I'd like to use the Debian netinstall (debian-7.1.0-amd64-netinst.iso) and somehow get the new driver (https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=15817) loaded during the installation process. I'm not really sure how to do this... do I need to bust out the shell during the install and make and install the driver?

  • Did you try it and see if the Debian installer detects it automatically? I'm guessing you already tried that, and it didn't work? I have never bothered to use a Netinstall on a system without a supported ethernet card. I just download the big ISO and away I go. Did you seriously think NetInstall includes GCC and enough stuff to compile drivers? :-) – Warren P Jul 27 '13 at 3:15
  • Yeah, no dice with it detecting automatically. My biggest hope is that there is some way I can somehow get the driver during the installation process. – Kirk Ouimet Jul 27 '13 at 5:05
  • Have you ever installed Linux before? There is no "Press F6 and Insert driver disk", nor are there any "driver disks" for Linux. To add drivers you have to compile the kernel from sources. Something that isn't possible during a netinstall. There are no BINARY drivers for Linux and there is no Binary Stable ABI that is universal among all linux device drivers. Device drivers are source code that compiles to kernel modules. If you read the README, always a good idea, you'd see that you have to have a compiler and make and you compile the drivers from .C/.H source AFTER your install. – Warren P Jul 27 '13 at 12:49

I just purchased a System 76 Galago system, preinstalled with Ubuntu 13.4. The network interface was indeed working before I wiped the system and re-installed with Debian 7. I was in the same boat as you - a non-working network interface. Following the README instructions to build the RPM turned out to be fruitless, so I did it the "manual" way.

tar -zxvf e1000e-2.5.4.tar.gz
cd e1000e-2.5.4
apt-get install build-essential linux-headers-amd64 # Chose your architecture
cd src
sudo make install

Now, check your system log and loaded modules

$ dmesg | grep e1000e
[ 6104.223366] e1000e: Intel(R) PRO/1000 Network Driver - 2.5.4-NAPI
[ 6104.223370] e1000e: Copyright(c) 1999 - 2013 Intel Corporation.
[ 6104.223422] e1000e 0000:00:19.0: setting latency timer to 64
[ 6104.223513] e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[ 6104.223554] e1000e 0000:00:19.0: irq 46 for MSI/MSI-X
[ 6105.347743] e1000e 0000:00:19.0: eth0: (PCI Express:2.5GT/s:Width x1) 00:90:f5:ed:14:0c
[ 6105.347750] e1000e 0000:00:19.0: eth0: Intel(R) PRO/1000 Network Connection
[ 6105.347794] e1000e 0000:00:19.0: eth0: MAC: 11, PHY: 12, PBA No: FFFFFF-0FF

$lsmod | grep e1000e
e1000e                199227  0

You should also see the interface w/the ip tool

ip addr
7: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 00:90:f5:ed:14:0c brd ff:ff:ff:ff:ff:ff

Use NetworkManager, or in my case, the ifupdown utils to configure.

# cat << EOF >> /etc/network/interfaces
auto eth0
iface eth0 inet dhcp

There is, in fact, an equivalent to 'press F6 and insert driver disk' and, yes, all drivers are BINARY and even binary, and yes, there is a stable ABI. In fact a massive amount of work goes into maintaining a stable and backward compatible ABI. But that's beside the point.

If you have the driver module igb.ko or e1000e.ko, you can slap it on a USB disk and load it during the install. To get that kernel module, you have to compile it yourself as suggested in a previous post, or try to find it precompiled somewhere on the internet. Easier said than done, in my experience. So the trick would be to have a second machine with the right kernel headers on it (matching the kernel version in the install), build the driver on that machine, copy the kernel module to a USB stick, and eureka, you're there. Once a machine is installed and running, you can also install a kernel image from backports which has a recent enough version of the driver to work.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.