On Wed, Oct 7, 2020 at 1:15 AM Daniel Wagner <wagi(a)monom.org> wrote:
On Tue, Oct 06, 2020 at 09:01:54AM -0500, KeithG wrote:
> As I see it, there are still 3 strange things going on:
> 1) the latest git will not grab an ipv4 address. I will revert that
> and try this again. Probably have time later this week.
Yes, please. It's the only commit which modified anything around DHCP.
> 2) the IPv6 online check still always fails (though it has a valid ipv4
> ipv6 address) I can connect to ipv6 addresses via ping/curl/wget and I
> connect to it via ssh with its ipv6 address. I currently disable the
> check and the link shows as AR and not AO.
I've still not setup an IPv6 network for testing, thus it's hard to test.
> 3) (most confounding) I am using a setting for wpa_supplicant which seems
> to work to get iwd to reconnect when the router goes down then back up.
> This setting is supposed to only work with wpa_supplicant. I am leery of
> calling this 'fixed' on my end as it is not supposed to work.
Are you referring to BackgroundScanning? This doesn't do anything for
iwd. There is literally no code in ConnMan's core nor in the iwd plugin
looking at this variable.
> On this, I wonder if it would reconnect if connman actually forced the
> config setting to AutoConnect=true. Currently when connman is controlling
> iwd, the iwd config looks like this:
> I cannot edit the AutoConnect to be 'true' because connman is controlling
> it and resets it every time I try to edit it. But, without the
> BacgroundScan setting in main.conf, iwd never gets a trigger to scan
> it has lost the connection and, therefore will never reconnect when the
> SSID reappears. When I use systemd-networkd and iwd, I can edit this iwd
> setting to true and it always reconnects. wpa_supplicant is not
As I explained, ConnMan is disabling iwd's AutoConnect. When to connect
to a network is ConnMan's decision not iwd.
ConnMan doesn't need to tell iwd when to scan. The BackgroundScanning
knob was added to ConnMan because wpa_supplicant is only doing have of
the job. Please have a look at one of Marcel Holtmann's iwd
I appreciate the link. Interesting.
It appeared to me that flag set them to always connect, but it was more
complicated than that and part of that was my impatience. I think I was
just not waiting long enough for it to scan.
I have made things really simple and have set up a spare router so I do not
upset the family. I have a keyboard and a small display connected to the
rpi so I can interact with it directly and tail the log. I am running the
latest connman-git r23 with the dhcp patch reverted (so it grabs an ipv4
address) and iwd 1.9
main.conf only has
AllowHostnameUpdates = false
connman.service exec line is:
ExecStart=/usr/bin/connmand -n --nodnsproxy -d plugins/iwd.c
If I boot it always connects. If I power down the radio on the router it
will reconnect eventually.
I did notice one time I got a 'Service state machine inconsistency
detected' but it did reconnect after this error.
If I turn off the radio on the router then back on, I get a lag ~4 minutes
before it rescans. It will re-scan and re-connects. I did this again and it
took 13 minutes. I did it again and it took ~14 minutes. It seems like it
is on a schedule to trigger the scan at ~15 minutes? The 14+ minute wait
for a rescan seems like a long time to me. Then I did it again and it was
almost immediate. Is there any way to control this? My phone rescans almost
immediately every time and reconnects.