Re: systemd-networkd MAC address randomization stops working when iwd restarts

James Prestwood <[email protected]> Mon, 23 Feb 2026 08:57:07 -0800
Newsgroups dev.linux.lists.iwd
Message-ID <[email protected]>
Hi,

On 2/23/26 8:43 AM, Roman Žilka wrote:
> James,
>
> On Mon, Feb 23, 2026 at 2:36 PM James Prestwood <[email protected]> wrote:
>> Looks like the issue is in the configuration. IWD removes/creates a new
>> fresh interface on startup, which conflicts with how you want to use
>> randomization with systemd. If you want systemd to manage the interface
>> you need to tell IWD to use the interface systemd/udev creates by using
>> this option in main.conf:
>>
>> [DriverQuirks]
>> DefaultInterface=<driver>
> thank you, that fixed it. It has no bad side effects, does it?
>
> I have to say, the situation still looks like a bug. Having systemd
> manage the interface and using iwd for 802.11 is a supported
> configuration, I assume, so iwd shouldn't collide with systemd
> components then. Also, I would never think of looking at
> DefaultInterface: there is no driver quirk, the name sounds unrelated
> to the issue and I actually don't understand the terse description
> (what is a default interface?).

Having IWD manage the interface was a design decision made since IWD's 
inception. But there has always been a way to use the interface the 
system creates via "default interface" options. So yes this is a 
supported configuration.

I'll admit, the use of [DriverQuirks].DefaultInterface in this context 
isn't typical. The reason for this option in the first place was because 
some drivers didn't support removing the default interface, or at the 
very least would cause issues. brcmfmac is one example. In you're case 
the driver itself supports interface removal/addition but you're trying 
to also have systemd manage the interface when IWD expects to manage it. 
There's no other way to tell IWD this situation except this DriveQuirks 
option.

In case I wasn't clear a "default interface" is the network interface 
that the kernel/driver creates during initialization.

Thanks,

James

>
> Cheers,
> Roman
>