I have been trying to diagnose a problem I am having with my RPis. I am using iwd and connman to manage my ethernet connectivity. What I have noticed is that after a while, sometimes, connectivity stops and I cannot reconnect except after a reboot. I have seen this on RPi3's more so than with RPi1/2. I have only noticed it with wlan0 and not with ethernet.

From the journal, it looks like the network goes down (wlan0), connman quickly notes it is down and pulls the ip address and sets the interface down and then avahi identifies that it is down. It is interesting that sometime before this, the ipv4 address was withdrawn. I am running an openWRT router (other side of the DHCP equation) and this RPI MAC has a reserved ipv4 address on the router.

If I restart connman on the RPi, it will not regain connectivity on ipv4 or ipv6 on wlan0. If I reboot the router and then restart connman on the RPi, it will not regain connectivity. I have to power cycle the RPI to get it to connect again. If I plug in the ethernet cable, it grabs an address immediately and everything is back, but it will still not reconnect over wifi. I must reboot the RPi to get it to reconnect. I will see if I can figure out how to have journal log more info on connman...

Any idea what this could be? I will flash the router with ddwrt and see if it is the router.

In my /etc/connman/main.conf, I have this:
[General]
FallbackNameservers = 8.8.8.8,8.8.4.4
DefaultAutoConnectTechnologies = ethernet,wifi
PreferredTechnologies = ethernet,wifi
AllowHostnameUpdates = false
SingleConnectedTechnology = true
AlwaysConnectedTechnologies = ethernet,wifi
AutoConnectRoamingServices = true

The journal shows this:
Jun 20 18:02:19 rune64 kernel: nfs: server 192.168.2.198 not responding, timed out
Jun 20 18:02:20 rune64 systemd[1]: dbus-org.freedesktop.timedate1.service: Succeeded.
Jun 20 18:02:35 rune64 kernel: nfs: server 192.168.2.198 not responding, timed out
Jun 20 18:02:39 rune64 kernel: nfs: server 192.168.2.198 not responding, timed out
... lots of these 'not responding'...
Jun 20 18:07:54 rune64 kernel: nfs: server 192.168.2.198 not responding, timed out
Jun 20 18:07:55 rune64 avahi-daemon[6529]: Withdrawing address record for 2601:241:4200:255:ba27:ebff:fe52:ccd0 on wlan0.
Jun 20 18:07:55 rune64 connmand[259]: wlan0 {del} address 2601:241:4200:255:ba27:ebff:fe52:ccd0/64 label (null)
Jun 20 18:07:55 rune64 avahi-daemon[6529]: Leaving mDNS multicast group on interface wlan0.IPv6 with address 2601:241:4200:255:ba27:ebff:fe52:ccd0.
Jun 20 18:07:55 rune64 avahi-daemon[6529]: Joining mDNS multicast group on interface wlan0.IPv6 with address fdcb:9d61:70f3:0:ba27:ebff:fe52:ccd0.
Jun 20 18:07:57 rune64 kernel: nfs: server 192.168.2.198 not responding, timed out
Jun 20 18:08:10 rune64 kernel: nfs: server 192.168.2.198 not responding, timed out
Jun 20 18:08:13 rune64 kernel: nfs: server 192.168.2.198 not responding, timed out
Jun 20 18:08:14 rune64 connmand[259]: wlan0 {del} route 2601:241:4200:255:: gw :: scope 0 <UNIVERSE>