FS#61367 - [iwd] iwd prevents wifi interface from being renamed

Attached to Project: Community Packages
Opened by Damien R. (dkc) - Saturday, 12 January 2019, 17:56 GMT
Last edited by Christian Rebischke (Shibumi) - Thursday, 16 May 2019, 14:08 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Christian Rebischke (Shibumi)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

Systemd uses some udev rules to rename network interfaces with deterministic names. For instance on my laptop, wlan0 is renamed wlp2s0.

When iwd is installed, the rename may or may not happen, depending on when iwd starts. Two cases here:
- iwd starts after rename, everything is fine
- iwd starts before the rename, rename fails with following error:

systemd-udevd[527]: wlan0: Failed to rename network interface 3 from 'wlan0' to 'wlp2s0': Device or resource busy

As a consequence, other services waiting for the specific wlp2s0 interface to show up may not be trigger (like systemd.network files). So we need to make sure iwd starts after the rename. My custom and local override for that is as follow:

/etc/systemd/system/iwd.service.d/override.conf :
-------------------------------------------------
[Unit]
BindsTo=sys-subsystem-net-devices-wlp2s0.device
After=sys-subsystem-net-devices-wlp2s0.device
-------------------------------------------------

That seems to solve the problem. This can easily be transformed into a generic solution using a iwd@.service and the %i placeholder, but I'm not sure this is the best possible fix.


Steps to reproduce:
- configure iwd service to start before systemd-udevd. This requires a reboot.
This task depends upon

Closed by  Christian Rebischke (Shibumi)
Thursday, 16 May 2019, 14:08 GMT
Reason for closing:  Fixed
Additional comments about closing:  The interface race is fixed with iwd version 0.18. IWD will from now on delete the current wifi device and recreate a `wlan0` device with ownership of the device. See also: https://iwd.wiki.kernel.org/interface_li fecycle
Comment by Michel Koss (MichelKoss1) - Saturday, 12 January 2019, 20:27 GMT
You should report it upstream, perhaps on mailing-list https://lists.01.org/pipermail/iwd/
Comment by Damien R. (dkc) - Sunday, 13 January 2019, 18:45 GMT Comment by Christian Rebischke (Shibumi) - Thursday, 21 March 2019, 19:46 GMT
Hi everybody,
I am the iwd maintainer and I have adopted this bug ticket for now. Let me forward this bug to the IWD devs
Comment by Christian Rebischke (Shibumi) - Thursday, 21 March 2019, 22:41 GMT

Loading...