Re: 2.6.29-rc8: Reported regressions from 2.6.28
From: Johannes Berg
Date: Fri Mar 20 2009 - 04:34:26 EST
On Fri, 2009-03-20 at 12:55 +0800, Jeff Chua wrote:
> >> # this needs patch to work ...
> >> iwconfig wlan0 mode Managed
> >> ifconfig wlan0 up
> >> iwconfig wlan0 essid xxx
> >> iwconfig wlan0 key restricted xxx
> >> iwconfig wlan0 ap auto channel auto
> >
> > If you swap the key and essid lines, it will probably always work. But
> > I've yet to analyse your data to see why it doesn't in the other case.
>
> Doesn't. Taking away "hiwconfig wlan0 ap auto channel auto" makes it works.
That's a little weird, but not entirely, you probably manage to cut it
short in the middle of the assoc process when issuing the auto command.
> It seems position of "ifconfig wlan0 up" matters
>
> 1) It can't be before iwconfig which will result in "SET failed on
> device wlan0 ; Device or resource busy".
>
> 2) _Before_ "essid" and "key" settings. "ap auto channel auto" MUST
> NOT BE SET.
>
> 3) _After_ "essid" and "key". Ensure all iwconfig settings comes
> before "ifconfig".
>
>
> So, it seems "ifconfig" must be done as the last stage.
This, however, is completely strange. You should always set the
interface up before doing anything with it. wext allows you to do it the
other way around, but that's not quite natural since without it being up
you cannot even scan.
However, -EBUSY isn't returned anywhere in mac80211, and I don't see the
driver passing it out either. So your point 1) confuses me. Can you
explain that a little more?
As for 2), that is very very strange since ap auto channel auto is the
default, so saying that before you do anything else should do anything
at all.
I suspect something is going on in the driver because the ifconfig order
matters and for mac80211, it shouldn't make a difference when the state
machine is really started. I'll probably need to try to reproduce this,
but to be honest between the varying failure modes, undefined wireless
extensions semantics, etc. I'm not very confident I can.
johannes
Attachment:
signature.asc
Description: This is a digitally signed message part