• VMware

    Learn about VMware virtualization for its products like vsphere ESX and ESXi, vCenter Server, VMware View, VMware P2V and many more

  • Linux

    Step by step configuration tutorials for many of the Linux services like DNS, DHCP, FTP, Samba4 etc including many tips and tricks in Red Hat Linux.

  • Database

    Learn installation and configuration of databases like Oracle, My SQL, Postgresql, etc including many other related tutorials in Linux.

  • Life always offers you a second chance ... Its called tomorrow !!!

    Tuesday, July 16, 2013

    Solve "device eth0 does not seem to be present, delaying initialization"

    This error is mostly observed due to changes in MAC address of the NIC card used in the Linux

    For me it occurred when I cloned one of my Linux virtual machine. So the cloned machine was not able to detect the NIC and every time I tried to restart the network it was throwing this error.

    Now when you clone a machine all the setting and default properties gets cloned from the original one including the hostname, IP address and MAC address which should be different for each machine as they are the one which helps you recognize machines on the network.

    Now changing hostname and IP Address is quiet easy task but changing a MAC address is a bit tricky as you should know the MAC id of the new NIC installed.

    The MAC id details for the NIC card is stored in the below mentioned file which is automatically created every time the machine boots.
    If you open this file the contents would be like this
    # less /etc/udev/rules.d/70-persistent-net.rules
    # PCI device 0x1022:0x2000 (pcnet32)
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50::56:8a:1f:32", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
    Delete this file
    # rm -f /etc/udev/rules.d/70-persistent-net.rules
    Reboot your machine as after reboot a new file will be created with the details of your new NIC card
    # less /etc/udev/rules.d/70-persistent-net.rules
    # PCI device 0x1022:0x2000 (pcnet32)
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:bb:72:20", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
    As you can see the difference in MAC id and NIC card name

    It is time for you to copy the new MAC id and NIC card name to your ifcfg-eth0 file
    # vi /etc/sysconfig/network-scripts/ifcfg-eth0
    Restart your network and everything should work fine

    In case you want to use the same NIC name eth0 then replace the NIC card name from 70-persistent-net.rules file and reboot your machine for the changes to take affect

    Follow the below links for more tutorials


    1. I think we can also edit the ethernet device name inside 70-persistent-net.rules file so that next time the system boots it will recognise the deive with its old name eth0 instaed of eth1

      But overall a very good step by step tutorial. Thank You

    2. thank u . what is the use of the /etc/udev/rules.d/70-persistent-net.rules file
      and why we con modify the DEVICE name in /etc/sysconfig/network-scripts/ifcfg-eth0 file..

    3. when i was delet the file /etc/udev/rules.d/70-persistent-net.rules again regenerated ..how ...

    4. in my case it is not working. Need more help