Hi Jason,
> Here you have. For some reason is not getting an IP:
>
<snip>
> iwd[11413]: src/station.c:station_connect_cb() 6, result: 0
> iwd[11413]: src/station.c:station_connect_ok()
Yep, so we connect OK, start DHCP
> iwd[11413]: [DHCPv4] dhcp_client_send_discover:346
> iwd[11413]: [DHCPv4] l_dhcp_client_start:1174 Entering state: DHCP_STATE_SELECTING
> iwd[11413]: src/netconfig.c:netconfig_ipv6_select_and_install() IPV6 configuration
disabled
> iwd[11413]: src/wiphy.c:wiphy_radio_work_done() Work item 2 done
> iwd[11413]: src/netdev.c:netdev_link_notify() event 16 on ifindex 6
> iwd[11413]: src/netdev.c:netdev_mlme_notify() MLME notification Frame TX Status(60)
> iwd[11413]: [DHCPv4] dhcp_client_timeout_resend:526
> iwd[11413]: [DHCPv4] dhcp_client_send_discover:346
> iwd[11413]: src/station.c:station_early_neighbor_report_cb() ifindex: 6, error:
-110(Connection timed out)
> iwd[11413]: [DHCPv4] dhcp_client_timeout_resend:526
> iwd[11413]: [DHCPv4] dhcp_client_send_discover:346
> iwd[11413]: [DHCPv4] dhcp_client_timeout_resend:526
> iwd[11413]: [DHCPv4] dhcp_client_send_discover:346
>
But nothing gets received from the DHCP server. I'm a bit stumped since we
haven't touched anything related to dhcp between 1.17 and 1.18. We started
sending the DHCP rapid commit option in iwd 1.17, so maybe that is why your
server is ignoring us?
Does starting dhcpcd or something while iwd is in this 'connecting' state obtain
an IP?
> I think is relevant to the bug that I'm using this unit to start iwd.service:
>
> # /usr/lib/systemd/system/iwd.service
> [Unit]
> Description=Wireless service
> After=network-pre.target
> Before=network.target
> Wants=network.target
>
> [Service]
> Type=dbus
> BusName=net.connman.iwd
> ExecStart=/usr/lib/iwd/iwd
> NotifyAccess=main
> LimitNPROC=1
> Restart=on-failure
> CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_RAW CAP_NET_BIND_SERVICE
> PrivateTmp=true
> NoNewPrivileges=true
> DevicePolicy=closed
> DeviceAllow=/dev/rfkill rw
> ProtectHome=yes
> ProtectSystem=strict
> ProtectControlGroups=yes
> ProtectKernelModules=yes
> ConfigurationDirectory=iwd
> StateDirectory=iwd
> StateDirectoryMode=0700
>
> [Install]
> WantedBy=multi-user.target
>
> # /etc/systemd/system/iwd.service.d/override.conf
> [Service]
> RuntimeDirectory=resolvconf
> ReadWritePaths=/etc/resolv.conf
>
> I remeber adding the override part few months ago due to another bug [1]. For some
reason, forcing a disconnect/connect with iwctl doesn't hit the same problem.
But we're not even getting this far to even invoke resolvconf...
Any chance you can run a git bisect or otherwise narrow down what earlier
version of iwd was working properly at boot?
Regards,
-Denis
Well, I've discovered how to trigger the problem in my scenario. It's all related
with setting AddressRandomization to 'network'. The other two possible values
'disabled' (default) and 'once' both work fine.
Previous version 1.17 didn't show this behaviour. Anyway, I'm happy with
'once' since I no longer have specific settings by MAC in the router.
For the record, this configuration was working until version 1.17 included:
[General]
EnableNetworkConfiguration=true
AddressRandomization=network
[Network]
NameResolvingService=resolvconf