[systemd-devel] udev breaks hostap linkage of raw/user interfaces, causing wpa_supplicant problems

Tom Gundersen teg at jklm.no
Mon Mar 16 02:28:31 PDT 2015


On Mon, Mar 16, 2015 at 8:26 AM, Thomas Richter <thor at math.tu-berlin.de> wrote:
> Hi folks,
>
>> udev seems to create a problem here with the hostap (prism2) kernel
>> driver. Unlike many wifi devices, the hostap device driver always
>> creates paired interfaces, a raw interface (wifiX) and a network
>> interface (wlanX) that represents the configured network.
>>
>> Unfortunately, udev (or hostap?) does not seem to be aware of this
>> linkage, and hence, if you have two wifi radios in your system, may
>> rename the second (wlanX) without the first (wifiX), and hence causing a
>> name mismatch between the two.
>>
>> In general, this is not a problem, however, wpa_supplicant seems to
>> depend on the linkage of the names. Hence, if wifiX does not match
>> wlanX, wpa_supplicant will be unable to provide a WPA2 connection over a
>> hostap driven wifi connection.
>>
>> Even worse, the complete procedure is completely untransparent to the
>> user, i.e. neither wpa_supplicant (nor network-manager, depending on
>> wpa_supplicant) nor network-manager provide a useful error message.
>>
>> Any chance of fixing this problem? Is this "only" a configuration issue?
>> Is this an issue of hostap? Is this an issue of wpa_supplicant?
>>
>> Either way, it took me several hours of figuring out what was wrong....

Thanks for the report. This reminds me that I need to resubmit the
kernel patch which (probably) would fix this for you.

In the meantime you can (in recent systemd versions) create a new file
/etc/systemd/network/prism.link file with a [Match] section that
matches your device(s). If you leave NamePolicy= unset in your new
file, the interface name will not be changed. See systemd.link(5) for
details on how to match .link files to network devices.

Cheers,

Tom


More information about the systemd-devel mailing list