86

While upgrading today, something caused my wireless network manager to disappear. Not even connecting via wired connection.

This error is being shown by files:

**(nm-applet:2716): WARNING **: Could not initialize NMClient /org/freedesktop/NetworkManager: The name org.freedesktop.NetworkManager was not provided by any .service files 

(nm-applet:2716): nm-applet-WARNING **: Error connecting to ModemManager: Error calling StartServiceByName for org.freedesktop.ModemManager1: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ExecFailed: Cannot launch daemon, file not found or permissions invalid 

(nm-applet:2716): nm-applet-WARNING **: Could not find ShellVersion property on org.gnome.Shell after 5 tries 

(nm-applet:2716): nm-applet-WARNING **: Failed to register as an agent: (2) The name org.freedesktop.NetworkManager was not provided by any .service files 

Is there a patch I can download through windows and send through to my ubuntu, or is it a case of having to reload everything? I tried running two versions back but still no internet access.

7
  • (NetworkManager:2425): GLib-WARNING **: GError set over the top of a previous GError or uninitialized memory. This indicates a bug in someone's code. You must ensure an error is NULL before it's set. The overwriting error message was: Key file does not have group 'connectivity' is what I have encountered trying to restart network manager... went back ten update sets in Ubuntu but still hitting it... Jan 29, 2016 at 13:46
  • 1
    This problem happened only for those who turned on proposed repository. That was initially a bad idea.
    – Pilot6
    Jan 30, 2016 at 18:01
  • 6
    I shall more say that the bad idea was to promote libnl to proposed-updates, without testing it with actual version of network-manager there ...and turning on proposed has a real purpose on a 2 years old lts ubuntu version for targetting *-lts-wily for example, and moreover 3 months before next lts release - anyway, shit happens ;-)
    – r2rien
    Jan 30, 2016 at 19:14
  • Just for future reference: "last" upgrade is meaningless when you don't mention what version of Ubuntu you're using and what version of Network Manager you upgraded to.
    – muru
    Jan 30, 2016 at 22:59
  • I have faced this issue which wasn't got fixed for quite some time. What I do is sudo ifdown eth0 when disconnected and sudo ifup eth0 when a new link is connected :) .
    – Hari K T
    Feb 5, 2016 at 3:29

7 Answers 7

126

Cause

This is caused by a regression introduced with a fix for libnl3 bug #1511735.
Resulting network-manager crash has been reported in network-manager bug #1539513 or network-manager bug #1539634


Solution

Downgrade libnl packages and wait for an upgrade of network-manager package


Step 1

Try to downgrade libnl with apt-get as in @Max answer:

sudo apt-get install libnl-3-200=3.2.21-1 libnl-route-3-200=3.2.21-1 libnl-genl-3-200=3.2.21-1

Step 2

If Step 1 fails,
because the packages aren't anymore in your cache and obviously cannot be downloaded by package manager, you need to downgrade libnl packages manually (download + install):

  • Download and copy them to your system
    [ from booting a live distrib/rescue cd or from another computer + usb stick ]
    Download links for amd64: libnl libnl-genl libnl-route
    Download links for i386: libnl libnl-genl libnl-route

  • Back to your system, where you saved these .deb files, install them with dpkg:

    sudo dpkg -i libnl-*.deb
    

Step 3

Now you should be able to (re)start NetworkManager and bring back networking:

sudo service network-manager restart

Notice

These bugs hits ubuntu trusty 14.04 with Pre-released updates : trusty-proposed Software Updates properties

Where last update of libnl packages from version 3.2.21-1 to 3.2.21-1ubuntu1 introduced a regression causing network-manager to crash


There isn't yet any upgrade on network-manager in trusty-proposed
Current version: 0.9.8.8-0ubuntu7.2

An update of network-manager is now available in trusty-proposed
Updated version: 0.9.8.8-0ubuntu7.3
please test proposed package (#1539634 comment n°11)


Thus until an upgrade for it triggers on your package manager you should apply a "hold" - as mentioned in libnl3 bug #1511735 comment n°29:

sudo apt-mark hold libnl-3-200 libnl-genl-3-200 libnl-route-3-200

Once the future upgrade from trusty-proposed is installed you can remove that hold with:

sudo apt-mark unhold libnl-3-200 libnl-genl-3-200 libnl-route-3-200

Which then will allow you to upgrade again libnl

22
  • 1
    If I remember correctly, after installing those three libnl packages (at version 3.2.21-1, not 3.2.21-1ubuntu1, I did not need to restart the machine. I think I simply reran sudo /usr/sbin/NetworkManager or something like that. Is this correct? Basically, I'm asking if a reboot is necessary, or if something else is sufficient? Jan 30, 2016 at 12:00
  • 3
    NetworkManger is a service (but it could depend on your os/version) Thus a sudo service network-manager restart should be sufficient
    – r2rien
    Jan 30, 2016 at 13:34
  • 1
    Improved the formatting. I'm also experiencing this and this answer worked for me.
    – laconbass
    Jan 30, 2016 at 16:06
  • 1
    @laconbass thanks to your greatly improved formatting ;-)
    – r2rien
    Jan 30, 2016 at 22:38
  • 1
    If this bug affected you, please click the two launchpad bug links on the second line and, on the launchpad page click "Yes this bug affects you". Then grab your rotten tomatoes and join my lynch-mob for some misdirected anger. Thanks for this post!
    – guttermonk
    Feb 1, 2016 at 17:03
10

As of 2016-05-13 this libnl bug is affecting also users without trusty-proposed, who will almost certainly be directed here by Google.

Updated libnl and network-manager packages have already been released, so I recommend a forward upgrade.

Enable Network Manually

Assuming you are using a wired connection, eth0and a network with DHCP enabled, configure your network interface using a terminal:

sudo ifconfig eth0 up
sudo dhclient eth0

Update network-manager

With the network up and running, do an update either using Software Updater or from the terminal using apt-get.

Option A: Software Updater

Run Software Updater and update normally. At the time of writing fixed packages have already been released.

Option B: apt-get

(untested). If you want to minimize moving parts or do not have a graphical interface, you can also update from the terminal:

sudo apt-get update
sudo apt-get install network-manager
2
  • thanks so much! I don't have a USB stick around but my desktop does have a wired connection... and this is very helpful.
    – Nan Jiang
    May 19, 2016 at 13:46
  • +1. Now updated versions of these packages have been released, this is very much the cleanest fix. (Also, confirming that I got hit with this without 'proposed' enabled, and had to grumpily remember how to configure connections with iwconfig before I could get online)
    – nikobelia
    Aug 7, 2016 at 10:17
8

In addition to the given solution I want to give a general advice.

Turn off the "proposed" repository

It is not supposed to be turned on. This "problem" affected only those users who turned on the proposed repository and installed a broken package.

This repository contains testing packages that are not recommended to install unless you want to test some specific packages.

enter image description here

Keep "proposed" off if you do not want this kind of surprises.

You can refer to this question for more information.

15
  • 3
    Don't blame users, please. In my opinion it's childishing them and not productive as users could then blame developpers. Better answer is to increase their level of understanding of the system they use, thus their knowledge to how to handle this kind of regression bug
    – r2rien
    Jan 31, 2016 at 15:48
  • 3
    As a developper, a regression introduced by a fix, whatever its level of legitimacy - IS a bug. Could I suggest you chill out a bit, your tone is sounding paternalistic to say the least. On my side I reworded accordingly my answer. On your side, and at your level, you could have provided some usefull links, like EnableProposed or PerformingSRUVerification for example
    – r2rien
    Jan 31, 2016 at 23:47
  • 2
    @r2rien: If you stick to using an LTS, even if there are more recent OS versions available, you aren't not very keen on using 'the latest and greatest' software in the first place. Hence the combination of using an LTS and having -proposed enabled permanently is inconsistent. (I hit the same issue, but I think I have to "blame" myself.) I agree with Pilot6 that this is not a bug. The suffix "-proposed" implies that it's intended for developers and testers. Feb 6, 2016 at 22:38
  • 2
    I agree that it IS a bug, but in a testing package. The purpose of testing is to find this kind of issues. But if a user does not want to meet this kind of problems "all of a sudden", the repo should be disabled.
    – Pilot6
    Feb 7, 2016 at 7:54
  • 2
    Yes, most users should not have trusty-proposed or trusty-backports enabled. However, as of today 13 May 2016, apparently the same bug appeared for some people who were not using trusty-backports, requiring manual networking or upgrade of network-manager to 0.9.8.8-0ubuntu7.3. See [bugs.launchpad.net/ubuntu/+source/libnl3/+bug/1581535] May 13, 2016 at 19:06
3

Update to network-manager 0.9.8.8-0ubuntu7.2, and reboot.

Hot workaround: using manual network settings over sudo nano /etc/network/interfaces

Working workaround!

Downgrade some libraries:

sudo apt-get install libnl-3-200=3.2.21-1 libnl-route-3-200=3.2.21-1 libnl-genl-3-200=3.2.21-1
5
  • That does not provide an answer at all. Jan 29, 2016 at 14:45
  • Downgrading libraries may cause other programs to fail - keep that in mind.
    – Thomas Ward
    Jan 29, 2016 at 14:48
  • For my system (ElementaryOS, Linux 3.19.0-49-generic #55~14.04.1-Ubuntu 14.04) downgrade was successful and nm to work again.
    – Max
    Jan 29, 2016 at 14:57
  • 1
    -1 Although this may work on elementary OS, Ubuntu is a different operating system, so a fix may not be compatible.
    – David
    Jan 29, 2016 at 16:09
  • 3
    This answer is correct. It worked for me with Ubuntu 14.04. I separately downloaded the older versions of three packages (libnl-...) and installed them via dpkg -i. This morning, my machine had exactly that version (3.2.21-1, not 3.2.21-1ubuntu1) of those three packages listed in the answer Jan 29, 2016 at 18:33
2

I had the same problem this morning and downgrading the libnl packages worked too.

I rebooted using a rescue CD, downloaded libnl-3-200-3.2.21-1_amd64.deb, libnl-genl-3-200_3.2.21-1_amd64.deb and libnl-route-3-200_3.2.21-1_amd64.deb from http://archive.ubuntu.com/ubuntu/pool/main/libn/libnl3/ , installed it using dpkg -i and rebooted.

Networking is back. It may not be the ultimate fix, but it got me going on 14.04 for the time being.

Here's the bug report: https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1539634.

1

I knew the fix would be out quickly, the tricky part was the chicken and egg issue of getting online. One way is to use wired ethernet which is really easy to get going:

Open a Terminal

sudo dhclient eth0
sudo apt-get update
sudo apt-get upgrade
0

i am a very very new beginner to ubuntu and that too a non technical man having very little background of this computer languages and all.

i faced the similar problem with nm

as instructed by r2rien i downloaded the three files from the links given by him

(first i could not understand that they are three links but thanks to his precise use of english: the word "files" made me look up again and i downloaded the rest two files)

then i could not install it

i was not able to understand the asterisk in "sudo dpkg -i libnl-*.deb"

how much ever i tried to install first files individually, then together, then by apt-get; sometime interchanging = in place of _ like 3-200=3.2.21-1 in place of 3-200_3.2.21-1. still no result. searched on net then found out very easy way of doing it. by dragging the file in terminal after "sudo dpkg -i "

then encountered another problem: processing triggers... that too as someone gave suggestion by just "enter and then username and enter" got it solved. was skeptical still. finally it worked. thanks r2rien and friends.

1
  • The asterisk in 'libnl-*.deb' is a wildcard, so that command will affect anything that starts with "libnl-" and ends with ".deb". As a side note: on StackExchange communities, it's good to put messages like this that are comments on other people's solutions in the comments, rather than as answers in themselves.
    – nikobelia
    Aug 7, 2016 at 10:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .