[Networkmanager] "device is strictly unmanaged"

Thomas Haller thaller at redhat.com
Mon May 15 13:12:04 UTC 2023


On Mon, 2023-05-15 at 14:24 +0200, Christian Schaubschläger wrote:
> Hello everyone,
> 
> I'm having a strange issue with an USB ethernet device (Realtek
> r8152) and NetworkManager (1.42.6, I've also tried older versions
> with the same result). I'm not experiencing this on a particular
> Linux distribution, but rather on a self-tailored Linux (based on
> Linux from Scratch), so it's probably a configuration issue, but
> unfortunately I'm really out of ideas what's wrong here.
> 
> So the thing is this: when I plug the mentioned USB dongle when the
> system is up and running, I cannot use it with NetworkManager,
> because eventually I always get the error
> 
> "Failed to activate 'eth1': Connection 'eth1' is not available on
> device eth1 because device is strictly unmanaged"
> 
> I've googled this error a lot but couldn't find anything that makes
> things work for me. One interesting thing is, that when I boot the
> system with the USB dongle connected, everything works as expected.
> Also, when I boot the system with the dongle disconnected, then plug
> it, then restart the NM daemon, it works fine, too.
> 
> I've attached the NetworkManager's logs from a representative
> session, where first the NM daemon starts, then I connect the dongle
> (eth1), and I then issue a "nmcli d connect eth1" command.
> (Note: issuing "nmcli d set eth1 managed yes" prior to connecting
> doesn't help...)
> 
> Note2: on Ubuntu 22.04 everything works as expected...
> 
> Maybe somebody has an idea about what's going wrong here?
> Thanks and best regards,
> Christian


Hi,


  <debug> [1684158669.6262] platform: (eth1) signal: link   added: 6: eth1 <DOWN;broadcast,multicast> mtu 1500 arp 1 ethernet? not-init addrgenmode

"not-init" means that the interface was not announced in udev.
NetworkManager expects a signal from udev that the device is usable,
which never comes.

You certainly would expect a message like that, were it says "init".


The most common reason is that you run inside a container, where /sys
is not mounted as read-only. Udev usually does not run inside a
container, and that is communicated by mounting /sys as read-only. See 
https://systemd.io/CONTAINER_INTERFACE/
Note that lxc runs with /sys mounted as writeable, which notably
confuses NetworkManager and can cause similar problems.

Since you don't run a "normal" linux and not a common container
runtime, I would suspect that udev is not properly configured.


Thomas




More information about the Networkmanager mailing list