2011-01-07 11:48:07

by Juuso Oikarinen

[permalink] [raw]
Subject: Hidden SSID and WLAN powersave

Hi,

I stumbled upon a PSM issue when a hidden SSID is used. It seems that
mac80211 is not going to power-save mode with hidden SSID AP's at all.

As far as I can see the following happens:

- When generally scanning, the AP is getting a bss entry with a zero
SSID.
- When associating, a probe-req is sent to the AP with the SSID, and as
result a probe-response is received with the hidden SSID in place -> a
second bss entry is created for the AP, now with the real SSID.
- After association, mac80211 executes ieee80211_recalc_ps(), but does
not go to powersave because the beacon-ies are missing.
- A new beacon is received for the BSSID, but it updates the bss entry
with the zero SSID, ieee80211_recalc_ps() gets called, but for the
associated bss entry the beacon-ies are still missing.

As result, the STA does not ever enter WLAN PSM.

Anyone stumbled on this issue?

-Juuso



2011-01-04 11:01:06

by Juuso Oikarinen

[permalink] [raw]
Subject: Re: Hidden SSID and WLAN powersave

On Tue, 2011-01-04 at 11:47 +0100, ext Johannes Berg wrote:
> On Tue, 2011-01-04 at 12:26 +0200, Juuso Oikarinen wrote:
> > Hi,
> >
> > I stumbled upon a PSM issue when a hidden SSID is used. It seems that
> > mac80211 is not going to power-save mode with hidden SSID AP's at all.
> >
> > As far as I can see the following happens:
> >
> > - When generally scanning, the AP is getting a bss entry with a zero
> > SSID.
> > - When associating, a probe-req is sent to the AP with the SSID, and as
> > result a probe-response is received with the hidden SSID in place -> a
> > second bss entry is created for the AP, now with the real SSID.
> > - After association, mac80211 executes ieee80211_recalc_ps(), but does
> > not go to powersave because the beacon-ies are missing.
> > - A new beacon is received for the BSSID, but it updates the bss entry
> > with the zero SSID, ieee80211_recalc_ps() gets called, but for the
> > associated bss entry the beacon-ies are still missing.
> >
> > As result, the STA does not ever enter WLAN PSM.
> >
> > Anyone stumbled on this issue?
>
> I haven't come across it, but we don't test hidden SSIDs much ...
> sounds perfectly logical.

I would fix this, but I'm afraid I don't know enough about the mac80211
to make a valid decision on how to go about that.

For PSM, this is an issue about the TIM IE, or more specifically the
DTIM period. AFAIK, all the bss entries with the same BSSID should share
the same DTIM period - I think this is valid for other cases with
multiple SSIDs on one BSSID too.


Any suggestions on how to approach this issue?

-Juuso




2011-01-04 11:06:01

by Johannes Berg

[permalink] [raw]
Subject: Re: Hidden SSID and WLAN powersave

On Tue, 2011-01-04 at 13:00 +0200, Juuso Oikarinen wrote:

> > > As result, the STA does not ever enter WLAN PSM.
> > >
> > > Anyone stumbled on this issue?
> >
> > I haven't come across it, but we don't test hidden SSIDs much ...
> > sounds perfectly logical.
>
> I would fix this, but I'm afraid I don't know enough about the mac80211
> to make a valid decision on how to go about that.
>
> For PSM, this is an issue about the TIM IE, or more specifically the
> DTIM period. AFAIK, all the bss entries with the same BSSID should share
> the same DTIM period - I think this is valid for other cases with
> multiple SSIDs on one BSSID too.
>
>
> Any suggestions on how to approach this issue?

I'd probably see if you can update all the matching BSS structs with the
received beacon IEs.

johannes


2011-01-04 10:47:53

by Johannes Berg

[permalink] [raw]
Subject: Re: Hidden SSID and WLAN powersave

On Tue, 2011-01-04 at 12:26 +0200, Juuso Oikarinen wrote:
> Hi,
>
> I stumbled upon a PSM issue when a hidden SSID is used. It seems that
> mac80211 is not going to power-save mode with hidden SSID AP's at all.
>
> As far as I can see the following happens:
>
> - When generally scanning, the AP is getting a bss entry with a zero
> SSID.
> - When associating, a probe-req is sent to the AP with the SSID, and as
> result a probe-response is received with the hidden SSID in place -> a
> second bss entry is created for the AP, now with the real SSID.
> - After association, mac80211 executes ieee80211_recalc_ps(), but does
> not go to powersave because the beacon-ies are missing.
> - A new beacon is received for the BSSID, but it updates the bss entry
> with the zero SSID, ieee80211_recalc_ps() gets called, but for the
> associated bss entry the beacon-ies are still missing.
>
> As result, the STA does not ever enter WLAN PSM.
>
> Anyone stumbled on this issue?

I haven't come across it, but we don't test hidden SSIDs much ...
sounds perfectly logical.

johannes