Re: [PATCH] wilc1000: Allow setting power_save before driver is initialized

From: David Mosberger-Tang
Date: Thu Dec 16 2021 - 00:38:11 EST


On Wed, 2021-12-15 at 13:01 +0000, Ajay.Kathat@xxxxxxxxxxxxx wrote:
> On 13/12/21 02:50, David Mosberger-Tang wrote:
> > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> >
> > Unfortunately, this patch doesn't seem to be sufficient. From what I
> > can tell, if power-save mode is turned on before a station is
> > associated with an access-point, there is no actual power savings. If
> > I issue the command after the station is associated, it works perfectly
> > fine.
> >
> > Ajay, does this make sense to you?
> <snip>
> Power-save mode is allowed to be enabled irrespective of station
> association state. Before association, the power consumption should be
> less with PSM enabled compared to PSM disabled. The WLAN automatic power
> save delivery gets enabled after the association with AP.
>
> To check the power measurement before association, test without
> wpa_supplicant.
>
>
> Steps:
> - load the module
> - ifconfig wlan0 up
> - iw dev wlan0 set power_save off (check the pwr measurement after PS
> mode disabled)
> - iw dev wlan0 set power_save on (check the pwr measurement after PS
> mode enable)

It appears wpa_supplicant consistently renders PSM ineffective:

(current draw, 1 min avg):
------------------------------ --------------------------
- base case (no module loaded): 16.8 mA
- module loaded & PSM on : 16.8 mA
- wpa_supplicant started : 19.6 mA
- PSM on : 19.6 mA (no change)
- PSM off : 19.6 mA (no change)
- PSM on : 15.4 mA

What's strange is when I try this sequence a couple of times in a row,
the device gets into a state where after starting wpa_supplicant, no
amount of PSM on/off commands will get it to enter power-savings mode
any more. When in that state, only removing wilc1000-spi.ko and adding
it back gets it out of that state. A power-cycle does not. Very
confusing.

--david