2019-03-13 13:34:45

by Stanislaw Gruszka

[permalink] [raw]
Subject: [RFC] mt76: add 3dBm for reporting txpower also for 1x1

It's not clear for my why we should add 3dBm for 2x2 devices
and not for 1x1. 3dBm looks rater like minimal txpower and
hardware transmit at 3dBm + dev->txpower_cur / 2 .

With the change reported txpower value are closer to regulatory
values, but honestly I have no idea what should be reported.

Perhaps also some better comment should be added.

Signed-off-by: Stanislaw Gruszka <[email protected]>
---
drivers/net/wireless/mediatek/mt76/mac80211.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/drivers/net/wireless/mediatek/mt76/mac80211.c b/drivers/net/wireless/mediatek/mt76/mac80211.c
index 851caabbecda..b04652729112 100644
--- a/drivers/net/wireless/mediatek/mt76/mac80211.c
+++ b/drivers/net/wireless/mediatek/mt76/mac80211.c
@@ -733,15 +733,9 @@ int mt76_get_txpower(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
int *dbm)
{
struct mt76_dev *dev = hw->priv;
- int n_chains = hweight8(dev->antenna_mask);

*dbm = dev->txpower_cur / 2;
-
- /* convert from per-chain power to combined
- * output on 2x2 devices
- */
- if (n_chains > 1)
- *dbm += 3;
+ *dbm += 3;

return 0;
}
--
1.9.3



2019-03-13 13:38:05

by Felix Fietkau

[permalink] [raw]
Subject: Re: [RFC] mt76: add 3dBm for reporting txpower also for 1x1

On 2019-03-13 14:34, Stanislaw Gruszka wrote:
> It's not clear for my why we should add 3dBm for 2x2 devices
> and not for 1x1. 3dBm looks rater like minimal txpower and
> hardware transmit at 3dBm + dev->txpower_cur / 2 .
>
> With the change reported txpower value are closer to regulatory
> values, but honestly I have no idea what should be reported.
>
> Perhaps also some better comment should be added.
>
> Signed-off-by: Stanislaw Gruszka <[email protected]>
The reason why we add 3dBm is because using two chains to transmit in
the worst case (from regulatory point of view) doubles the transmit
power (= +3dBm). There's no reason to do the same for 1x1.

- Felix

2019-03-13 14:11:42

by Tom Psyborg

[permalink] [raw]
Subject: Re: [RFC] mt76: add 3dBm for reporting txpower also for 1x1

On 13/03/2019, Felix Fietkau <[email protected]> wrote:

> The reason why we add 3dBm is because using two chains to transmit in
> the worst case (from regulatory point of view) doubles the transmit
> power (= +3dBm).

An absurd idea that probably came from some misinformed regulatory
boys. There is no way to have 3dBm higher output power just because an
additional antenna exist. Even with 3x3 case it already proves as
inconsistent since there is no 6dB decrease but 5dB.
If this were to continue it would render 8x8 wifi AP useless.

2019-03-13 14:21:10

by Felix Fietkau

[permalink] [raw]
Subject: Re: [RFC] mt76: add 3dBm for reporting txpower also for 1x1

On 2019-03-13 15:11, Tom Psyborg wrote:
> On 13/03/2019, Felix Fietkau <[email protected]> wrote:
>
>> The reason why we add 3dBm is because using two chains to transmit in
>> the worst case (from regulatory point of view) doubles the transmit
>> power (= +3dBm).
>
> An absurd idea that probably came from some misinformed regulatory
> boys. There is no way to have 3dBm higher output power just because an
> additional antenna exist. Even with 3x3 case it already proves as
> inconsistent since there is no 6dB decrease but 5dB.
Why would it be 6dB for 3x3? It's logarithmic:
2x2: 3dB
3x3: ~4.5dB
4x4: ~6dB
8x8: ~9dB

You may not get +3dB actual output, but you do get some boost from the
extra chain.

- Felix

2019-03-14 13:50:19

by Stanislaw Gruszka

[permalink] [raw]
Subject: Re: [RFC] mt76: add 3dBm for reporting txpower also for 1x1

On Wed, Mar 13, 2019 at 02:38:01PM +0100, Felix Fietkau wrote:
> On 2019-03-13 14:34, Stanislaw Gruszka wrote:
> > It's not clear for my why we should add 3dBm for 2x2 devices
> > and not for 1x1. 3dBm looks rater like minimal txpower and
> > hardware transmit at 3dBm + dev->txpower_cur / 2 .
> >
> > With the change reported txpower value are closer to regulatory
> > values, but honestly I have no idea what should be reported.
> >
> > Perhaps also some better comment should be added.
> >
> > Signed-off-by: Stanislaw Gruszka <[email protected]>
> The reason why we add 3dBm is because using two chains to transmit in
> the worst case (from regulatory point of view) doubles the transmit
> power (= +3dBm). There's no reason to do the same for 1x1.

Do we calculate and show correct txpower for mt76x0 then?

I have mt76x0u 50:3e:aa:a6:5d:32 and iwlmvm 1c:1b:b5:23:cf:58
devices on one laptop at the same location connected to AP.
RSSI values of both stations are quite similar:

Station 50:3e:aa:a6:5d:32 (on wlan0)
inactive time: 4971 ms
rx bytes: 11383
rx packets: 97
tx bytes: 2764
tx packets: 17
tx retries: 3
tx failed: 1
signal: -55 [-65, -55] dBm
signal avg: -57 [-65, -57] dBm
tx bitrate: 65.0 MBit/s MCS 6 short GI
rx bitrate: 6.0 MBit/s
authorized: yes
authenticated: yes
preamble: long
WMM/WME: yes
MFP: no
TDLS peer: no
Station 1c:1b:b5:23:cf:58 (on wlan0)
inactive time: 24261 ms
rx bytes: 11320
rx packets: 121
tx bytes: 2274
tx packets: 11
tx retries: 0
tx failed: 1
signal: -52 [-60, -52] dBm
signal avg: -54 [-59, -55] dBm
tx bitrate: 6.5 MBit/s MCS 0
rx bitrate: 6.0 MBit/s
authorized: yes
authenticated: yes
preamble: long
WMM/WME: yes
MFP: no
TDLS peer: no

On laptop txpower showed by iw for mt76x0u is 17 dBm , for iwlmvm
is 22 dBm (this is value from mac80211, iwlwifi does not implement
.get_txpower() callback).

I do not consider this as big issue though, but can confuse some users.
Apparently confuses me.

Stanislaw