Re: Network drivers that don't suspend on interface down

From: Daniel Drake
Date: Wed Dec 20 2006 - 21:29:53 EST


Matthew Garrett wrote:
Veering off at something of a tangent - how much of this should be true for wireless devices? Softmac seems to be unhappy about setting the essid unless the card is up, which breaks various assumptions...

You might regard that as a bug - I agree it probably makes sense for you to be able to set certain configuration variables before the interface is up, within reason.

However, the mentality adopted by most wireless drivers is the SIWESSID wireless extension ioctl means *associate*, something which obviously shouldn't be possible when the interface is down (radio off, etc).

While you might blame drivers for this possible misinterpretation, it can also be viewed as a design flaw in WE: the drivers have to handle the ioctl's directly, meaning that if you want some kind of configuration management then you have to do it on the driver level, and this doesn't feel right.

The situation is also made worse due to WE generally being hard to implement, and also the lack of documentation (really the only source here is the iwconfig man page).

This screams out for an 802.11-centric configuration system, and it looks like we have one on the way: cfg80211
From reading some mails, it looks like the drivers will simply have to provide functions for "associate", "scan", etc, and the configuration management will be offloaded to the upper layers.

For the time being, I suggest you bring the interface up before setting the configuration. Regardless of the inconsistency of the current situation, and lack documentation saying which way it should be done, you are at least playing it safe and guaranteeing it works on all drivers.

Daniel
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/