Search Linux Wireless

Re: [RFC] mac80211 dynamic powersave

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Nov 11, 2008 at 10:17:54PM -0800, Vivek Natarajan wrote:
> Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote:
> 
> > Vivek Natarajan wrote:
> >> 2) Do you intend to leave the NULL frame formation, waking up the chip
> >>      for TIM and modifying sleep/awake time according to  DTIM to
> >>     the driver since I did not see this in your TODO list?( I understand from
> >>     the iwlwifi code that it just sends a request to the firmware for sending
> >>     NULL frame and the firmware takes care of the rest. But it may not be
> >>     so in the case of other vendor drivers.)
> >
> > Can you elaborate on this? I don't think we're concerned with that in
> > dynPS.
> 
> I'm listing  whatever I have understood about 'Power save'.
> It might be too basic but do correct me if I'm wrong somewhere.
> 
> NULL DATA frame:
> a) A NULL data frame with PM bit ON is to be sent to the AP before
> going to sleep.
> b) After sending Null frame, the chip should not go to sleep before
> getting ack: move to sleep pending state
> c) In sleep pending state, wait for one more 'timeout' period before
> sending null frame again
> d) If ack is received, goto sleep.
>     This is to make sure that the AP buffers frames for us.
>  Sanity check:
> Check if the hw has been sleeping too long! It could imply that the
> sleep timers have gotten out of sync with the TSF. If so, force wake
> until the sleep timers get resynced.
> 
> Tx:
> If there is a frame to transmit, send null data with PM bit off and start Tx.
> Rx:
> If there is any buffered frames, it is indicated in TIM.
> TIPS on TIM:
> Some hardware processes the TIM IE and fires an interrupt when the TIM
> bit is set.
> For hardware that doesn't,  we should process the TIM in software as
> part of processing the received Beacon
> → A function to check if TIM bit is set based on the offset in the beacon.
> → A function to put the chip to awake(if TIM is set) and send a null
> data with PM bit off.
> 
> DTIM:
> The period after which multicast traffic may be transmitted. So be
> awake even if there is no unicast packets
> as indicated by TIM.
> There are some registers related to TIM and DTIM periods in ath5k
> registers.(Thanks Nick for pointing
> them out)Need to dig more to see if it is enough to program these
> registers to be awake for post-DTIM muticast traffic.

Also check out:

http://wireless.kernel.org/en/developers/Documentation/ieee80211/power-savings

  Luis
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux