One of the most annoying issues I’ve had with linux sleep was how long it was taking for the network to come back.

Well, it turns out that the bulk of my issues came from using iwd and dhcpcd together.

iwd reconnects, then dhcpcd has to realize that and ask for a new ip.

The solution was surprisingly simple:

  • disable dhcpcd
  • enable iwd’s internal dhcp client
$ cat /etc/iwd/main.conf
[General]
EnableNetworkConfiguration=true

Problem solved. It’s not always instant, but it’s usually close.