Skip to contentSkip to conversation

Any reason to allow MGT TID to be paused by power-save?

DISCUSSION Ben Greear 2 participants 2 messages Jun 9, 2016 – Jun 10, 2016 Qualcomm Atheros ATH10K wireless driver

lore
Share & tools
lore

Ben Greear

author
#0 lore raw

I'm trying to track down a tricky problem with a Mac book and power save with my ath10k firmware.

At least part of the issue is that when the Mac sleeps, it goes into power-save state as far as AP is concerned, and then it simply turns itself off. When it wakes up a short time later, it then tries to scan and re-associate. But, if hostapd hasn't timed out the station (due to longer idle timer), then STA still is treated as being in power-save in the firmware. It appears that this causes mgt-frames (probe responses) not be sent back out of the firmware, so Mac gives up fairly quickly.

I fixed at least some of this by forcing a power-save wake on receipt of probe requests and auth requests, but some issues remain for one reason or another.

One thing that came to mind: Is it *ever* a good idea to pause a mgt-tid due to power-save? A second non-pausable TID also exists in the firmware...maybe all mgt frames should use that? But if so, then why have a mgt tid at all?

Thanks,
Ben

Signature · 2 lines
Ben Greear <[email protected]>
Candela Technologies Inc  http://www.candelatech.com
#1 lore raw
Quoted 15 lines · Ben Greear

I'm trying to track down a tricky problem with a Mac book and power save with my ath10k firmware.

At least part of the issue is that when the Mac sleeps, it goes into power-save
state as far as AP is concerned, and then it simply turns itself off. When it wakes
up a short time later, it then tries to scan and re-associate. But, if hostapd
hasn't timed out the station (due to longer idle timer), then STA still is treated
as being in power-save in the firmware. It appears that this causes mgt-frames (probe responses)
not be sent back out of the firmware, so Mac gives up fairly quickly.

Quoted 7 lines

I fixed at least some of this by forcing a power-save wake on receipt of probe requests and auth requests, but some issues remain for one reason or another.

One thing that came to mind: Is it *ever* a good idea to pause a mgt-tid due to
power-save?

The spec defines some mgmt frames as bufferable (IEEE 802.11-2012 8.2.4.1.7). See ieee80211_is_bufferable_mmpdu() in include/linux/ieee80211.h.

Action, deauth and disassoc are bufferable. It makes sense anyway.

E.g. On DFS channel you may opt for CSA action frame (instead of CSA IE in beacons) in which case you do want to buffer frames to clients that are asleep to give them a chance to notice it, wake up and get it.

Michał