I am trying to figure this out, still. Connman has been recently modified
so that it allows iwd to scan and reconnect. I have built and installed the
latest git of connman and am using iwd 1.10 on Arch linux. I have been able
to confirm that this mod to connman seems to work on my Arch installs on
x86 with an Intel wireless AC 7260 card and also a Broadcom brcmsmac. On
the Rpi, though, I am still struggling and am looking for any information
that may help resolve it for the RPi. I am guessing that there may be a
driver issue or something else going on. To that end, I have updated the
driver on the RPi to use the latest brcmfmac driver from cypress
(20200925). Built and installed this driver, so it is as up to date as I
can get. This patched driver supposedly supports wpa3 as well though I have
not yet evaluated that. This driver behaves identically to the older
version on RPi with respect to reconnecting when the SSID radio is
restarted.
When I allow iwd to manage the network configuration and reboot the router
or restart the radio on the router, iwd reconnects almost immediately as
soon as the SSID is visible. If I allow connman to manage it, a reboot of
the router will some (many?) times allow a reconnect. If I restart the
radio on the router, though, it will never reconnect. Looking at the logs
of iwd, it does continue scanning and it does see the SSID I use, but it
never triggers connman to reconnect. If I restart iwd in this state, it
reconnects immediately. I am trying to figure out what is the difference
between the 2 modes: 'router reboot' versus 'radio restart'. I would
think
they would appear the same to iwd, but am not certain as the RPi behaves
differently.
There are 2 attached logs from My RPi 3b+ running kernel 5.4.83 with the
latest brcmfmac driver. .
iwd_connman_restart.txt log shows the logs of iwd and connman from boot to
a radio restart and then restarting iwd. I restart the radio and iwd tells
connman that it is disconnected at 11:40:18. Connman then deletes the
addresses and routes and triggers iwd to scan. iwd then scans and finds my
SSID (spg3) many times but never tells connman to reconnect. I then restart
iwd at 11:42:51 and at 11:42:52, I get a "network_connect" event and it
connects. This only happens after I restart iwd even though it scanned and
found my spg3 SSID many times. On the x86 with either of the 2 wifi cards I
have here, it seems to reconnect with this same scenario. On the x86
machines, it gets a station_autoconnect_next after the first scan when it
sees the SSID and tells connman to connect.
iwd_restart.txt shows a similar scenario where I restart the radio, but it
reconnects.
I restart the radio at 11:48:46 and it deletes the address and starts
scanning. At 11:49:47, it gets 'station_autoconnect_next' and initiates a
connection and is connected with routes at 11:49:47.
Show replies by date