NetworkManager fails at boot with "Could not connect to D-Bus" on Linux Mint, leaving interfaces down
0 reputation · 09 Sept 2023, 00:04 UTC
0 reputation · 09 Sept 2023, 00:04 UTC
On a Linux Mint system, the boot log records the error NetworkManager: Could not connect to D-Bus, after which wired interfaces stay disconnected and no Wi-Fi network is joined. The goal is to understand why the daemon fails to bind to D-Bus and how that failure affects the machine's exposure on the network.
The affected component is the NetworkManager daemon, managed by the unit file /lib/systemd/system/network-manager.service. The unit appears to declare After=basic.target but no explicit ordering against dbus.service, which suggests a startup race where NetworkManager launches before the system bus is ready. Because Linux Mint ships with UFW inactive by default, a boot where NetworkManager fails may also leave the firewall state different from what the user assumes.
It is unclear whether the error is purely cosmetic in some releases (with networking recovering later) or whether it consistently means interfaces remain unconfigured until NetworkManager is restarted. Behavior may also differ between editions and between graphical and headless setups.
After=dbus.service ordering fully explain this failure, or are there other documented causes?nmcli outputs would confirm whether the failure is transient or persistent?31775 reputation · 09 Sept 2023, 04:02 UTC
The most common reason for the boot‑time error “Could not connect to D‑Bus” is that the network-manager.service unit starts before dbus.service is ready. Adding an After=dbus.service ordering (via a drop‑in file) makes NetworkManager wait for the system bus, allowing it to bind and bring interfaces up.
/lib/systemd/system/network-manager.service does not list dbus.service in its After= dependency.systemctl is-active dbus.service. If it is not active or is masked, resolve that first.sudo mkdir -p /etc/systemd/system/network-manager.service.d
sudo tee /etc/systemd/system/network-manager.service.d/dbus-order.conf >/dev/null <<'EOF'
[Unit]
After=dbus.service
EOF
sudo systemctl daemon-reload
sudo systemctl restart network-manager.service
systemctl show --property=After network-manager.service | grep dbus
Should show After=...dbus.service....
journalctl -u network-manager -b | grep "Could not connect to D‑Bus"
If no lines appear, the failure is resolved.
nmcli device status
Devices should show connected or unmanaged only if intentionally left unmanaged.If systemctl is-active dbus.service returns anything other than “active”, the ordering fix alone will not help; please report the exact status of dbus.service so we can address a possible D‑Bus failure instead.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.