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

Thomas Richter thor at math.tu-berlin.de
Mon Mar 16 03:01:32 PDT 2015


Am 16.03.2015 um 10:53 schrieb Tom Gundersen:
> On Mon, Mar 16, 2015 at 10:34 AM, Thomas Richter <thor at math.tu-berlin.de> wrote:
>> The laptop in question had a ipw2200 card installed, which was
>> configured by udev as wlan0 (obviously). This card got replaced
>> (basically, due to another bug in ipw2200 which is unrelated to udev),
>> and "obviously" udev picked a new name for the adapter, which now became
>> wlan1. Unfortunately, udev *did not* change the name of the raw radio
>> (wifi0), which should have become wifi1 to make wpa_supplicant happy.
> 
> udev would never pick the names wlan0 or wlan1 automatically, this is
> not how it (ever) worked. wlan0 and wlan1 are the sort of names the
> kernel sets, and at most udev (in very old versions) might have tried
> to remember these names between reboots and reapply them. This scheme
> is no longer in place though, so unless your distro is shipping some
> non-standard stuff or you have some old rule files lying around in
> /etc/udev/rules.d you should not be affected by that (and even if you
> are, I don't see how this would cause your current problem).
> 
> Are you sure that udev is even renaming your devices at all? Booting
> with debug logging will tell you. You should see "Renamed network
> interface 'foo' to 'bar'" in your logs.

Yup, I'm exactly seeing this message. "Renamed interface wlan0 to
wlan1". I'll go back to you tonight with the precise wording, but
that's pretty much the same kind of message you describe.

Yes, of course the old "rules" file from the ipw2200 installation date
was still in place when I installed the prism2 card. It had (obviously)
the wlan0 assigned to the now (no longer available) ipw2200.

Again, if I edit the /etc/rules.d/70-persistent-net.rules file, and
throw out the ipw adapter and the udev rule for hostap there, and let
udev recreate it, everything is fine, but how would average Joe User
would possibly get to this point?

In the end, the problem is really that wpa_supplicant seems to expect a
naming convention (so it seems) between wifi and wlan, and udev does not
respect this.

Is this a wpa_supplicant bug or a udev bug? I don't know, but at least
it's a completely frustrating problem that costed me one sleepless night.

Greetings,
	Thomas



More information about the systemd-devel mailing list