kern/124753: net80211 discards power-save queue packets early
sam at errno.com
Tue Jul 1 22:54:07 UTC 2008
Sepherosa Ziehau wrote:
> On Thu, Jun 19, 2008 at 6:30 PM, <remko at freebsd.org> wrote:
>> Synopsis: net80211 discards power-save queue packets early
>> Responsible-Changed-From-To: freebsd-i386->freebsd-net
>> Responsible-Changed-By: remko
>> Responsible-Changed-When: Thu Jun 19 10:29:47 UTC 2008
>> reassign to networking team.
> In How-To-Repeat, you said:
> "Then associate a recent Windows Mobile 6.1 device to the FreeBSD box
> running hostapd ..."
> In Description, you said:
> "The WM6.1 device recv ps-poll's for packets every 20 seconds ..."
> AFAIK, STA sends ps-poll to AP; AP does not send ps-poll to STA. Why
> did your windows STA receive ps-poll from freebsd AP? Did you capture
> it by using 802.11 tap?
> And which freebsd driver were you using?
> Your problem looks like:
> - Either freebsd AP did not properly configure TIM in beacons, which
> could be easily found out by using 802.11 tap. But I highly suspect
> if you were using ath(4), TIM would be misconfigured.
> - Or your windows STA didn't process TIM according to 802.11 standard.
The PR states the listen interval sent by the station is 3 (beacons) and
the beacon interval is 100TU. This means the AP is required to buffer
unicast frames for only 300TU which is ~300 ms. But according to the
report the Windows device is polling every 20 seconds so there's no
guarantee any packets will be present (even with the net80211 code
arbitrarily using 4x the list interval specified by the sta). I find it
really hard to believe a device would poll every 20 secs so something
seems wrong in what's reported/observed.
Given that defeating the aging logic just pushed the problem elsewhere
it sounds like there's something else wrong which (as you note) probably
requires a packet capture to understand. I'm pretty sure TIM is handled
correctly in RELENG_7 but a packet capture would help us verify that.
More information about the freebsd-net