Re: [PATCH] cfg80211/nl80211: add wifi tx power mode switching support
From: Wei-Ning Huang <hidden>
Date: 2016-07-07 09:30:48
Also in:
lkml, netdev
Hi Johannes, Thanks for the reply. You are right that the physical antenna does not change. When I refer to 'calibration data', it actually corresponding to how mwifiex adjust the per-band tx power. For mwifiex, the per-band tx power is pre-calculated based on need, and stored in DT, a vendor command or std nl80211 message is sent to tell the driver to switch between two set of "calibration data". I'm aware that iwl7000 is using a vendor command to do this as well, but instead of pre-calculate required tx power info, the tx value can be passed along with the vendor command message. This patch was sent originally to standardize the requirement of sending a vendor command to the driver (so it'll be a standard nl80211 message). However, we have decided to move along with vendor command for both mwifiex and nl80211, so this patch is not needed anymore. Thanks for the comments! Wei-Ning On Tue, Jun 28, 2016 at 6:57 PM, Johannes Berg [off-list ref] wrote:
On Thu, 2016-05-12 at 17:34 +0800, Wei-Ning Huang wrote:quoted
Johannes, I feel like being able to set calibration data at runtime is something common to all wireless drivers, so instead of using vendor commands what do you think if I pass the calibration data name instead of using those magic constants? This way, userspace does not need to know the details of what band/range power limit the driver supports. It allows for flexible driver side implementation and easier for userspace to control.Sorry - I dropped this thread accidentally. I'm not really sure I understand the situation fully, but right now to me this seems very strange. The physical antennas probably don't really change between "clamshell" and "tablet" mode, do the physical radiation properties change enough to actually require different *calibration*? To me, that sounds very strange. Assuming they don't really change fundamentally, then I understand the need to set different power levels, per band/channel/whatever granularity. But that can be achieved in very different ways, and in fact if you look at Chrome then for our iwl7000 driver there we do have a command to do something similar (currently a vendor command, but that can be changed) without ever changing the *calibration*. So to me, the whole premise of the patch is confusing and/or wrong. johannes
-- Wei-Ning Huang, 黃偉寧 | Software Engineer, Google Inc., Taiwan | wnhuang@google.com | Cell: +886 910-380678