You are not logged in.

#1 2024-03-23 15:30:21

tsj
Member
Registered: 2017-07-06
Posts: 12

[SOLVED] systemd-networkd-wait-online --any fails

Hello, I have a simple config with systemd-networkd & wpa_supplicant based config to manage a wireless interface, ie connect & authenticate to wireless network at boot.

I have noticed however that `/lib/systemd/systemd-networkd-wait-online --any` fails. If I supply the interface manually like `/lib/systemd/systemd-networkd-wait-online --interface=wlp0s20u4`, the process terminates. Why would this be? Help for `--any` states that it will "Wait until at least one of the interfaces is online". I'd rather not enable any systemd-networkd-wait-online@ services and just allow any available interface to satisfy an "online" check.

I also noticed that the interface (wlp0s20u4) is reported as "unmanaged" by networkctl, is this expected?

> networkctl list
IDX LINK            TYPE      OPERATIONAL SETUP
  1 lo              loopback  carrier     unmanaged
  2 eno1            ether     no-carrier  unmanaged
  3 wlp3s0          wlan      no-carrier  unmanaged
  4 wlp0s20u4       wlan      routable    unmanaged
  5 wg0             wireguard routable    unmanaged
  6 tun0            none      routable    unmanaged
  7 br-e494102d60e0 bridge    routable    unmanaged
  8 docker0         bridge    no-carrier  unmanaged
 10 veth7454682     ether     enslaved    unmanaged
 12 veth92ebb7e     ether     enslaved    unmanaged
 14 veth5e1646d     ether     enslaved    unmanaged

11 links listed.

Finally, I enabled dhcpcd@wlp0s20u4 because without it I never obtained an IP on that interface. I don't remember having to enable this on a previous config for a different wireless adapter, but maybe I did... what then is the point of `DHCP=yes` in `/etc/systemd/network/25-wireless.network` as mentiond in the systemd-networkd wiki page?

My config is below. In summary:

1. Why does `/lib/systemd/systemd-networkd-wait-online --any` fail when the interface is up?
2. Is it normal that the interface be reported as "unmanaged" by networkctl?
3. Why do I need to start dhcpcd@ when DHCP=yes is in the .network file?

Config:

> ls /etc/systemd/network/
25-wireless.network

> cat /etc/systemd/network/25-wireless.network
[Match]
Name=wlp0s20u4

[Network]
DHCP=yes
IgnoreCarrierLoss=3s
> cat /etc/wpa_supplicant/wpa_supplicant-wlp0s20u4.conf
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1

network={
  <redacted>
}
> find /etc/systemd -type l -exec test -f {} \; -print | awk -F'/' '{ printf ("%-40s | %s\n", $(NF-0), $(NF-1)) }' | sort -f
audiobookshelf.service                   | multi-user.target.wants
caddy.service                            | multi-user.target.wants
cronie.service                           | multi-user.target.wants
dbus-org.freedesktop.network1.service    | system
dhcpcd@wlp0s20u4.service                 | multi-user.target.wants
docker.service                           | multi-user.target.wants
fail2ban.service                         | multi-user.target.wants
fstrim.timer                             | multi-user.target.wants
gcr-ssh-agent.socket                     | sockets.target.wants
getty@tty1.service                       | getty.target.wants
gnome-keyring-daemon.socket              | sockets.target.wants
ip6tables.service                        | multi-user.target.wants
iptables.service                         | multi-user.target.wants
jellyfin.service                         | multi-user.target.wants
krb5-kdc.service                         | multi-user.target.wants
lm_sensors.service                       | multi-user.target.wants
nix-daemon.service                       | multi-user.target.wants
ntpd.service                             | multi-user.target.wants
p11-kit-server.socket                    | sockets.target.wants
pipewire-pulse.socket                    | sockets.target.wants
pipewire-session-manager.service         | user
pipewire.socket                          | sockets.target.wants
prometheus-node-exporter.service         | multi-user.target.wants
prometheus-systemd-exporter.service      | multi-user.target.wants
rankmirrors.timer                        | timers.target.wants
remote-fs.target                         | multi-user.target.wants
sshd.service                             | multi-user.target.wants
systemd-networkd.service                 | multi-user.target.wants
systemd-networkd.socket                  | sockets.target.wants
systemd-networkd-wait-online@wlp0s20u4.service | network-online.target.wants
systemd-network-generator.service        | sysinit.target.wants
systemd-timesyncd.service                | sysinit.target.wants
tor.service                              | multi-user.target.wants
wg-quick@wg0.service                     | multi-user.target.wants
wireplumber.service                      | pipewire.service.wants
wpa_supplicant@wlp0s20u4.service         | multi-user.target.wants
xdg-user-dirs-update.service             | default.target.wants
yggdrasil.service                        | multi-user.target.wants

(I have systemd-networkd-wait-online@wpl0s20u4 enabled, for now, in the above.)

Last edited by tsj (2024-05-17 21:32:31)

Offline

#2 2024-05-17 21:32:06

tsj
Member
Registered: 2017-07-06
Posts: 12

Re: [SOLVED] systemd-networkd-wait-online --any fails

Solved, seems like the issue was 600 permissions with user root on the .network file. Seems like there's no error message about this, even in the debug output.

Offline

Board footer

Powered by FluxBB