[systemd-devel] udev breaks hostap linkage of raw/user interfaces, causing wpa_supplicant problems
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.
More information about the systemd-devel