I've been helping a friend over the phone who's trying to fix a
networking problem. This machine was built a month ago running
something like 2.6.39-gentoo-r2. Networking worked great. I do not
know what driver it was using, but it worked great.
Two weeks ago we updated the machine to 3.0-0-gentoo and I think
networking was working fine however I never logged in and never tested
the network interface. The owner believes it was working, at least for
a while, but it isn't now. When we boot now we get the message:
"Interface eth0 does not exist"
which typically happens when you don't have the correct driver
installed. The system is loading the e1000e driver but we're not able
to start net.eth0.
lspci -k says the e1000e driver is in use, and e1000e is in memory.
We then tested again with the original 2.6.39 kernel and found that
even with that kernel, which I absolutely know worked at one time
because I built the machine over the Internet for him, it no longer
works. That kernel is also loading e1000e.
We then booted from the Gentoo LiveCD and found that the LiveCD is
also loading e1000e and that with the LiveCD everything is working
perfectly. I can ssh into the box, he can ping Google. Everything is
cool with the e1000e driver using the Live CD, but not using the
kernels we build.
At this point I set up the chroot install environment, dropped in
to build a new kernel. I did a make clean && make && make
modules_install. Everything built fine. I copied it over to /boot,
rebooted and still have the same problem. e1000e is loaded but says
the the interface doesn't exist.
The net.eth0 link exists in /etc/init.d, and trying to start
networking using .etc.init.d/net.eth0 yields the same error.
What am I doing wrong here? How come it used to work, and still
works from the CD, but won't work from his old or new kernels?