2

I have a server running Debian 6. My motherboard has two interfaces, eth0 and eth1. Debian does not have a driver for eth1 (e1000e), so I installed the driver provided by Intel (e1000e-1.4.4). After compiling it into the kernel, I used rmmod e1000e; modprobe e1000e to remove the old module and install the new one. Then I configured the IP using ifconfig eth1 IP. Everything works fine now. Port works. I made sure to edit /etc/network/interfaces so it picks up eth1 on boot up, HOWEVER, when I reboot the system it does not find/recognize the eth1 device. It appears the module has not been loaded. I can get it working again once I execute rmmod e1000e; modprobe e1000e; ifconfig eth1 IP. My guess is I need to config modprobe so it loads the module on boot up. Any help? Thanks!

Eric Leschinski
  • 4,031
  • 4
  • 20
  • 27
Aco
  • 103
  • 1
  • 2
  • 11

2 Answers2

2

It sounds as though the initrd has the old e1000e driver and it's getting loaded during initrd. Try rebuilding the initrd and it should pick up the newly-installed version.

Since you're on debian, the command: sudo update-initramfs -u -k all should do the trick.

MikeyB
  • 38,725
  • 10
  • 102
  • 186
0

The most primitive and IMO easy way to do what you want is by adding:

ifdown eth1; modprobe -r e1000e; modprobe e1000e; ifup eth1

into /etc/rc.local. This will do the job, but it will be after all services are up. However, the e1000e module is supposed to be in the kernel, so it should be loaded by default. An alternative method is to add:

e1000e 

in /etc/modules. Check this thread which was among the first in my search results for Debian 6 and e1000e. I suggest to find out why the kernel does not upload the e1000e module.

grs
  • 2,235
  • 6
  • 28
  • 36
  • I looked at those pages before but they do not provide me with a solution. Adding e1000e to /etc/modules didn't work either. Also, using the first command you suggested doesn't work either because it tells me that there is no such device when it executes the first part of the command (ifdown eth1). I mentioned this in my original post. – Aco Jul 24 '11 at 21:46
  • Adding "alias eth1 e1000e" to either /etc/modprobe.d/alias.conf or /etc/modprobe.d/eth1.conf and rebooting the system does not work. I would prefer a solid fix for this to get it properly working on boot, like it should. – Aco Jul 24 '11 at 22:25
  • Just adjust it for your needs then - `modprobe -r e1000e; modprobe e1000e; ifup eth1` would match what you do manually. Since you run rmmod, does this means the module is actually loaded? What `lsmod | grep e1000` says? – grs Jul 24 '11 at 22:25
  • I would like to point out that I am not a very experienced with Linux. There are some things I do not understand or know how to do. When I run `lsmod | grep e1000` I get `e1000e 110063 0` and I only see eth0 when executing `ifconfig`. – Aco Jul 24 '11 at 22:35
  • No worries :) The result of lsmod shows that actually the e1000e module is loaded. Is this result immediately after reboot when your eth1 is unavailable or is after your rmmod-modprobe actions? Could you please verify the first case - lsmod after reboot? – grs Jul 24 '11 at 22:40
  • That is the result after reboot when eth1 is unavailable. Then, I execute `rmmod e1000e;modprobe e1000e` and both eth0 and eth1 do not show. All connectivity is gone. After that I restart the interfaces `/etc/init.d/networking restart` and eth0 and eth1 are up and working. – Aco Jul 24 '11 at 22:46
  • Interestingly enough, once I run `rmmod e1000e;modprobe e1000e` and then `lsmod | grep e1000` I get `e1000e 148216 0` Notice the different versions (110063 and 148216). – Aco Jul 24 '11 at 22:51
  • The lsmod numbers (110063 and 148216) are actually ram-sizes. Second number is larger because now it is responsible for 2 interfaces, not just for one. The actual question here is - why your eth1 is invisible at boot? Could you check `dmesg | grep eth`? Is it possible that NetworkManager is on the way (just shot in the dark)? – grs Jul 24 '11 at 23:07
  • @Aco let us [continue this discussion in chat](http://chat.stackexchange.com/rooms/913/discussion-between-gstoynev-and-aco) – grs Jul 24 '11 at 23:08