rt73 - how to enter power save mode ?

Live forum: http://rt2x00.serialmonkey.com/viewtopic.php?t=5139


25-12-2008 20:05:04


I an rt73 usb wireless device. I am using it for development LAB of some advanced WiFI project.
Among other tasks, I should use this device in a power save mode.

Following a post recently here, I git cloned the latest git wireless-testing tree with the recent
patches, which (among other things) allow power saving mode on rt73.

I tried to cause the machine on which the rt73 run to enter sleep mode,but it seems to me that I could not.

I added a printk in rt73usb_config_ps() (rt73usb.c) but I do not get there.
I waited a long time, and sent no output traffic, but did not get there.
I **did** set "iwconfig wlan0 power on". (and verified that "iwconfig wlan0" showed
Power Managementon.

(BTW,trying "iwconfig wlan1 power on timeout 10" failed, and also other options I tried to the man page; is there any other option except "iwconfig wlano power on" and
"iwconfig wlano power off" ?)
I am working in master mode, and I am associated to an Access Point.

Am I missing something ?
Is there a way to know whether a device is in power state or not ? (besides
adding a printk) ; I looked in the VFS, and there,
cat /sys/class/ieee80211/phy1/power/wakeup
gives nothing.

David S.


26-12-2008 14:01:38

After googling and scratching my head for quite a time I made some **real** progress. Now I have more things to research and find out.
To be more specific
> BTW,trying "iwconfig wlan1 power on timeout 10" failed,
Well , this is a problem with wireless-tools which has to do with parsing.
Using the latest v30 beta solved it - I did not got this error for "iwconfig wlan1 power on timeout 10"

(The error was , BTW
Error for wireless request "Set Power Management" (8B2C)
invalid argument 10).

http//markmail.org/message/pld2k55xqmh ... teresults

Now, I ***do*** see messages the the driver is entering sleep and awaiting every 10
seconds. What I do **not** understand is why I don't see in a sniffer that the
wireless rt73 usb card sent null fames or frames with a proper PM bit set when it entered sleep state.
First I wonder what should be the case with rt73 usb device when in enters
sleep (power save mode) should it send null frames ? or should it send frames
with a proper PM bit ? I suppose this should be implemented in firmware am I right?

In fact, I see no frames sent from the wireless nic at all.AFAIK, it should inform the AP that it entered PS mode so
that the AP will start buffering packets for it. Isn't it so ? The only packets I see
is of the AP sending beacons. (the channel of the monitor wireless interface is 11 (this is a different NIC, not the rt73usb) , the same as the channel of the rt73 and of the AP.

Any ideas what could be the problem ?



27-12-2008 11:29:01

What I do **not** understand is why I don't see in a sniffer that the
wireless rt73 usb card sent null fames or frames with a proper PM bit set when it entered sleep state.

There are current patches under review which will implement the NULL frame for mac80211, it will not change anything for rt2x00, since it completely depends on mac80211 for these things.


27-12-2008 16:51:01

Thanks for you answer; I think I understand, but I just want to verify I understand correctly When the rt73 device enters Sleep Mode, currently the rt73 firmware does
**not** send any null frame (or any other frame indicating by the PM bit that the device entered sleep mode).
In the future, when the PS patches will be merged, the mac80211 will send proper frames when entering power mode (but still no change is needed in firmware).
So a short question - is the above correct?



27-12-2008 17:26:44

the above is entirely correct.


28-12-2008 12:44:37

In a few minutes I will update rt2x00.git, and I noticed the null-frame implementation is now present in mac80211.


28-12-2008 13:44:48

Thanks a lot for the info! I will sure test it in the near future !