Hi Keith,
On 10/14/20 6:52 PM, KeithG wrote:
I have been struggling with this problem for a while and *think* I
have narrowed
it down to an Arch Linux problem. My main focus is to get iwd/connman to work on
my RPis as iwd connects so much faster when it works. Current versions on Arch
Linux are Connman = 1.38 and iwd = 1.9. The kernel I'm running is 5.4.70.
It does not behave absolutely consistently but there are themes. If I have
connman managing the connections, when the SSID goes away, iwd stops scanning.
This is very consistent. It does it first time every time. SSID goes down, it
disconnects and sits there. On Arch Linux, it does not seem to be dependent on
card (broadcom/intel) or hardware (x86_64,armv6/armv7/aarch64). iwd quits
scanning when the SSID goes away. The monitor-iwd script shows 'Scanning =
False' and it never rescans.
Connman invokes Station.Disconnect() which tells iwd to also not enter into its
own Autoconnect phase. I think the idea is for ConnMan to scan periodically,
but I guess it doesn't do this for whatever reason.
When I use systemd-networkd with iwd, I get better behavior, but it
can also get
to a point where it quits scanning. This happens after a few times of turning
off then on the AP on the router. When it quits scanning, monitor-iwd says
"Scanning = False" and it never rescans. The last time I ran it, the
monitor-iwd
script says Scanning = True then immediately Scanning = False but nothing was
scanned. It did this 13 times but never 'saw' anything nor connected. If I down
then up the interface (ifconfig wlan0 down; ifconfig wlan0 up), it immediately
connects. I now have a script that runs when the interface goes down to do this
(down/up), but shouldn't iwd eventually reconnect?
We would need to see iwd debug logs and iwmon logs to say much more...
https://iwd.wiki.kernel.org/debugging
This contrasts with the same computer running RasPiOS. It is running the same
kernel and the same broadcom firmware (I updated both to be identical) connman
is 1.36 and iwd is 0.14, but it works every time all the time. I cannot get it
to not reconnect. In fact it connects faster than the web page for the router
registers it.
I built iwd 0.14 and connman 1.36 for the Arch install and it behaves the same
as iwd 1.9 or the iwd git master build. It just quits.
What underlying OS issues could cause this? I have built the kernel with the
same config options for both installations with the same computer doing the
building. Both installations are using the same kernel, firmware and driver
version (built with the kernel).
Hard to say without logs...
Regards,
-Denis