You may need to remove wpa_supplicant. I have it removed from my images.

On Sat, Aug 29, 2020, 12:20 Patrick Häcker <> wrote:
Hi Keith,

thanks for answering, I really appreciate it.

> I run iwd on RPi, but I am using Arch Linux. I've never tried it with
> RaspiOS. Works pretty well, though I am having a re-connect issue that we
> are trying to debug.
Knowing that, it's likely, that it's a problem due to the Raspbian
configuration or the specific iwd / network environment combination.

> My guess is that you compiled the kernel to remove this message in the log:
> Aug 23 22:52:24 rune64 iwd[235]: No Diffie-Hellman support found, WPS will
> not be available
> Aug 23 22:52:24 rune64 iwd[235]: The following options are missing in the
> kernel:
> Aug 23 22:52:24 rune64 iwd[235]:         CONFIG_KEY_DH_OPERATIONS
> This is harmless and I have no problems connecting with this notification.
> I think it means I cannot use WPS which I do not.
Yes exactly, I had this message, and although I do not use WPS I thought it
would be worth a try. But whether that option is included in the kernel or not
does not make a difference.

> Are you trying to connect using the iwctl commands?
> iwctl station wlan0 scan
> iwctl station wlan0 get-networks
> iwctl station wlan0 connect 'Network_Name"
> It should return with
> Type the network passphrase for "Network_Name" psk.
> Passphrase: ********
Yes, these were my first tests. However, few seconds after entering the
Passphrase I always get a red "Operation failed".
Therefore, I manually created correct psk files in /var/lib/iwd (I know they
are correct, as they work on another computer in the same network). However
that was not successful (but I used this configuration for creating the debug
output, as it's simpler not having to type the password).

> or are you using connman to manage iwd?
No I am testing iwd directly. Currently I let systemd-networkd manage the
network interface. But without being connected with iwd this obviously fails
(however it works when using wpa_supplicant).

> Do you have an /etc/iwd/main.conf? If so, what is in it?
No, I am not using a config file.

> I assume you have enabled and started iwd.
In general yes, but for testing I sometimes disable it in systemd and start it
manually. But neither mode works.

I created an strace, but it didn't enlighten me. The bad file descriptor does
not look good, but is probably due to the deauthentication event and not the
other way round.
> recvmsg(5, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base=
>     "D\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\3\0\0\0\3\20\0\0\0\0\0\0"...,
>     iov_len=4096}], msg_iovlen=1, msg_control=[{cmsg_len=16,
>     cmsg_level=SOL_NETLINK, cmsg_type=0x3}], msg_controllen=16, msg_flags=0},
>     0) = 68
> recvmsg(4, {msg_name=NULL, msg_namelen=0,  msg_iov=[{iov_base=
>    "0\0\0\0\27\0\0\0\0\0\0\0\0\0\0\0000\1\0\0\10\0\1\0\0\0\0\0\10\0\3\0"...,
>     iov_len=8192}], msg_iovlen=1, msg_control=[{cmsg_len=16,
>     cmsg_level=SOL_NETLINK, cmsg_type=0x3}], msg_controllen=16, msg_flags=0},
> 0) = 48
> write(2, "Received Deauthentication event,"..., 59) = 59
> close(12)                               = 0
> epoll_ctl(3, EPOLL_CTL_DEL, 12, NULL)   = -1 EBADF (Bad file descriptor)

Any more ideas how to debug this, anyone?  Is it possible to run an Arch
kernel on a Raspbian?

Kind regards