Troubleshooting: device eth0 does not seem to be present, delaying initialization

Posted: December 25, 2011 in Linux Related

Problem:

device eth0 does not seem to be present, delaying initialization

Possible causes:

Caused:

  • New installed or replaced NIC Card
  • For virtual move hard disk to another guest OS with different NIC MAC address

For CenOS:

First you must edit the each network settings in your NIC card and removed this line or edit with your new NIC card Mac Address: HWADDR=01:23:45:67:89:AB

you can edit this by:

/etc/sysconfig/network-script/ifcfg-eth0<

Short term solution:

[root@centos6 ~]# cd /sys/class/net

[root@centos6 net]# ls -l

Will show you some symbolic link with new NIC number, what you can do was to:

[root@centos6 ~]# ip link set dev eth1 name eth0 (example that old nic was eth0 and new one was read as eth1

but problem on this solution was when you reboot all the setting will do back to the original.

Permanent Solution

[root@centos6 ~]# vi /etc/udev/rules.d/70-persistent-net.rules

You need to removed the old NIC card and replace the new nic card with the correct eth0

sample

# PCI device 0x1022:0x2000 (pcnet32) (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:41:f6:73", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
(you must remove this bold line above)

# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:b8:40:83", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
After removing the line from above change eth1 to eth0.
Advertisements
Comments
  1. Rafael Lopes says:

    Did that. Rebooting. If it works, i want a donate button.

    Seriously. You deserve.

  2. Rafael Lopes says:

    This file /etc/udev/rules.d/70-persistent-net.rules

    RULES!

    hahaha =)

  3. awakeni says:

    in my case no network devices are shown in the rules file. No entry for “net”. Centos 6.2 baremetal.

  4. awakeni says:

    in my case the rules files does not has “net” entry. I am using centos 6 on physical machine.

    • esuarez11 says:

      I’m no expert but could be due to that network card has incompatible driver or something would be best if you can give some information such as the vendor: device id…

      You can do that by running:

      lspci -nn | grep -i net

  5. awakeni says:

    I finally fixed that problem by using Centos Live CD. In the minimal install it was not working. Moreover, in dell vestro machine it detects the eth device as p128p1. there was not entry in the rule files too. So creating the ifcfg-p128p1 file on live CD solved my problem.

    I did try same things on minimal install centos 6.2 but it didnt work.

  6. DarthJDG says:

    Wow, thanks a lot mate, you saved me a few hours!

  7. Icer says:

    PERFECT!!! Thank you very much, Your are the best,
    your tutorials helped me in the past too šŸ˜‰

  8. prasad says:

    Many Thnaks. its work šŸ™‚

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s