* [ath9k] mesh powersave hardware sleep + wakeup @ 2012-03-16 9:42 Marco Porsch 2012-03-16 20:45 ` Luis R. Rodriguez 0 siblings, 1 reply; 13+ messages in thread From: Marco Porsch @ 2012-03-16 9:42 UTC (permalink / raw) To: mcgrof; +Cc: linux-wireless Hi, I am trying to implement the IEEE 802.11s power save schemes in mac80211. In 11s it is defined that power save STA doze AND send beacons AND wake up periodically for multiple neighbors beacons. Is this actually possible with current hardware/drivers (especially ath9k)? Regards Marco Porsch PS: More details: We currently have power mode indication and state tracking and are working on powersave frame buffering and mesh synchronization. A next topic will be to put the hardware to sleep to actually save energy. Until now we only implemented in mac82011. I looked through mac80211 and ath9k and am unsure, how to actually manage sleep and wakeup in the mesh context. Maybe I should give a brief introduction to IEEE 802.11s powersave here: - Each node has to send its own beacon - Power mode is not global, but link-specific - 3 power modes: active, light sleep, deep sleep - active = always on - light sleep = wake up for the neighbors beacon - deep sleep = only wake up for sending own beacon So the critical point here is, that we need to put the hardware to sleep but wake up for: - sending own beacon - TBTT of all neighbors towards we are in light sleep (or maybe all neighbors as proof-of-concept) so it is a mixture of ad-hoc , station code and completely new stuff. A better explanation and a nice example of IEEE 802.11s powersave is given here: http://dl.dropbox.com/u/31741282/11s_powersave.pdf ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [ath9k] mesh powersave hardware sleep + wakeup 2012-03-16 9:42 [ath9k] mesh powersave hardware sleep + wakeup Marco Porsch @ 2012-03-16 20:45 ` Luis R. Rodriguez 2012-03-16 22:09 ` Marco Porsch 0 siblings, 1 reply; 13+ messages in thread From: Luis R. Rodriguez @ 2012-03-16 20:45 UTC (permalink / raw) To: Marco Porsch; +Cc: linux-wireless, henry On Fri, Mar 16, 2012 at 10:42:02AM +0100, Marco Porsch wrote: > Hi, > > I am trying to implement the IEEE 802.11s power save schemes in mac80211. > In 11s it is defined that power save STA doze AND send beacons AND > wake up periodically for multiple neighbors beacons. > > Is this actually possible with current hardware/drivers (especially ath9k)? > > Regards > Marco Porsch > > > > PS: More details: > > We currently have power mode indication and state > tracking and are working on powersave frame buffering and mesh > synchronization. > > A next topic will be to put the hardware to sleep to actually save energy. > Until now we only implemented in mac82011. I looked through mac80211 and > ath9k and am unsure, how to actually manage sleep and wakeup in the mesh > context. > Maybe I should give a brief introduction to IEEE 802.11s powersave here: > - Each node has to send its own beacon > - Power mode is not global, but link-specific > - 3 power modes: active, light sleep, deep sleep > - active = always on > - light sleep = wake up for the neighbors beacon > - deep sleep = only wake up for sending own beacon > > So the critical point here is, that we need to put the hardware to > sleep but wake up for: > - sending own beacon > - TBTT of all neighbors towards we are in light sleep (or maybe all > neighbors as proof-of-concept) > so it is a mixture of ad-hoc , station code and completely new stuff. > > A better explanation and a nice example of IEEE 802.11s powersave is > given here: > http://dl.dropbox.com/u/31741282/11s_powersave.pdf I don't have time to review this but it sounds correct that the part you want to focus on is introducing a wake up mechanism when you need to initiate radiation for your own beacons. I think right now we simply disable PS in mac80211 completely if we have a mode of operation that require beconing. Your challenge is to lift that and deal with the issues there and all the possible combinations. You can help with this This should help you: http://wireless.kernel.org/en/users/Documentation/Power-consumption For now you can focus on only allowing through Mesh devices and the combinations of it but I suspect that some of the work you do may also help with addressing P2P powersave. Luis ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [ath9k] mesh powersave hardware sleep + wakeup 2012-03-16 20:45 ` Luis R. Rodriguez @ 2012-03-16 22:09 ` Marco Porsch 2012-04-11 11:00 ` [Greenmesh] " Marco Porsch 0 siblings, 1 reply; 13+ messages in thread From: Marco Porsch @ 2012-03-16 22:09 UTC (permalink / raw) To: Luis R. Rodriguez; +Cc: linux-wireless, henry, greenmesh@lists.osll.spb.ru On 03/16/12 21:45, Luis R. Rodriguez wrote: > On Fri, Mar 16, 2012 at 10:42:02AM +0100, Marco Porsch wrote: >> Hi, >> >> I am trying to implement the IEEE 802.11s power save schemes in mac80211. >> In 11s it is defined that power save STA doze AND send beacons AND >> wake up periodically for multiple neighbors beacons. >> >> Is this actually possible with current hardware/drivers (especially ath9k)? [ ... ] > I don't have time to review this but it sounds correct that the part > you want to focus on is introducing a wake up mechanism when you > need to initiate radiation for your own beacons. I think right now > we simply disable PS in mac80211 completely if we have a mode of > operation that require beconing. Actually the whole power save code is only written specifically for managed mode. E.g. for ad-hoc, you wouldn't suspend the radio, since the MAC schemes that must deal with the resulting deafness issues are not implemented in mac80211. (That would be frame buffering + release in ATIM window, ...) Concerning mesh, I already have a hackish - but mostly working - PS frame buffering and release. But, what is power save without actually saving power? Problem: I don't have a reference how to suspend/wake the radio between sending beacons. That's why I hoped you can tell me, if - at least in theory - the hardware/ath9k even allows this. > Your challenge is to lift that and > deal with the issues there and all the possible combinations. You > can help with this > > This should help you: > > http://wireless.kernel.org/en/users/Documentation/Power-consumption Thanks, the numbers are nice I can use them for analytical estimation or simulation. > For now you can focus on only allowing through Mesh devices and > the combinations of it but I suspect that some of the work you do > may also help with addressing P2P powersave. Correct. When this is implemented, it is easy to port this to ad-hoc. Because mesh is definitively more complex, but similar. Regards, Marco ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Greenmesh] [ath9k] mesh powersave hardware sleep + wakeup 2012-03-16 22:09 ` Marco Porsch @ 2012-04-11 11:00 ` Marco Porsch 2012-04-12 4:05 ` Johannes Berg 2012-04-27 15:53 ` Marco Porsch 0 siblings, 2 replies; 13+ messages in thread From: Marco Porsch @ 2012-04-11 11:00 UTC (permalink / raw) To: Luis R. Rodriguez, javier, Johannes Berg Cc: linux-wireless, henry, greenmesh@lists.osll.spb.ru On 03/16/12 23:09, Marco Porsch wrote: > On 03/16/12 21:45, Luis R. Rodriguez wrote: >> On Fri, Mar 16, 2012 at 10:42:02AM +0100, Marco Porsch wrote: >>> Hi, >>> >>> I am trying to implement the IEEE 802.11s power save schemes in mac80211. >>> In 11s it is defined that power save STA doze AND send beacons AND >>> wake up periodically for multiple neighbors beacons. >>> >>> Is this actually possible with current hardware/drivers (especially ath9k)? > > [ ... ] > >> I don't have time to review this but it sounds correct that the part >> you want to focus on is introducing a wake up mechanism when you >> need to initiate radiation for your own beacons. I think right now >> we simply disable PS in mac80211 completely if we have a mode of >> operation that require beconing. I did some hacking and can now answer part one of my question: yes, beaconing and power save are not mutually exclusive with ath9k [1]. Second question: what about power save doze and waking up for _multiple_ neighbors' beacons? Currently the whole sleep scheduling seems to be determined by conf->beacon_interval and conf->dtim_period in case of a station (client). Unfortunetely, these are the same variables that determine the STAs own beacon interval in case of AP/mesh/ad-hoc. Additionally, for mesh mode we will need a whole list of wake-up events (light sleep neighbors' beacons). Thus, I think we will need an additional/extended interface mac80211<->driver here. I see two possibilities: a) request the next wakeup time from mac80211 each time the hardware is put to sleep (e.g. from ath9k_ps_restore). b) give a whole list of periodic wakeup events of all vif to the driver. Then the driver is supposed to sort out the closest event. What would be the better approach for such an interface? Or maybe a completely different idea? Positive side effect: this will also enable power save when multiple managed interfaces are up - or combinations of different powersave-enabled interfaces. Regards, Marco [1] In mac80211 I removed some restrictions for mesh and basically hand the own STAs beacon interval to the driver (similar to ieee80211_recalc_ps). In ath9k I merged the contents of the functions ath_beacon_config_sta and ath_beacon_config_adhoc with the result that beaconing is enabled and a power save schedule is set up. The result is that I see an alternation of AWAKE and NETWORK SLEEP state with the given beacon interval period. Additionally, the log shows that no packets are received during the NETWORK SLEEP period, so the receiver seems to be actually suspended. I have not yet measured the power consumption though. Capturing with wireshark shows that the own mesh beacons are still sent regularly. Of course, currently this breaks any connectivity when mesh PS is enabled. But it does not crash. And connectivity resumes when PS is disabled once again. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Greenmesh] [ath9k] mesh powersave hardware sleep + wakeup 2012-04-11 11:00 ` [Greenmesh] " Marco Porsch @ 2012-04-12 4:05 ` Johannes Berg 2012-04-12 7:41 ` Marco Porsch 2012-04-27 15:53 ` Marco Porsch 1 sibling, 1 reply; 13+ messages in thread From: Johannes Berg @ 2012-04-12 4:05 UTC (permalink / raw) To: Marco Porsch Cc: Luis R. Rodriguez, javier, linux-wireless, henry, greenmesh@lists.osll.spb.ru On Wed, 2012-04-11 at 13:00 +0200, Marco Porsch wrote: > Thus, I think we will need an additional/extended interface > mac80211<->driver here. > > I see two possibilities: > a) request the next wakeup time from mac80211 each time the hardware is > put to sleep (e.g. from ath9k_ps_restore). > b) give a whole list of periodic wakeup events of all vif to the driver. > Then the driver is supposed to sort out the closest event. > > What would be the better approach for such an interface? Or maybe a > completely different idea? What time units would that be in, and how could you correlate them? johannes ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Greenmesh] [ath9k] mesh powersave hardware sleep + wakeup 2012-04-12 4:05 ` Johannes Berg @ 2012-04-12 7:41 ` Marco Porsch 2012-04-18 2:02 ` Johannes Berg 0 siblings, 1 reply; 13+ messages in thread From: Marco Porsch @ 2012-04-12 7:41 UTC (permalink / raw) To: Johannes Berg Cc: Luis R. Rodriguez, javier, linux-wireless, henry, greenmesh@lists.osll.spb.ru On 04/12/12 06:05, Johannes Berg wrote: > On Wed, 2012-04-11 at 13:00 +0200, Marco Porsch wrote: > >> Thus, I think we will need an additional/extended interface >> mac80211<->driver here. >> >> I see two possibilities: >> a) request the next wakeup time from mac80211 each time the hardware is >> put to sleep (e.g. from ath9k_ps_restore). >> b) give a whole list of periodic wakeup events of all vif to the driver. >> Then the driver is supposed to sort out the closest event. >> >> What would be the better approach for such an interface? Or maybe a >> completely different idea? > > What time units would that be in, and how could you correlate them? I did not take an exhaustive overview over all possible drivers. But as the current mac80211<->driver interface carries only beacon interval (in TU) and DTIM period, that should be a good starting point. ath9k additionally relies on the neighbors address to check whether it can resume sleep after receiving an expected beacon (see setting of 'is_mybeacon' in ath_rx_tasklet). Concerning correlation, in mesh mode we recently have t_offset (in TSF increments) stored in sta_info and in client mode the drivers' synchronised TSF should be the reference (but I am not quite sure what happens when one client is associated to multiple AP). Regards, Marco ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Greenmesh] [ath9k] mesh powersave hardware sleep + wakeup 2012-04-12 7:41 ` Marco Porsch @ 2012-04-18 2:02 ` Johannes Berg 2012-04-18 14:56 ` Javier Cardona 0 siblings, 1 reply; 13+ messages in thread From: Johannes Berg @ 2012-04-18 2:02 UTC (permalink / raw) To: Marco Porsch Cc: Luis R. Rodriguez, javier, linux-wireless, henry, greenmesh@lists.osll.spb.ru On Thu, 2012-04-12 at 09:41 +0200, Marco Porsch wrote: > > What time units would that be in, and how could you correlate them? > > I did not take an exhaustive overview over all possible drivers. > But as the current mac80211<->driver interface carries only beacon > interval (in TU) and DTIM period, that should be a good starting point. Those aren't really useful at all? You need to define wakeups in absolute terms I'd think? And you could have the TSF from the beacon, but that itself is also useless since you need the offset. > ath9k additionally relies on the neighbors address to check whether it > can resume sleep after receiving an expected beacon (see setting of > 'is_mybeacon' in ath_rx_tasklet). That's IBSS only I'd think? > Concerning correlation, in mesh mode we recently have t_offset (in TSF > increments) stored in sta_info and in client mode the drivers' > synchronised TSF should be the reference (but I am not quite sure what > happens when one client is associated to multiple AP). That's starting to sound more like a solution, but even then you have a lot of issues to resolve like when exactly is the timestamp hitting. Keep in mind that TSF == start of TSF field, while rx_status->timestamp == start of first symbol, which I didn't even remember when you guys did all the Toffset things, I'm guessing they're all wrong :-) johannes ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Greenmesh] [ath9k] mesh powersave hardware sleep + wakeup 2012-04-18 2:02 ` Johannes Berg @ 2012-04-18 14:56 ` Javier Cardona 2012-04-18 15:05 ` Johannes Berg 0 siblings, 1 reply; 13+ messages in thread From: Javier Cardona @ 2012-04-18 14:56 UTC (permalink / raw) To: Johannes Berg Cc: Marco Porsch, Luis R. Rodriguez, linux-wireless, henry, greenmesh@lists.osll.spb.ru On Tue, Apr 17, 2012 at 7:02 PM, Johannes Berg <johannes@sipsolutions.net> wrote: > (...) > Keep in mind that TSF == start of TSF field, while rx_status->timestamp > == start of first symbol, which I didn't even remember when you guys did > all the Toffset things, I'm guessing they're all wrong :-) I think you guessed wrong :) http://www.mail-archive.com/devel@lists.open80211s.org/msg01552.html + if (rx_status->flag & RX_FLAG_MACTIME_MPDU && rx_status->mactime) { + /* + * The mactime is defined as the time the first data symbol + * of the frame hits the PHY, and the timestamp of the beacon + * is defined as "the time that the data symbol containing the + * first bit of the timestamp is transmitted to the PHY plus + * the transmitting STA's delays through its local PHY from the + * MAC-PHY interface to its interface with the WM" (802.11 + * 11.1.2) + * + * T_r, in 13.13.2.2.2, is just defined as "the frame reception + * time" but we unless we interpret that time to be the same + * time of the beacon timestamp, the offset calculation will be + * off. Below we adjust t_r to be "the time at which the first + * symbol of the timestamp element in the beacon is received". + * This correction depends on the rate. + * + * Based on similar code in ibss.c + */ + int rate; + + if (rx_status->flag & RX_FLAG_HT) { + /* TODO: + * In principle there could be HT-beacons (Dual Beacon + * HT Operation options), but for now ignore them and + * just use the primary (i.e. non-HT) beacons for + * synchronization. + * */ + goto no_sync; + } else + rate = local->hw.wiphy->bands[rx_status->band]-> + bitrates[rx_status->rate_idx].bitrate; + + /* 24 bytes of header * 8 bits/byte * + * 10*(100 Kbps)/Mbps / rate (100 Kbps)*/ + t_r = rx_status->mactime + (24 * 8 * 10 / rate); + } -- Javier Cardona cozybit Inc. http://www.cozybit.com ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Greenmesh] [ath9k] mesh powersave hardware sleep + wakeup 2012-04-18 14:56 ` Javier Cardona @ 2012-04-18 15:05 ` Johannes Berg 2012-04-18 15:16 ` Javier Cardona 0 siblings, 1 reply; 13+ messages in thread From: Johannes Berg @ 2012-04-18 15:05 UTC (permalink / raw) To: Javier Cardona Cc: Marco Porsch, Luis R. Rodriguez, linux-wireless, henry, greenmesh@lists.osll.spb.ru On 4/18/2012 7:56 AM, Javier Cardona wrote: > On Tue, Apr 17, 2012 at 7:02 PM, Johannes Berg > <johannes@sipsolutions.net> wrote: >> (...) >> Keep in mind that TSF == start of TSF field, while rx_status->timestamp >> == start of first symbol, which I didn't even remember when you guys did >> all the Toffset things, I'm guessing they're all wrong :-) > > I think you guessed wrong :) Nice! FWIW, our hardware (not that the driver supports mesh now) will give the timestamp at the first symbol of the MPDU, so some more offset calculations are needed and we don't give valid timestamps today. I started working on this but haven't figured out HT preamble duration yet. johannes ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Greenmesh] [ath9k] mesh powersave hardware sleep + wakeup 2012-04-18 15:05 ` Johannes Berg @ 2012-04-18 15:16 ` Javier Cardona 2012-04-19 2:41 ` Yeoh Chun-Yeow 0 siblings, 1 reply; 13+ messages in thread From: Javier Cardona @ 2012-04-18 15:16 UTC (permalink / raw) To: Johannes Berg Cc: Marco Porsch, Luis R. Rodriguez, linux-wireless, henry, greenmesh@lists.osll.spb.ru On Wed, Apr 18, 2012 at 8:05 AM, Johannes Berg <johannes@sipsolutions.net> wrote: > On 4/18/2012 7:56 AM, Javier Cardona wrote: >> >> On Tue, Apr 17, 2012 at 7:02 PM, Johannes Berg >> <johannes@sipsolutions.net> wrote: >>> >>> (...) >>> Keep in mind that TSF == start of TSF field, while rx_status->timestamp >>> == start of first symbol, which I didn't even remember when you guys did >>> all the Toffset things, I'm guessing they're all wrong :-) >> >> >> I think you guessed wrong :) > > > Nice! FWIW, our hardware (not that the driver supports mesh now) will give > the timestamp at the first symbol of the MPDU, so some more offset > calculations are needed and we don't give valid timestamps today. I started > working on this but haven't figured out HT preamble duration yet. Thanks for letting us know. Now we know what hardware *not* to use for this :P Javier ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Greenmesh] [ath9k] mesh powersave hardware sleep + wakeup 2012-04-18 15:16 ` Javier Cardona @ 2012-04-19 2:41 ` Yeoh Chun-Yeow 2012-04-19 2:51 ` Javier Cardona 0 siblings, 1 reply; 13+ messages in thread From: Yeoh Chun-Yeow @ 2012-04-19 2:41 UTC (permalink / raw) To: Javier Cardona Cc: Johannes Berg, linux-wireless, henry, greenmesh@lists.osll.spb.ru, Luis R. Rodriguez Hi, Javier > Now we know what hardware *not* to use for this What is the hardware that you referred to? Please advice. Thanks Regards, Chun-Yeow On Wed, Apr 18, 2012 at 11:16 PM, Javier Cardona <javier@cozybit.com> wrote: > On Wed, Apr 18, 2012 at 8:05 AM, Johannes Berg > <johannes@sipsolutions.net> wrote: >> On 4/18/2012 7:56 AM, Javier Cardona wrote: >>> >>> On Tue, Apr 17, 2012 at 7:02 PM, Johannes Berg >>> <johannes@sipsolutions.net> wrote: >>>> >>>> (...) >>>> Keep in mind that TSF == start of TSF field, while rx_status->timestamp >>>> == start of first symbol, which I didn't even remember when you guys did >>>> all the Toffset things, I'm guessing they're all wrong :-) >>> >>> >>> I think you guessed wrong :) >> >> >> Nice! FWIW, our hardware (not that the driver supports mesh now) will give >> the timestamp at the first symbol of the MPDU, so some more offset >> calculations are needed and we don't give valid timestamps today. I started >> working on this but haven't figured out HT preamble duration yet. > > Thanks for letting us know. Now we know what hardware *not* to use for this :P > > Javier > _______________________________________________ > Greenmesh mailing list > Greenmesh@lists.osll.spb.ru > http://lists.osll.spb.ru/mailman/listinfo/greenmesh ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Greenmesh] [ath9k] mesh powersave hardware sleep + wakeup 2012-04-19 2:41 ` Yeoh Chun-Yeow @ 2012-04-19 2:51 ` Javier Cardona 0 siblings, 0 replies; 13+ messages in thread From: Javier Cardona @ 2012-04-19 2:51 UTC (permalink / raw) To: Yeoh Chun-Yeow Cc: Johannes Berg, linux-wireless, henry, greenmesh@lists.osll.spb.ru, Luis R. Rodriguez On Wed, Apr 18, 2012 at 7:41 PM, Yeoh Chun-Yeow <yeohchunyeow@gmail.com> wrote: >> Now we know what hardware *not* to use for this :P > What is the hardware that you referred to? > > Please advice. Thanks Johannes was just explaining that Intel wlan devices would not report timing info in the way required for mesh synchronization. Not a big deal considering that they don't support mesh mode. My comment should have been interpreted as a joke (and probably I should have sent it off-list, sorry!). Javier > On Wed, Apr 18, 2012 at 11:16 PM, Javier Cardona <javier@cozybit.com> wrote: >> On Wed, Apr 18, 2012 at 8:05 AM, Johannes Berg >> <johannes@sipsolutions.net> wrote: >>> On 4/18/2012 7:56 AM, Javier Cardona wrote: >>>> >>>> On Tue, Apr 17, 2012 at 7:02 PM, Johannes Berg >>>> <johannes@sipsolutions.net> wrote: >>>>> >>>>> (...) >>>>> Keep in mind that TSF == start of TSF field, while rx_status->timestamp >>>>> == start of first symbol, which I didn't even remember when you guys did >>>>> all the Toffset things, I'm guessing they're all wrong :-) >>>> >>>> >>>> I think you guessed wrong :) >>> >>> >>> Nice! FWIW, our hardware (not that the driver supports mesh now) will give >>> the timestamp at the first symbol of the MPDU, so some more offset >>> calculations are needed and we don't give valid timestamps today. I started >>> working on this but haven't figured out HT preamble duration yet. >> >> Thanks for letting us know. Now we know what hardware *not* to use for this :P >> >> Javier >> _______________________________________________ >> Greenmesh mailing list >> Greenmesh@lists.osll.spb.ru >> http://lists.osll.spb.ru/mailman/listinfo/greenmesh -- Javier Cardona cozybit Inc. http://www.cozybit.com ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [ath9k] mesh powersave hardware sleep + wakeup 2012-04-11 11:00 ` [Greenmesh] " Marco Porsch 2012-04-12 4:05 ` Johannes Berg @ 2012-04-27 15:53 ` Marco Porsch 1 sibling, 0 replies; 13+ messages in thread From: Marco Porsch @ 2012-04-27 15:53 UTC (permalink / raw) To: Luis R. Rodriguez; +Cc: linux-wireless On 04/11/12 13:00, Marco Porsch wrote: > On 03/16/12 23:09, Marco Porsch wrote: >>> On Fri, Mar 16, 2012 at 10:42:02AM +0100, Marco Porsch wrote: >>>> I am trying to implement the IEEE 802.11s power save schemes in mac80211. > > I did some hacking and can now answer part one of my question: > yes, beaconing and power save are not mutually exclusive with ath9k. > > Second question: what about power save doze and waking up for _multiple_ > neighbors' beacons? I've again done some hacking: now waking up for multiple neighbor beacons in mesh mode seems to work experimentally [1]. Next step is the mesh awake window i.e. just keep awake for a specified time after beacon TX. Is it possible to configure the hardware accordingly? There are some settings concerning ad-hoc's ATIM window in ath9k_hw_beaconinit that look like it should be possible to use hardware timers for that. Unfortunately, I had no success on these. Maybe it requires ATIM frames (-> AR_TXCFG_ADHOC_BEACON_ATIM_TX_POLICY)? Regards, Marco [1] I maintain a list of wakeup events stored as ath9k_beacon_state. When doing ath9k_ps_restore, I re-configure the hardware with a slightly modified version of ath9k_hw_set_sta_beacon_timers to expect the next wakeup event. Actually seems to work. ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2012-04-27 15:53 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-03-16 9:42 [ath9k] mesh powersave hardware sleep + wakeup Marco Porsch 2012-03-16 20:45 ` Luis R. Rodriguez 2012-03-16 22:09 ` Marco Porsch 2012-04-11 11:00 ` [Greenmesh] " Marco Porsch 2012-04-12 4:05 ` Johannes Berg 2012-04-12 7:41 ` Marco Porsch 2012-04-18 2:02 ` Johannes Berg 2012-04-18 14:56 ` Javier Cardona 2012-04-18 15:05 ` Johannes Berg 2012-04-18 15:16 ` Javier Cardona 2012-04-19 2:41 ` Yeoh Chun-Yeow 2012-04-19 2:51 ` Javier Cardona 2012-04-27 15:53 ` Marco Porsch
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).