You are not logged in.

#1 2023-03-09 20:30:52

Corrupted
Member
Registered: 2021-07-07
Posts: 28

[SOLVED] iwd failing to connect to new network

Hi all,

I've started running into issues with iwd over the past couple of days. Specifically, the script I wrote to change networks recently started throwing an "Operation Aborted" or "Operation Failed" error anytime I tried to switch between my work and home network. I've been able to more or less get around this by manually going in and switching networks via iwctl but as of recent this has stopped working as well. What happens specifically is when I go to change networks while showing the current connection status it briefly switches the connected network and the state changes to connecting, at which point show disappears and I get a "No station on device: 'wlan0'" error. Showing the current connected network afterwords shows that I'm back on the previous network.

The logs for iwd after attempting to connect shows:

Mar 09 12:05:50 user iwd[14276]: Received Deauthentication event, reason: 3, from_ap: false
Mar 09 12:05:50 user iwd[14276]: Could not register frame watch type 00d0: -114
Mar 09 12:05:52 user iwd[14276]: Could not register frame watch type 00d0: -114
Mar 09 12:05:52 user iwd[14276]: CMD_SET_CQM failed: Invalid argument

The way I'm able to change networks currently is by adding and removing the autoconnect option on the work network ( for whatever reason it really wants to autoconnect to it, possibly because it has a lower dBm? ). After changing the file iwd seems to soft-crash at which point I will either be connected to the work network or my home network. The logs after this happens shows:

Mar 09 12:20:12 user iwd[14276]: Error loading /var/lib/iwd//Work.psk
Mar 09 12:20:13 user iwd[14276]: CMD_SET_CQM failed: Invalid argument
Mar 09 12:20:14 user iwd[14276]: Received Deauthentication event, reason: 3, from_ap: false
Mar 09 12:20:14 user iwd[14276]: Could not register frame watch type 00d0: -114
Mar 09 12:20:15 user iwd[14276]: Could not register frame watch type 00d0: -114
Mar 09 12:20:16 user iwd[14276]: CMD_SET_CQM failed: Invalid argument

I thought that this may have been a roaming issue so I tried disabling it. This hasn't had an effect.
iwd/main.conf:

[General]
EnableNetworkConfiguration=false
RoamThreshold=1
RoamThreshold5G=1

Any help debugging this issue would be appreciated. Thanks in advance!

Last edited by Corrupted (2023-03-14 18:57:42)


If we don't study the mistakes of the future, we're bound to repeat them for the first time.

Offline

#2 2023-03-13 21:04:32

Corrupted
Member
Registered: 2021-07-07
Posts: 28

Re: [SOLVED] iwd failing to connect to new network

I was hoping that maybe this was a kernel issue and that the next kernel update would resolve this, but no dice.

Below is the journalctl output at the time of the attempted network switch.

Mar 13 13:39:55 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:39:55 user systemd-networkd[25974]: bond0: DHCPv4 address dhcp_ip, gateway gateway_ip acquired from>
Mar 13 13:39:55 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:39:55 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:39:55 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:39:55 user systemd-resolved[25969]: Using degraded feature set UDP+EDNS0+DO instead of TLS+EDNS0+DO for DNS ser>
Mar 13 13:39:56 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:39:56 user kernel: e1000e 0000:00:1f.6 eno1: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
Mar 13 13:39:56 user systemd-networkd[25974]: eno1: Gained carrier
Mar 13 13:39:56 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:39:56 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:39:56 user kernel: bond0: (slave eno1): link status definitely up, 1000 Mbps full duplex
Mar 13 13:39:56 user kernel: wlan0: deauthenticating from HomeMAC by local choice (Reason: 3=DEAUTH_LEAVING)
Mar 13 13:39:56 user systemd-networkd[25974]: wlan0: Lost carrier
Mar 13 13:39:56 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:39:56 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:39:56 user iwd[866]: CMD_SET_CQM failed: Invalid argument
Mar 13 13:39:56 user kernel: wlan0: authenticate with WorkMAC
Mar 13 13:39:57 user kernel: wlan0: send auth to WorkMAC (try 1/3)
Mar 13 13:39:57 user kernel: wlan0: authenticated
Mar 13 13:39:57 user kernel: wlan0: associate with WorkMAC (try 1/3)
Mar 13 13:39:57 user kernel: wlan0: RX AssocResp from WorkMAC (capab=0x511 status=0 aid=1)
Mar 13 13:39:57 user kernel: wlan0: associated
Mar 13 13:39:57 user systemd-networkd[25974]: wlan0: Connected WiFi access point: WorkNetwork (WorkMAC)
Mar 13 13:39:57 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:39:57 user kernel: wlan0: Limiting TX power to 21 (24 - 3) dBm as advertised by WorkMAC
Mar 13 13:39:57 user systemd-networkd[25974]: wlan0: Gained carrier
Mar 13 13:39:57 user systemd-networkd[25974]: wlan0: Reconfiguring with /etc/systemd/network/30-bond0-wireless.network.
Mar 13 13:39:57 user kernel: wlan0: deauthenticating from WorkMAC by local choice (Reason: 3=DEAUTH_LEAVING)
Mar 13 13:39:57 user iwd[866]: Received Deauthentication event, reason: 3, from_ap: false
Mar 13 13:39:57 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:39:57 user systemd-networkd[25974]: wlan0: Link DOWN
Mar 13 13:39:57 user systemd-networkd[25974]: wlan0: Lost carrier
Mar 13 13:39:57 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:39:57 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:39:57 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:39:57 user systemd-networkd[25974]: wlan0: Link UP
Mar 13 13:39:57 user systemd-networkd[25974]: wlan0: Gained carrier
Mar 13 13:39:57 user systemd-networkd[25974]: wlan0: Reconfiguring with /etc/systemd/network/30-bond0-wireless.network.
Mar 13 13:39:57 user kernel: bond0: (slave wlan0): link status definitely down, disabling slave
Mar 13 13:39:57 user kernel: bond0: (slave eno1): making interface the new active one
Mar 13 13:39:57 user iwd[866]: Could not register frame watch type 00d0: -114
Mar 13 13:39:58 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:39:58 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:39:58 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:39:58 user systemd-networkd[25974]: wlan0: Lost carrier
Mar 13 13:39:58 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:39:58 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:39:58 user systemd-networkd[25974]: wlan0: Link DOWN
Mar 13 13:39:58 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:39:58 user systemd-networkd[25974]: wlan0: Link UP
Mar 13 13:39:58 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:39:58 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:39:59 user iwd[866]: Could not register frame watch type 00d0: -114
Mar 13 13:39:59 user iwd[866]: CMD_SET_CQM failed: Invalid argument
Mar 13 13:39:59 user kernel: wlan0: authenticate with HomeMAC
Mar 13 13:40:00 user kernel: wlan0: send auth to HomeMAC (try 1/3)
Mar 13 13:40:00 user kernel: wlan0: authenticated
Mar 13 13:40:00 user kernel: wlan0: associate with HomeMAC (try 1/3)
Mar 13 13:40:00 user kernel: wlan0: RX AssocResp from HomeMAC (capab=0x1011 status=0 aid=16)
Mar 13 13:40:00 user kernel: wlan0: associated
Mar 13 13:40:00 user systemd-networkd[25974]: wlan0: Connected WiFi access point: HomeNetwork (HomeMAC)
Mar 13 13:40:00 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:40:00 user systemd-networkd[25974]: wlan0: Gained carrier
Mar 13 13:40:00 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:40:00 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 13:40:00 user systemd[1]: Finished Wait for Network to be Configured.
Mar 13 13:40:00 user kernel: wlan0: Limiting TX power to 30 (30 - 0) dBm as advertised by HomeMAC
Mar 13 13:40:01 user kernel: bond0: (slave wlan0): link status definitely up, 0 Mbps full duplex
Mar 13 13:40:01 user kernel: bond0: (slave wlan0): making interface the new active one
Mar 13 13:40:01 user sudo[25933]: pam_unix(sudo:session): session closed for user root

It looks like the wlan0 interface is brought down by networkd following a carrier loss. Would that explain the iwd "No station on device: 'wlan0'" error that pops up when attempting to switch networks?
I'm still not quite sure what's changed since around a month ago.

In case it's relevant, here is the network switching script:

#!/bin/zsh

if [[ $UID != 0 || $EUID != 0 ]]; then
	echo "Please run program as root"
	exit
fi

current_network=$(iwctl station wlan0 show | grep Connected\ network | awk '{print $3}')

if [[ "$1" != "work" ]]
then
	if [[ $current_network == "HomeNetwork" ]]
	then
		echo "Already connected to home network"
		exit
	fi
	echo "Setting up new network configurations"
	cat /home/user/.config/network-configuration/30-bond0-home.network > /etc/systemd/network/30-bond0.network
	echo "Restarting services"
	systemctl daemon-reload
	systemctl restart systemd-resolved
	systemctl restart systemd-networkd
	echo "Connecting to home network"
	iwctl station wlan0 connect HomeNetwork
	sleep 4
	iwctl station wlan0 show
else
	echo "Setting up new network configuration"
	cat /home/user/.config/network-configuration/30-bond0-work.network > /etc/systemd/network/30-bond0.network
	echo "Restarting services"
	systemctl daemon-reload
	systemctl restart systemd-resolved
	systemctl restart systemd-networkd
	echo "Connecting to work network"
	iwctl station wlan0 connect WorkNetwork
	sleep 4
	iwctl station wlan0 show
fi

----- Version info -----
iwd version: 2.3-1
systemd version: 253.1-3
linux-zen version: 6.2.5.zen1-1

Last edited by Corrupted (2023-03-13 21:17:26)


If we don't study the mistakes of the future, we're bound to repeat them for the first time.

Offline

#3 2023-03-13 21:31:25

seth
Member
Registered: 2012-09-03
Posts: 58,241

Re: [SOLVED] iwd failing to connect to new network

Mar 13 13:39:56 user kernel: wlan0: deauthenticating from HomeMAC by local choice (Reason: 3=DEAUTH_LEAVING)
Mar 13 13:39:56 user systemd-networkd[25974]: wlan0: Lost carrier
…
Mar 13 13:39:57 user systemd-networkd[25974]: wlan0: Connected WiFi access point: WorkNetwork (WorkMAC)
…
Mar 13 13:39:57 user kernel: wlan0: deauthenticating from WorkMAC by local choice (Reason: 3=DEAUTH_LEAVING)
…
Mar 13 13:39:57 user systemd-networkd[25974]: wlan0: Lost carrier

Within 1 second you're actively disconnecting from "HomeMAC" (you MACs are typically not privacy demanding information) connection to WorkMAC and actively disconnecting from WorkMAC again.
This is not a driver or iwd or systemd-network thing, that's your script.

What is this nonsense about:

	cat /home/user/.config/network-configuration/30-bond0-work.network > /etc/systemd/network/30-bond0.network
	echo "Restarting services"
	systemctl daemon-reload
	systemctl restart systemd-resolved
	systemctl restart systemd-networkd

?

You're bonding interfaces, what does that have to do w/ the AP and what's actually in those configs?
What if you skip that dance and just "iwctl station wlan0 connect <SSID>"?

Online

#4 2023-03-13 23:24:30

Corrupted
Member
Registered: 2021-07-07
Posts: 28

Re: [SOLVED] iwd failing to connect to new network

seth wrote:

Within 1 second you're actively disconnecting from "HomeMAC" (you MACs are typically not privacy demanding information) connection to WorkMAC and actively disconnecting from WorkMAC again.
This is not a driver or iwd or systemd-network thing, that's your script.

I'm confused. Is that what it's doing? My understanding of the script and perhaps I'm wrong, is that provided "home" or "work" it will output the work or home network configuration to the bond0 interface, restart systemd-{resolved,networkd} so it takes effect and then attempt to establish a connection to the work or home AP. It shouldn't immediately disconnect and reconnect to the previous network. If that's what's happening then I suppose I would need to fix the script.

seth wrote:

What is this nonsense about:

	cat /home/user/.config/network-configuration/30-bond0-work.network > /etc/systemd/network/30-bond0.network
	echo "Restarting services"
	systemctl daemon-reload
	systemctl restart systemd-resolved
	systemctl restart systemd-networkd

?
You're bonding interfaces, what does that have to do w/ the AP and what's actually in those configs?

My wlan0 and eth0 interfaces are already bonded. That's just the network configuration. I output to the 30-bond0.network file because the work AP/VPN requires a different configuration from my home network. The two files, with sensitive bits changed are:

30-bond0-home.network

[Match]
Name=bond0

[Network]
DHCP=yes
DNS=[pihole_ipv6]:53%bond0#pihole
MulticastDNS=true
Domains=~. ~local
DNSSEC=false
DNSOverTLS=opportunistic
LLMNR=false
IPv6PrivacyExtensions=true
LinkLocalAddressing=ipv6


[Route]
Gateway=gateway_ip
InitialCongestionWindow=10
InitialAdvertisedReceiveWindow=10

[DHCPv4]
UseDNS=false
Anonymize=true
UseDomains=route

[DHCPv6]
UseDNS=false
UseDomains=route

[IPv6AcceptRA]
Token=prefixstable
UseDNS=false

30-bond0-work.network

[Match]
Name=bond0

[Network]
DHCP=yes
MulticastDNS=resolve
Domains=~. ~work ~domains
DNSSEC=allow-downgrade
DNSOverTLS=opportunistic
LLMNR=resolve
LinkLocalAddressing=true
IPv6PrivacyExtensions=true

[DHCPv4]
UseDNS=true
Anonymize=true
UseDomains=true
UseRoutes=true
UseGateway=true

[DHCPv6]
UseDNS=true
UseDomains=true
seth wrote:

What if you skip that dance and just "iwctl station wlan0 connect <SSID>"?

It's a bit difficult to show what's happening so what I've done is written a short, simple script that attempts to connect to the "WorkNetwork", immediately show the wlan0 connection, wait 1 second, then display the wlan0 connection again.

script.sh

#!/bin/zsh
iwctl station wlan0 connect WorkNetwork
iwctl station wlan0 show >> out.txt
sleep 1
iwctl station wlan0 show >> out.txt

out.txt

                                 Station: wlan0
--------------------------------------------------------------------------------
  Settable  Property              Value
--------------------------------------------------------------------------------
            Scanning              no
            State                 connected
            Connected network     WorkNetwork
            No IP addresses       Is DHCP client configured?
            ConnectedBss          96:4b:1c:d9:ff:c3
            Frequency             5220
            Security              WPA2-Personal
            RSSI                  -63 dBm
            AverageRSSI           -72 dBm
            TxMode                802.11ac
            TxMCS                 9
            TxBitrate             780000 Kbit/s
            RxBitrate             6000 Kbit/s

No station on device: 'wlan0'

Attempting to show the current connection after the script ran:
iwctl station wlan0 show

                                 Station: wlan0
--------------------------------------------------------------------------------
  Settable  Property              Value
--------------------------------------------------------------------------------
            Scanning              no
            State                 connected
            Connected network     HomeNetwork
            No IP addresses       Is DHCP client configured?
            ConnectedBss          c6:44:1b:5a:81:23
            Frequency             5745
            Security              WPA2-Personal
            RSSI                  -72 dBm
            AverageRSSI           -71 dBm
            RxMode                802.11ac
            RxMCS                 8
            TxMode                802.11ac
            TxMCS                 4
            TxBitrate             175500 Kbit/s
            RxBitrate             351000 Kbit/s

iwctl station wlan0 connect WorkNetwork
journalctl -b

...skipping...
Mar 13 16:17:27 user kernel: wlan0: deauthenticating from c6:44:1b:5a:81:23 by local choice (Reason: 3=DEAUTH_LEAVING)
Mar 13 16:17:27 user systemd-networkd[25974]: wlan0: Lost carrier
Mar 13 16:17:27 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 16:17:27 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 16:17:27 user iwd[866]: CMD_SET_CQM failed: Invalid argument
Mar 13 16:17:27 user kernel: bond0: (slave wlan0): link status definitely down, disabling slave
Mar 13 16:17:27 user kernel: bond0: (slave eno1): making interface the new active one
Mar 13 16:17:27 user kernel: wlan0: authenticate with 96:4b:1c:d9:ff:c3
Mar 13 16:17:28 user kernel: wlan0: send auth to 96:4b:1c:d9:ff:c3 (try 1/3)
Mar 13 16:17:28 user kernel: wlan0: authenticated
Mar 13 16:17:28 user kernel: wlan0: associate with 96:4b:1c:d9:ff:c3 (try 1/3)
Mar 13 16:17:28 user kernel: wlan0: RX AssocResp from 96:4b:1c:d9:ff:c3 (capab=0x511 status=0 aid=1)
Mar 13 16:17:28 user kernel: wlan0: associated
Mar 13 16:17:28 user systemd-networkd[25974]: wlan0: Connected WiFi access point: WorkNetwork (96:4b:1c:d9:ff:c3)
Mar 13 16:17:28 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 16:17:28 user systemd-networkd[25974]: wlan0: Gained carrier
Mar 13 16:17:28 user systemd-networkd[25974]: wlan0: Reconfiguring with /etc/systemd/network/30-bond0-wireless.network.
Mar 13 16:17:28 user kernel: wlan0: deauthenticating from 96:4b:1c:d9:ff:c3 by local choice (Reason: 3=DEAUTH_LEAVING)
Mar 13 16:17:28 user iwd[866]: Received Deauthentication event, reason: 3, from_ap: false
Mar 13 16:17:28 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 16:17:28 user systemd-networkd[25974]: wlan0: Link DOWN
Mar 13 16:17:28 user systemd-networkd[25974]: wlan0: Lost carrier
Mar 13 16:17:28 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 16:17:28 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 16:17:28 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 16:17:28 user systemd-timesyncd[846]: Contacted time server 96.248.124.200:123 (0.arch.pool.ntp.org).
Mar 13 16:17:28 user systemd-networkd[25974]: wlan0: Link UP
Mar 13 16:17:28 user systemd-networkd[25974]: wlan0: Gained carrier
Mar 13 16:17:28 user systemd-networkd[25974]: wlan0: Reconfiguring with /etc/systemd/network/30-bond0-wireless.network.
Mar 13 16:17:28 user iwd[866]: Could not register frame watch type 00d0: -114
Mar 13 16:17:29 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 16:17:29 user systemd-networkd[25974]: wlan0: Link DOWN
Mar 13 16:17:29 user systemd-networkd[25974]: wlan0: Lost carrier
Mar 13 16:17:29 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 16:17:29 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 16:17:29 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 16:17:29 user systemd-timesyncd[846]: Contacted time server 96.248.124.200:123 (0.arch.pool.ntp.org).
Mar 13 16:17:29 user systemd-networkd[25974]: wlan0: Link UP
Mar 13 16:17:29 user systemd-networkd[25974]: wlan0: Gained carrier
Mar 13 16:17:29 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 16:17:29 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 16:17:29 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 16:17:29 user systemd-networkd[25974]: wlan0: Lost carrier
Mar 13 16:17:29 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 16:17:29 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 16:17:29 user systemd-timesyncd[846]: Contacted time server 96.248.124.200:123 (0.arch.pool.ntp.org).
Mar 13 16:17:30 user iwd[866]: Could not register frame watch type 00d0: -114
Mar 13 16:17:30 user iwd[866]: CMD_SET_CQM failed: Invalid argument
Mar 13 16:17:30 user kernel: wlan0: authenticate with c6:44:1b:5a:81:23
Mar 13 16:17:31 user kernel: wlan0: send auth to c6:44:1b:5a:81:23 (try 1/3)
Mar 13 16:17:31 user kernel: wlan0: authenticated
Mar 13 16:17:31 user kernel: wlan0: associate with c6:44:1b:5a:81:23 (try 1/3)
Mar 13 16:17:31 user kernel: wlan0: RX AssocResp from c6:44:1b:5a:81:23 (capab=0x1011 status=0 aid=23)
Mar 13 16:17:31 user systemd-networkd[25974]: wlan0: Connected WiFi access point: HomeNetwork (c6:44:1b:5a:81:23)
Mar 13 16:17:31 user kernel: wlan0: associated
Mar 13 16:17:31 user systemd-timesyncd[846]: Network configuration changed, trying to establish connection.
Mar 13 16:17:31 user kernel: wlan0: Limiting TX power to 30 (30 - 0) dBm as advertised by c6:44:1b:5a:81:23

lspci | grep WiFi

02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8822BE 802.11a/b/g/n/ac WiFi adapter

Last edited by Corrupted (2023-03-14 00:47:09)


If we don't study the mistakes of the future, we're bound to repeat them for the first time.

Offline

#5 2023-03-14 05:47:46

seth
Member
Registered: 2012-09-03
Posts: 58,241

Re: [SOLVED] iwd failing to connect to new network

Match the (B)SSID?
https://wiki.archlinux.org/title/System … (location)

Last edited by seth (2023-03-14 05:47:59)

Online

#6 2023-03-14 16:24:19

Corrupted
Member
Registered: 2021-07-07
Posts: 28

Re: [SOLVED] iwd failing to connect to new network

Oh, interesting. I didn't know you could provide per ssid ( or bssid ) configurations. Does this mean that provided a specific ssid/bssid connection is established, it will load the proper .network file? I'll give that a try.

Worth noting, I disabled iwd and tried connecting between my home and work network using wpa_supplicant:

> select_network 0
OK
<3>CTRL-EVENT-DISCONNECTED bssid=96:4b:1c:d9:ff:c3 reason=3 locally_generated=1
<3>CTRL-EVENT-DSCP-POLICY clear_all
<3>CTRL-EVENT-REGDOM-CHANGE init=CORE type=WORLD
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN
<3>CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN
<3>CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN
<3>CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>SME: Trying to authenticate with c6:44:1b:5a:81:23 (SSID='HomeNetwork' freq=5745 MHz)
<3>Trying to associate with c6:44:1b:5a:81:23 (SSID='HomeNetwork' freq=5745 MHz)
<3>Associated with c6:44:1b:5a:81:23
<3>CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
<3>WPA: Key negotiation completed with c6:44:1b:5a:81:23 [PTK=CCMP GTK=CCMP]
<3>CTRL-EVENT-CONNECTED - Connection to c6:44:1b:5a:81:23 completed [id=0 id_str=]
<3>CTRL-EVENT-DISCONNECTED bssid=c6:44:1b:5a:81:23 reason=3 locally_generated=1
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN
<3>CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN
<3>CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN
<3>CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>SME: Trying to authenticate with c6:44:1b:5a:81:23 (SSID='HomeNetwork' freq=5745 MHz)
> select_network 1
OK
<3>CTRL-EVENT-DISCONNECTED bssid=c6:44:1b:5a:81:23 reason=3 locally_generated=1
<3>CTRL-EVENT-DSCP-POLICY clear_all
<3>CTRL-EVENT-NETWORK-NOT-FOUND
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>SME: Trying to authenticate with 96:4b:1c:d9:ff:c3 (SSID='WorkNetwork' freq=5220 MHz)
<3>Trying to associate with 96:4b:1c:d9:ff:c3 (SSID='WorkNetwork' freq=5220 MHz)
<3>Associated with 96:4b:1c:d9:ff:c3
<3>CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
<3>WPA: Key negotiation completed with 96:4b:1c:d9:ff:c3 [PTK=CCMP GTK=CCMP]
<3>CTRL-EVENT-CONNECTED - Connection to 96:4b:1c:d9:ff:c3 completed [id=1 id_str=]
<3>CTRL-EVENT-DISCONNECTED bssid=96:4b:1c:d9:ff:c3 reason=3 locally_generated=1
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>SME: Trying to authenticate with 2a:3f:0b:d3:14:b5 (SSID='WorkNetwork' freq=2412 MHz)
<3>Trying to associate with 2a:3f:0b:d3:14:b5 (SSID='WorkNetwork' freq=2412 MHz)
<3>Associated with 2a:3f:0b:d3:14:b5
<3>CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
<3>WPA: Key negotiation completed with 2a:3f:0b:d3:14:b5 [PTK=CCMP GTK=CCMP]
<3>CTRL-EVENT-CONNECTED - Connection to 2a:3f:0b:d3:14:b5 completed [id=1 id_str=]
> select_network 0
OK
<3>CTRL-EVENT-DISCONNECTED bssid=2a:3f:0b:d3:14:b5 reason=3 locally_generated=1
<3>CTRL-EVENT-DSCP-POLICY clear_all
<3>CTRL-EVENT-REGDOM-CHANGE init=CORE type=WORLD
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN
<3>CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN
<3>CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN
<3>CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>SME: Trying to authenticate with c6:44:1b:5a:81:23 (SSID='HomeNetwork' freq=5745 MHz)
<3>Trying to associate with c6:44:1b:5a:81:23 (SSID='HomeNetwork' freq=5745 MHz)
<3>Associated with c6:44:1b:5a:81:23
<3>CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
<3>WPA: Key negotiation completed with c6:44:1b:5a:81:23 [PTK=CCMP GTK=CCMP]
<3>CTRL-EVENT-CONNECTED - Connection to c6:44:1b:5a:81:23 completed [id=0 id_str=]
<3>CTRL-EVENT-DISCONNECTED bssid=c6:44:1b:5a:81:23 reason=3 locally_generated=1
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN
<3>CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN
<3>CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN
<3>CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN
<3>CTRL-EVENT-SCAN-RESULTS
<3>WPS-AP-AVAILABLE
<3>SME: Trying to authenticate with c6:44:1b:5a:81:23 (SSID='HomeNetwork' freq=5745 MHz)
<3>Trying to associate with c6:44:1b:5a:81:23 (SSID='HomeNetwork' freq=5745 MHz

It looks like it's having a similar issue to iwd but it's handling it better. It's disconnecting from the old bssid, connecting to the new bssid, for some reason disconnecting from the new bssid then reconnecting to it again at which point it stays connected. I don't know why it's doing that. It looks like systemd-networkd is taking the wlp2s0 interface  down in the middle of connecting then bringing it back up but it's not entirely obvious to me why it would do that. I'll try the bssid match and see if that helps at all.

Last edited by Corrupted (2023-03-14 16:26:05)


If we don't study the mistakes of the future, we're bound to repeat them for the first time.

Offline

#7 2023-03-14 16:39:50

seth
Member
Registered: 2012-09-03
Posts: 58,241

Re: [SOLVED] iwd failing to connect to new network

Does this mean that provided a specific ssid/bssid connection is established, it will load the proper .network file?

Ideally, yes.
It also would be crazy if you had to restart networkd everytime you want to connect to a different AP - if there was seriously no other option, you'd best look for a different manager.
And w/o the "vountary" disconnects your original issue will hopefully vanish as well.

If not, post an updated log.

Online

#8 2023-03-14 18:33:57

Corrupted
Member
Registered: 2021-07-07
Posts: 28

Re: [SOLVED] iwd failing to connect to new network

seth wrote:

Does this mean that provided a specific ssid/bssid connection is established, it will load the proper .network file?

And w/o the "vountary" disconnects your original issue will hopefully vanish as well.

This appears to work. I wiped my bond configuration since matching BSSID/SSID on the bond0 interface didn't work ( which makes sense ) and I wasn't able to divine how or if you could load a separate bond0 configuration on bssid changes. I'll take a look through the manpage this weekend and see if maybe that's possible. Additionally I needed to change the ActivationPolicy for wired to down to prevent my system from trying to run everything through wired. Perhaps that is unnecessary. Again, I'll take a look through systemd.network this weekend and see if there is a better solution. For the time being though matching on wlan/bssid appears to have fixed the "Voluntary" disconnect issue with iwd and wpa_supplicant. Thanks for the help. I'm still not quite sure what caused the previous configuration to break but it seems the way I was switching networks was suboptimal anyways.

Last edited by Corrupted (2023-03-14 18:41:08)


If we don't study the mistakes of the future, we're bound to repeat them for the first time.

Offline

Board footer

Powered by FluxBB