nixos/wireless: fix for multiple interfaces

Closes issue #529889

(cherry picked from commit 31b4a28a70)
This commit is contained in:
rnhmjoj 2026-06-10 08:15:44 +02:00 committed by github-actions[bot]
commit 8df65258e4
2 changed files with 11 additions and 7 deletions

View file

@ -128,7 +128,7 @@ let
]
++ lib.optionals cfg.userControlled [
# set up client sockets directory
"+${pkgs.coreutils}/bin/mkdir /run/wpa_supplicant/client"
"+${pkgs.coreutils}/bin/mkdir -p /run/wpa_supplicant/client"
"+${pkgs.coreutils}/bin/chown wpa_supplicant:wpa_supplicant /run/wpa_supplicant/client"
"+${pkgs.coreutils}/bin/chmod g=u /run/wpa_supplicant/client"
];

View file

@ -283,18 +283,22 @@ in
enable = lib.mkOverride 0 true;
userControlled = true;
allowAuxiliaryImperativeNetworks = true;
interfaces = [ "wlan1" ];
interfaces = [
"wlan0"
"wlan1"
];
};
};
testScript = ''
wpa_cli = "sudo -u alice -g wpa_supplicant wpa_cli"
with subtest("Daemon is running and accepting connections"):
machine.wait_for_unit("wpa_supplicant-wlan1.service")
status = machine.wait_until_succeeds(f"{wpa_cli} -i wlan1 status")
assert "Failed to connect" not in status, \
"Failed to connect to the daemon"
with subtest("Daemons are running and accepting connections"):
for iface in ["wlan0", "wlan1"]:
machine.wait_for_unit(f"wpa_supplicant-{iface}.service")
status = machine.wait_until_succeeds(f"{wpa_cli} -i {iface} status")
assert "Failed to connect" not in status, \
f"Failed to connect to the daemon for {iface}"
with subtest("Daemon can be configured imperatively"):
machine.succeed(f"{wpa_cli} -i wlan1 add_network")