From fae3231b70767eb6d27d6cfe86cf7fd3e2a8ddbd Mon Sep 17 00:00:00 2001 From: Guilherme Puida Moreira Date: Wed, 8 Apr 2026 15:42:30 -0300 Subject: [PATCH] gen-networkd: wpa supplicant unit requires netplan-configure.service wpa_supplicant reads its configuration from /run/netplan/wpa-.conf, which is written by netplan-configure.service. Without an explicit Requires=/After= dependency, wpa_supplicant could start before the config file is available, causing it to fail. LP: #2145061 --- src/gen-networkd.c | 1 + tests/generator/base.py | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/gen-networkd.c b/src/gen-networkd.c index 31bd9782b..133ab9878 100644 --- a/src/gen-networkd.c +++ b/src/gen-networkd.c @@ -178,6 +178,7 @@ write_wpa_unit(const NetplanNetDefinition* def, const char* generator_dir, gbool g_string_append(s, "DefaultDependencies=no\n"); g_string_append_printf(s, "Requires=sys-subsystem-net-devices-%s.device\n", stdouth); g_string_append_printf(s, "After=sys-subsystem-net-devices-%s.device\n", stdouth); + g_string_append(s, "Requires=netplan-configure.service\nAfter=netplan-configure.service\n"); g_string_append(s, "Before=network.target\nWants=network.target\n\n"); g_string_append(s, "[Service]\nType=simple\n"); g_string_append_printf(s, "ExecStart=/sbin/wpa_supplicant -c /run/netplan/wpa-%s.conf -i%s", stdouth, stdouth); diff --git a/tests/generator/base.py b/tests/generator/base.py index aac55648e..f9f57a03d 100644 --- a/tests/generator/base.py +++ b/tests/generator/base.py @@ -98,6 +98,8 @@ DefaultDependencies=no Requires=sys-subsystem-net-devices-%(iface)s.device After=sys-subsystem-net-devices-%(iface)s.device +Requires=netplan-configure.service +After=netplan-configure.service Before=network.target Wants=network.target