Code: Select all
network interface eth0 does not exist
Please verify hardware or kernel module (driver)- I booted from a liveCD and verified that the machine (including the two ethernet devices) were still functional. There did not appear to be any hardware issues. I was able to bring up both eth0 and eth1 and ping through them.
- I double checked the kernel config, rebuilt the kernel, and booted the new image. No change - devices still not found.
lspci happily reports both ethernet devices.
dmesg shows both eth0 and eth1 as discovered and functional, and there are no associated error messages.
ifconfig shows only lo.
In other words, everything *except* the init script (and therefore ifconfig) is indicating that the ethernet devices are present, functional, and ready to use.
So now I start grasping at straws:
- I changed the kernel config to use modules for the network drivers, instead of being built-in. Build kernel, reboot. Modules show up in 'lsmod' and appear to load fine - no error messages. Modprobe doesn't complain either. eth0 and eth1 still 'do not exist'.
- I upgraded the kernel (I tend to get lazy and lag behind kernel updates), thinking maybe just building from a totally different source directory will make the problem go away. It didn't.
- I rebuild baselayout, since it seems to magically both break and fix things. It did neither.
Keep in mind that all of this is on what was a perfectly functioning server only moments before the crash. Same hardware, same ethernet cards, same kernel, same kernel config. No emerge updates were performed. The server simply suffered a hard shutdown, and then was rebooted. Booting a liveCD seems to indicate that everything in the system is still fully functional.
When I rebooted the first time, obviously I got some journal replays from the filesystem (I'm using resierfs), but that seemed to complete normally and other than the ethernet issue I didn't see any other error messages.
Does anyone have any idea what I can try to just snap the system out of its mistaken conclusion that eth0 and eth1 don't exist? Is it a script related issue? Is there something wrong with /dev that I can easily remedy?
It feels like it's one simple, quick step away from being back to normal, but if I don't discover that one step then I'm going to be forced to completely re-install everything.
Thanks in advance.
(p.s. I can't really post file contents or log details, since I can't get the machine connected to anything, and the machine is my firewall/proxy/dhcp/dns/everything server. I'm typing this on my laptop plugged directly into my verizon box. But it's not a config problem. Same config, same hardware, only now it doesn't work.)



