The dreaded eth0:avahi Ubuntu Feisty bug

I have a very simple setup. One wired network card, that's it. No wireless cards at all. Got a brand new machine with a freshly installed Feisty, on Thursday. Worked like a charm, I could surf the Internet with Firefox, and it was fast.

Immediately after the first reboot, the day after, I couldn't access the Internet anymore. My other two machines , who uses the same router/DHCP server, were still working, so I knew it wasn't a network problem. I could ping the router from the Feisty machine, but with packet loss ratios ranging between 40% - 100%. Firefox could not connect to Google or the internal routers webadmin GUI.

Network manager was showing an IP address of 0.0.0.0. If I used System->Administration->Network Tools->Devices, it showed:

To make a long story short, this is what worked for me, to get it working again:

  1. Network manager works best with only the loopback interface specified in the /etc/networking/interfaces file. Comment out lines in /etc/networking/interfaces, leaving only the loopback interface. Make a backup copy first ! I had to use vi, the other editor I tried left invisible characters which messed up the file completely.
    sudo cp /etc/network/interfaces /etc/network/interfaces.bak
    sudo vi /etc/network/interfaces
    

    Your /etc/network/interfaces should look something like this after the edit:

    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).
    
    # The loopback network interface
    auto lo
    iface lo inet loopback
    
    # This is a list of hotpluggable network interfaces.
    # They will be activated automatically by the hotplug subsystem.
    # auto eth1
    
    # iface eth1 inet dhcp
    
  2. Next, get a DHCP address for eth1, overriding NetworkManager:
    sudo dhclient
  3. OK, we now have Internet access again and can use apt-get to reinstall a broken package
    sudo apt-get --purge install avahi-autoipd --reinstall
    
  4. Reboot.

After the reboot, Network Manager showed a proper IP address and not 0.0.0.0
I got Internet access back, and things were back to normal.

Using System->Administration->Network Tools->Devices, now showed, after fix:

These links helped me fix the problem: