Hi,
I'm working on a wireless driver that will use mac80211. I'm trying
to understand what I need to do to support power save mode. My
hardware has no built in support for power save mode other than the
ability to power it down. Is there a driver that I can use as a model
for how to implement power save mode?
How is the IEEE80211_CONF_PS flag in the ieee80211_conf structure
used? Does it indicate when the low level driver should be turning
the transceiver on and off, or is it just an indication of whether or
not the driver should be running in power save mode?
If the low level driver is suppose to implement the bulk of power save
mode, then how is it suppose to get information like how long the
sleep periods are suppose to be? Does mac80211 provide utility
functions for parsing beacons to check for TIM and DTIM elements?
Any help you can provide would be appreciated.
Charles,
> How is the IEEE80211_CONF_PS flag in the ieee80211_conf structure
> used? Does it indicate when the low level driver should be turning
> the transceiver on and off, or is it just an indication of whether or
> not the driver should be running in power save mode?
>
> If the low level driver is suppose to implement the bulk of power save
> mode, then how is it suppose to get information like how long the
> sleep periods are suppose to be? Does mac80211 provide utility
> functions for parsing beacons to check for TIM and DTIM elements?
>
> Any help you can provide would be appreciated.
You really need to read 802.11-2007, and understand how powersave mode
works. If you need software to check the beacons for (D)TIM, then you
can't really do powersave mode. You could hack around that if your
hardware provides an interrupt before the TBTT -- but that is very
fragile and I wouldn't recommend it. If your hardware design cannot
support powersave mode you'll just have to live without it.
johannes