Re: [PATCH 1/2] wifi: mt76: mt7921: Disable powersaving by default

From: James Prestwood
Date: Thu Dec 14 2023 - 07:39:27 EST


On 12/13/23 11:27, Mario Limonciello wrote:
On 12/13/2023 08:45, Ben Greear wrote:
On 12/13/23 5:26 AM, Lorenzo Bianconi wrote:
Mario Limonciello <mario.limonciello@xxxxxxx> writes:

Several users have reported awful latency when powersaving is enabled
with certain access point combinations.

What APs are these exactly? In the past 802.11 Power Save Mode was
challenging due to badly behaving APs. But nowadays with so many mobile
devices in the market I would assume that APs work a lot better. It
would be best to investigate the issues in detail and try to fix them in
mt76, assuming the bugs are in mt76 driver or firmware.

It's also reported that the powersaving feature doesn't provide an
ample enough savings to justify being enabled by default with these
issues.

Any numbers or how was this concluded?

Introduce a module parameter that would control the power saving
behavior.  Set it to default as disabled. This mirrors what some other
WLAN drivers like iwlwifi do.

We have already several ways to control 802.11 power save mode:

* NL80211_CMD_SET_POWER_SAVE (for example used by 'iw set power_save')

* CONFIG_CFG80211_DEFAULT_PS (for kernel level default)

* WIPHY_FLAG_PS_ON_BY_DEFAULT (for the driver to control the default setting)

Adding module parameters as a fourth method sounds confusing so not
really a fan of this. And the bar is quite high for adding new module
parameters anyway.

agree, I think we do not need a new parameter for this, just use the current
APIs.

Is there a convenient way for a user to make any of those options above stick through
reboots?

To me, the ability to set system defaults through reboots is a nice feature of
module options.

Thanks,
Ben


Some userspace has the ability to do this.  For example in Network Manager:

https://unix.stackexchange.com/questions/595116/wi-fi-powersaving-in-networkmanager

And recently added to IWD for this very reason, there are no decent ways to persist between reboots (except when using NM).

https://git.kernel.org/pub/scm/network/wireless/iwd.git/commit/?id=29edb1626d88bb713db71f7b374d8f24832fd94f

Thanks,

James