how to configure modprobe to recognize newly installed driver for eth1 on bootup?

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!


Solution 1:

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.