Interfaces eth0, eth1 fail to initialize on startup
Linux - NetworkingThis forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Interfaces eth0, eth1 fail to initialize on startup
Recently I upgraded two RHEL 4 machines to RHEL 5. Before the upgrade, my network connections were working fine; afterwards, they both balked. I decided to try a few different things on both machines. The problem that is referenced in the title cropped up after I reseated the NIC, thinking that maybe that was the problem. (I have reason to believe now that it is the firewall that is installed by default with RHEL 5, but I cannot test because of this problem, among other things.)
Here is the relevant text during initialization:
Bringing up interface eth0: forcedeth device eth0 does not seem to be present, delaying initialization.
[FAILED]
Bringing up interface eth1:
Determining IP information for eth1...failed; no link present. Check cable?
[FAILED]
eth1 is DHCP, which I just left as is during installation because the machine was using eth0 before.
Edit: Whenever I edit /etc/sysconfig/network-scripts/ifcfg-eth1 (e.g. I change BOOTPROTO=dhcp to BOOTPROTO=static), it reverts to the original on reboot; this completely defeats the purpose of changing the file in the first place. What is going on here?
I don't understand why reseating the card would have any effect on whether it initializes. I reseated it twice: the first time in the slot where it was originally seated (that's when the problem started), and the second time I switched it with the video card (problem has not gone away). The video card works in both slots.
Can someone please help, and quickly?
Edit: I switched the video and ethernet cards again...still no effect.
Last edited by psteele555; 06-17-2008 at 04:07 PM.
Sounds like you have multiple issues, and in my experience, all are being caused by flaky hardware.
>Bringing up interface eth0: forcedeth device eth0 does not seem to be present, delaying initialization.
This is a dead giveaway that your driver isn't loading for this card at eth0. Another issue here is that if (on say, redhat-ish distributions) /etc/sysconfig/network-scripts/ifcfg-eth0 or ifcfg-eth1 have HWADDR lines specified and you are getting flaky driver loading/not loading on different boots/PCI bus resets this can cause you a WORLD of trouble.
Try and simplify things, remove variables:
-remove any HWADDR= lines from the ifcfg-eth* scripts
-configure BOOTPROTO=static in each file
-connect interfaces with cables to hub or on active VLAN with active ports
-make sure you have link lights when the system comes back up after the next couple steps
-remove power cables from Power Supply (ensure PCI bus resets)
-reset your physical interfaces in their slots
-bring the system up in single user mode and look at dmesg to see what drivers probed what hardware and what ethernet interfaces were assigned to what devices: (dmesg |less or better, dmesg |grep eth); you should see your devices eth0 and eth1 with real, different MAC addresses announced, if there is not hardware problem
-repeat the reboot 2 or 3 times, checking to see if you get consistent results - if not - you may have flaky hardware which is seen on some boots, and not on others. Could be a bad slot in the board or bad card; if these interfaces are onboard, the MB could be bad.
-if you get consistent results on dmesg then boot into runlevel 3 and stop the network; reconfigure the network with the system-config-network or system-config-network-tui command, for eth0 first, and then eth1
Hopefully you don't have flaky hardware and all this should straighten you out
First of all, thanks for taking the time to reply.
I followed the instructions you outlined, with a few exceptions:
-I did change eth0's and eth1's BOOTPROTO to static, but--like I mentioned in my first post--every time I reboot, eth1 reverts to dhcp.
-I don't have a hub, and I'm not quite sure what you mean by VLAN in this situation, but I did connect it (there is only one port on the NIC) to a switch, which I am sure works, because I used it before the upgrade with no problems.
Whenever I reboot the machine, however, these messages show up, without fail:
Quote:
PCI: BIOS Bug: MCFG area @ e0000000 is not E820-recognized
PCI: Not using MMconfig
powernow-k8: MP systems not supported by PSB BIOS structure
powernow-k8: MP systems not supported by PSB BIOS structure
powernow-k8: MP systems not supported by PSB BIOS structure
powernow-k8: MP systems not supported by PSB BIOS structure
This may or may not have been happening beforehand; today is the first time I've noticed it.
Here are my dmesg results:
Quote:
forcedeth.c: Reverse Engineered nForce ethernet driver. Version 0.56
forcedeth: using HIGHDMA
eth0: forcedeth.c: subsystem: 015d9:1211 bound to 0000:00:0a.0
forcedeth: using HIGHDMA
eth1: forcedeth.c: subsystem: 015d9:1211 bound to 0000:80:0a.0
I got consistent results from dmesg all three times I rebooted, so I proceeded to the last step. However, upon entering runlevel 3, the machine told me a few disturbing things:
Quote:
Bringing up interface eth0: [OK]
Bringing up interface eth1: [OK]
Bringing up interface eth2: forcedeth device eth2 does not seem to be present, delaying initialization.
[FAILED]
(emphasis on eth2 added)
I have not seen eth2 on this machine since before the upgrade. I proceeded to close the network service (service network stop) and started system-config-network and set all (i.e. eth0, eth1, and eth2) IP's to 10.125.8.4 (my desired IP) and all netmasks to 255.255.0.0. I left the Gateway field blank, as I don't know what to put in there.
On the hardware: I'm almost 100% sure that my hardware is not flaky, because it was working just fine under an older version of the same OS (RHEL 4). Could I have made it flaky just by reseating it?
My problem, despite eth0 and eth1 being "OK," is not solved; I still cannot ping or ssh the other machine that is (currently) connected to the network. Where do I go from here? Where can I go from here?
Last edited by psteele555; 06-18-2008 at 12:56 PM.
It appears your eth0 and eth1 are being bound the different interfaces (correctly) at boot time - the MACs are different
I was going to suggest that if eth1 always keeps reverting to DHCP (and now you say that it isn't, so good, look in /etc/sysconfig/networking/* and delete any profiles found there - they might be causing that problem.
If the kernel/driver probes find eth2 - it means some hardware is there - look in the system BIOS - does this box HAVE a 3rd interface? A lights out management one for example? Or one you hadn't noticed?
Where can you go from here?
Try making just eth0 work. Disable eth1 in the BIOS. Remove any files/configs in /etc/sysconfig/network-scripts referring to eth1. Reboot, make sure only eth0 is up and configure it with system-config-network, or manually. Make sure /etc/sysconfig/network has the right hostname and gateway, and that there is no GATEWAY statement in the /etc/sysconfig/network-scripts/ifcfg-eth0 file. If the interface comes up OK, then, get its MAC address from ifconfig and in /etc/sysconfig/network-scripts/ifcfg-eth0, add the line HWADDR=<MAC>. Reboot, make sure that one got probed and loaded for eth0 and it came up OK, and that its MAC address is the same as in the ifcfg-eth0 file. This is all to verify that the system is probing the hardware in the same order each time. Since having power into the PS (even with power switched off) causes the PCI bus to still be "up", between reboots remove all power, this will make the PCI bus reset each time.
I'm sure eventually the problem will make itself evident!
Another quick thought - I've had problems in the past (through my own stupidity) when in a hurry editing the ifcfg- files by hand trying to get something to work - when I inadvertently had the wrong DEVICE for the file (e.g. ifcfg-eth0 had DEVICE=eth2 or something). That will cause a world of trouble
OK, so I stumbled across one of my coworkers who works in the same lab occasionally and he said that because I installed just the OS and not any driver for the card, that is most likely my problem. The reason the card needs a driver is because it's a Myricom 10G-PCIE-8A-R+E, which is kind of a specialty card, and therefore would not have the driver packaged with a distro. I'm off the clock for today, but I'll post tomorrow after I've attempted to download and install the driver.
Thanks for all your help. (That doesn't mean go away! )
It works! All I had to do was install the driver. Thanks VERY MUCH for your time and help, I really appreciate it. And I learned a lot from you, which is great. :-D
Last edited by psteele555; 06-20-2008 at 08:31 AM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.