I'm seeing some unwanted behaviour from NetworkManager in conjunction with iwd: If iwd starts after NetworkManager (as might and did happen on a freshly installed, fast laptop), the latter won't pick up the wifi networks iwd finds. Restarting NetworkManager fixes this, and a workaround to avoid it happening in the first place is adding the line 'before net' to the depend() function in '/etc/init.d/iwd'.
I'm working with upstream on this as we speak to find out why this ordering matters, there may be a bug in iwd or NM itself. This is happening on systemd boot as well.
Any progress? I know that iwd is not yet widely used, but would be nice to have it working without restarting NM everytime.
also, still present in
Bug seems to have been resolved upstream as of openrc-0.42.1 + networkmanager-1.16.0 + iwd-0.18
Starting with version 0.18 iwd is actively managing network interfaces. It will destroy the wireless interfaces detected by (e)udev, and create new ones. The new ones do not comply to predictable network interface naming convention, but will have an 'old fashioned' kernel name like wlan0. See for details here: https://iwd.wiki.kernel.org/interface_lifecycle.
I could imagine that if NetworkManager starts before iwd, that it will detect an interface named wlp2s0, but then when iwd starts wlp2s0 will be destroyed and a new one called wlan0 will be created.
There seems to commandline and configuration options to prevent iwd from doing this, but I have not got that working.