udev/systemd persistent mac addresses interfere with P2P operation

Benjamin Berg benjamin at sipsolutions.net
Tue Sep 24 11:00:43 PDT 2019


I was looking into some test failures we were seeing recently for the
NetworkManager P2P tests. As it turns out, these tests fail because
there is a mismatch in the BSSID that the P2P client expects from the

The reason for this mismatch is that udev changes the MAC address of
the p2p device that wpa_supplicant creates when it becomes group owner.
wpa_supplicant reports the MAC as assigned by the kernel, then udev
modifies it. At that point we have a mismatch between the MAC that the
GO is operating on and the one that was reported to the client earlier
and the client ends up ignoring all probe responses.

I have opened an upstream systemd issue about this
and it seems like they are saying that wpa_supplicant should make sure
it waits for udev to be done. I guess this would require that
wpa_supplicant uses libudev to wait for the ADD event from udev before
trying to do anything with the newly created interface.

Any thoughts? Should wpa_supplicant be fixed to wait for udev?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://lists.infradead.org/pipermail/hostap/attachments/20190924/3bfc2966/attachment.sig>

More information about the Hostap mailing list